X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/e81f46950b39319aab9b41cce38e11751a06dba1..233768f0963167af1d2621d10157cd64a87c904c:/util/quake.lua diff --git a/util/quake.lua b/util/quake.lua index e323732..f41447f 100644 --- a/util/quake.lua +++ b/util/quake.lua @@ -7,14 +7,11 @@ --]] local awful = require("awful") -local capi = { client = client } - -local math = { floor = math.floor } -local string = { format = string.format } - +local client = client +local math = math +local string = string local pairs = pairs local screen = screen - local setmetatable = setmetatable -- Quake-like Dropdown application spawn @@ -63,7 +60,7 @@ function quake:display() client.floating = true client.border_width = self.border client.size_hints_honor = false - client:geometry(self.geometry[self.screen] or self:compute_size()) + client:geometry(self.geometry[self.screen.index] or self:compute_size()) -- Set not sticky and on top client.sticky = false @@ -80,7 +77,7 @@ function quake:display() client:raise() self.last_tag = self.screen.selected_tag client:tags({self.screen.selected_tag}) - capi.client.focus = client + client.focus = client else client.hidden = true local ctags = client:tags() @@ -95,12 +92,12 @@ end function quake:compute_size() -- skip if we already have a geometry for this screen - if not self.geometry[self.screen] then + if not self.geometry[self.screen.index] then local geom if not self.overlap then - geom = screen[self.screen].workarea + geom = screen[self.screen.index].workarea else - geom = screen[self.screen].geometry + geom = screen[self.screen.index].geometry end local width, height = self.width, self.height if width <= 1 then width = math.floor(geom.width * width) - 2 * self.border end @@ -112,9 +109,9 @@ function quake:compute_size() if self.vert == "top" then y = geom.y elseif self.vert == "bottom" then y = geom.height + geom.y - height else y = geom.y + (geom.height - height)/2 end - self.geometry[self.screen] = { x = x, y = y, width = width, height = height } + self.geometry[self.screen.index] = { x = x, y = y, width = width, height = height } end - return self.geometry[self.screen] + return self.geometry[self.screen.index] end function quake:new(config) @@ -140,12 +137,12 @@ function quake:new(config) local dropdown = setmetatable(conf, { __index = quake }) - capi.client.connect_signal("manage", function(c) + client.connect_signal("manage", function(c) if c.instance == dropdown.name and c.screen == dropdown.screen then dropdown:display() end end) - capi.client.connect_signal("unmanage", function(c) + client.connect_signal("unmanage", function(c) if c.instance == dropdown.name and c.screen == dropdown.screen then dropdown.visible = false end