quake: add a new option `onlyone`.

This option allows using a single instance of the app with multiple
screens instead of having a separate app for each screen. It works
better if there is only one instance of the quake object, i.e.

  local quake = lain.util.quake({onlyone=true})

and

  awful.key({ modkey, }, "z", function () quake:toggle() end),
This commit is contained in:
Jure Varlec 2017-05-04 11:03:46 +02:00 committed by Luke Bonham
parent 0f2cbcb567
commit 2ddb55bc44
2 changed files with 5 additions and 2 deletions

View File

@ -27,6 +27,8 @@ local quake = {}
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
@ -34,7 +36,7 @@ function quake:display()
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
@ -128,6 +130,7 @@ function quake:new(config)
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

2
wiki

@ -1 +1 @@
Subproject commit 5131d9098ac534b788de8be181b73ad2211d5d2d
Subproject commit 6e7fa1373fe54c6aed9a9dbbe226c62102e4c623