X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/85ed92417dfca8fbdcfc89b7efb5308edd4d1193..ebefc1e21d71c4b53e27e142cd199f3ec600da9c:/util/quake.lua diff --git a/util/quake.lua b/util/quake.lua index 5a55200..771741e 100644 --- a/util/quake.lua +++ b/util/quake.lua @@ -31,7 +31,7 @@ function quake:display() local i = 0 for c in awful.client.iterate(function (c) -- c.name may be changed! - return c.instance == self.name + return c.instance == self.name end, nil, self.screen) do i = i + 1 @@ -52,18 +52,18 @@ function quake:display() if not client then -- The client does not exist, we spawn it - awful.util.spawn(self.app .. " " .. string.format(self.argname, self.name), - false, self.screen) - self.exist = true + awful.util.spawn(string.format("%s %s %s", self.app, + string.format(self.argname, self.name), self.extra), + false, self.screen) + self.notexist = true return end -- Resize awful.client.floating.set(client, true) - client.border_width = 0 + client.border_width = self.border client.size_hints_honor = false if self.notexist then - -- set default geometry only on first spawn client:geometry(self.geometry) self.notexist = false end @@ -96,17 +96,19 @@ end function quake:new(config) local conf = config or {} - conf.app = conf.app or "xterm" -- application to spawn - conf.name = conf.name or "QuakeDD" -- window name - conf.argname = conf.argname or "-name %s" -- how to specify window name - conf.visible = conf.visible or false -- initially not visible - conf.screen = conf.screen or capi.mouse.screen + conf.app = conf.app or "xterm" -- application to spawn + conf.name = conf.name or "QuakeDD" -- window name + conf.argname = conf.argname or "-name %s" -- how to specify window name + conf.extra = conf.extra or "" -- extra arguments + 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 wibox_height = conf.wibox_height or 18 -- statusbar weight - height = conf.height or 0.25 -- height - width = conf.width or 1 -- width - vert = conf.vert or "top" -- top, bottom or center + height = conf.height or 0.25 -- height + width = conf.width or 1 -- width + vert = conf.vert or "top" -- top, bottom or center horiz = conf.horiz or "center" -- left, right or center -- Compute size @@ -126,19 +128,19 @@ function quake:new(config) capi.client.connect_signal("manage", function(c) if c.instance == console.name and c.screen == console.screen then console:display() - end + end end) capi.client.connect_signal("unmanage", function(c) if c.instance == console.name and c.screen == console.screen then console.visible = false - end - end) + end + end) -- "Reattach" currently running quake application. This is in case awesome is restarted. local reattach = capi.timer { timeout = 0 } reattach:connect_signal("timeout", function() reattach:stop() - console:display() + console:display() end) reattach:start()