From 487500da0f3d9b989651f14058d106bb5c3873a0 Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Wed, 18 Jul 2012 01:41:58 +0200 Subject: scratch: add support for development revisions of awesome --- scratch/drop.lua | 10 +++++++--- scratch/pad.lua | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/scratch/drop.lua b/scratch/drop.lua index 2c7e214..a547f02 100644 --- a/scratch/drop.lua +++ b/scratch/drop.lua @@ -49,11 +49,15 @@ function toggle(prog, vert, horiz, width, height, sticky, screen) sticky = sticky or false screen = screen or capi.mouse.screen + -- Determine signal usage in this version of awesome + local attach_signal = capi.client.add_signal or capi.client.connect_signal + local detach_signal = capi.client.remove_signal or capi.client.disconnect_signal + if not dropdown[prog] then dropdown[prog] = {} -- Add unmanage signal for scratchdrop programs - capi.client.add_signal("unmanage", function (c) + attach_signal("unmanage", function (c) for scr, cl in pairs(dropdown[prog]) do if cl == c then dropdown[prog][scr] = nil @@ -93,11 +97,11 @@ function toggle(prog, vert, horiz, width, height, sticky, screen) c:raise() capi.client.focus = c - capi.client.remove_signal("manage", spawnw) + detach_signal("manage", spawnw) end -- Add manage signal and spawn the program - capi.client.add_signal("manage", spawnw) + attach_signal("manage", spawnw) awful.util.spawn(prog, false) else -- Get a running client diff --git a/scratch/pad.lua b/scratch/pad.lua index c6f06cd..1208aab 100644 --- a/scratch/pad.lua +++ b/scratch/pad.lua @@ -55,6 +55,10 @@ function pad.set(c, width, height, sticky, screen) sticky = sticky or false screen = screen or capi.mouse.screen + -- Determine signal usage in this version of awesome + local attach_signal = capi.client.add_signal or capi.client.connect_signal + local detach_signal = capi.client.remove_signal or capi.client.disconnect_signal + local function setscratch(c) -- Scratchpad is floating and has no titlebar awful.client.floating.set(c, true); awful.titlebar.remove(c) @@ -80,7 +84,7 @@ function pad.set(c, width, height, sticky, screen) -- Prepare a table for storing clients, if not scratchpad.pad then scratchpad.pad = {} -- add unmanage signal for scratchpad clients - capi.client.add_signal("unmanage", function (c) + attach_signal("unmanage", function (c) for scr, cl in pairs(scratchpad.pad) do if cl == c then scratchpad.pad[scr] = nil end end -- cgit v1.2.3