Merge pull request #221 from sudo-nice/master

quake: allow to pass extra arguments + border width now configurable
This commit is contained in:
Luke Bonham 2016-08-11 13:36:08 +02:00 committed by GitHub
commit 5584f20971

View file

@ -31,7 +31,7 @@ function quake:display()
local i = 0 local i = 0
for c in awful.client.iterate(function (c) for c in awful.client.iterate(function (c)
-- c.name may be changed! -- c.name may be changed!
return c.instance == self.name return c.instance == self.name
end, nil, self.screen) end, nil, self.screen)
do do
i = i + 1 i = i + 1
@ -52,15 +52,15 @@ function quake:display()
if not client then if not client then
-- The client does not exist, we spawn it -- The client does not exist, we spawn it
awful.util.spawn(self.app .. " " .. string.format(self.argname, self.name), awful.util.spawn(self.app .. " " .. string.format(self.argname, self.name) ..
false, self.screen) " " .. self.extra, false, self.screen)
self.notexist = true self.notexist = true
return return
end end
-- Resize -- Resize
awful.client.floating.set(client, true) awful.client.floating.set(client, true)
client.border_width = 0 client.border_width = self.border
client.size_hints_honor = false client.size_hints_honor = false
if self.notexist then if self.notexist then
client:geometry(self.geometry) client:geometry(self.geometry)
@ -95,17 +95,19 @@ end
function quake:new(config) function quake:new(config)
local conf = config or {} local conf = config or {}
conf.app = conf.app or "xterm" -- application to spawn conf.app = conf.app or "xterm" -- application to spawn
conf.name = conf.name or "QuakeDD" -- window name conf.name = conf.name or "QuakeDD" -- window name
conf.argname = conf.argname or "-name %s" -- how to specify window name conf.argname = conf.argname or "-name %s" -- how to specify window name
conf.visible = conf.visible or false -- initially not visible conf.extra = conf.extra or "" -- extra arguments
conf.screen = conf.screen or capi.mouse.screen conf.visible = conf.visible or false -- initially not visible
conf.screen = conf.screen or capi.mouse.screen
conf.border = conf.border or 1
-- If width or height <= 1 this is a proportion of the workspace -- If width or height <= 1 this is a proportion of the workspace
wibox_height = conf.wibox_height or 18 -- statusbar weight wibox_height = conf.wibox_height or 18 -- statusbar weight
height = conf.height or 0.25 -- height height = conf.height or 0.25 -- height
width = conf.width or 1 -- width width = conf.width or 1 -- width
vert = conf.vert or "top" -- top, bottom or center vert = conf.vert or "top" -- top, bottom or center
horiz = conf.horiz or "center" -- left, right or center horiz = conf.horiz or "center" -- left, right or center
-- Compute size -- Compute size
@ -125,19 +127,19 @@ function quake:new(config)
capi.client.connect_signal("manage", function(c) capi.client.connect_signal("manage", function(c)
if c.instance == console.name and c.screen == console.screen then if c.instance == console.name and c.screen == console.screen then
console:display() console:display()
end end
end) end)
capi.client.connect_signal("unmanage", function(c) capi.client.connect_signal("unmanage", function(c)
if c.instance == console.name and c.screen == console.screen then if c.instance == console.name and c.screen == console.screen then
console.visible = false console.visible = false
end end
end) end)
-- "Reattach" currently running quake application. This is in case awesome is restarted. -- "Reattach" currently running quake application. This is in case awesome is restarted.
local reattach = capi.timer { timeout = 0 } local reattach = capi.timer { timeout = 0 }
reattach:connect_signal("timeout", function() reattach:connect_signal("timeout", function()
reattach:stop() reattach:stop()
console:display() console:display()
end) end)
reattach:start() reattach:start()