-
--[[
-
- Licensed under GNU General Public License v2
- * (c) 2016, Luke Bonham
- * (c) 2015, unknown
-
+
+ Licensed under GNU General Public License v2
+ * (c) 2016, Luke Bonham
+ * (c) 2015, unknown
+
--]]
local awful = require("awful")
function quake:display()
if self.followtag then self.screen = awful.screen.focused() end
+ local toscan = self.screen
+ if self.onlyone then toscan = nil end
-- First, we locate the client
local client = nil
for c in awful.client.iterate(function (c)
-- c.name may be changed!
return c.instance == self.name
- end, nil, self.screen)
+ end, nil, toscan)
do
i = i + 1
if i == 1 then
client.floating = true
client.border_width = self.border
client.size_hints_honor = false
- client:geometry(self:compute_size())
+ client:geometry(self.geometry[self.screen] or self:compute_size())
-- Set not sticky and on top
client.sticky = false
client.above = true
client.skip_taskbar = true
+ -- Additional user settings
+ if self.settings then self.settings(client) end
+
-- Toggle display
if self.visible then
client.hidden = false
conf.border = conf.border or 1 -- client border width
conf.visible = conf.visible or false -- initially not visible
conf.followtag = conf.followtag or false -- spawn on currently focused screen
+ conf.onlyone = conf.onlyone or false -- one instance for all screens
conf.overlap = conf.overlap or false -- overlap wibox
conf.screen = conf.screen or awful.screen.focused()
+ conf.settings = conf.settings
-- If width or height <= 1 this is a proportion of the workspace
conf.height = conf.height or 0.25 -- height