mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-08-11 02:21:14 +10:00
Awesome configs for Ben.
This commit is contained in:
Executable → Regular
+13
-13
@@ -1,17 +1,20 @@
|
||||
--[[
|
||||
|
||||
Licensed under GNU General Public License v2
|
||||
* (c) 2016, Luca CPZ
|
||||
* (c) 2016, Luke Bonham
|
||||
* (c) 2015, unknown
|
||||
|
||||
--]]
|
||||
|
||||
local awful = require("awful")
|
||||
local capi = { client = client }
|
||||
local math = math
|
||||
local string = string
|
||||
|
||||
local math = { floor = math.floor }
|
||||
local string = { format = string.format }
|
||||
|
||||
local pairs = pairs
|
||||
local screen = screen
|
||||
|
||||
local setmetatable = setmetatable
|
||||
|
||||
-- Quake-like Dropdown application spawn
|
||||
@@ -60,7 +63,7 @@ function quake:display()
|
||||
client.floating = true
|
||||
client.border_width = self.border
|
||||
client.size_hints_honor = false
|
||||
client:geometry(self.geometry[self.screen.index] or self:compute_size())
|
||||
client:geometry(self.geometry[self.screen] or self:compute_size())
|
||||
|
||||
-- Set not sticky and on top
|
||||
client.sticky = false
|
||||
@@ -92,12 +95,12 @@ end
|
||||
|
||||
function quake:compute_size()
|
||||
-- skip if we already have a geometry for this screen
|
||||
if not self.geometry[self.screen.index] then
|
||||
if not self.geometry[self.screen] then
|
||||
local geom
|
||||
if not self.overlap then
|
||||
geom = screen[self.screen.index].workarea
|
||||
geom = screen[self.screen].workarea
|
||||
else
|
||||
geom = screen[self.screen.index].geometry
|
||||
geom = screen[self.screen].geometry
|
||||
end
|
||||
local width, height = self.width, self.height
|
||||
if width <= 1 then width = math.floor(geom.width * width) - 2 * self.border end
|
||||
@@ -109,9 +112,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.index] = { x = x, y = y, width = width, height = height }
|
||||
self.geometry[self.screen] = { x = x, y = y, width = width, height = height }
|
||||
end
|
||||
return self.geometry[self.screen.index]
|
||||
return self.geometry[self.screen]
|
||||
end
|
||||
|
||||
function quake:new(config)
|
||||
@@ -155,10 +158,7 @@ function quake:toggle()
|
||||
if self.followtag then self.screen = awful.screen.focused() end
|
||||
local current_tag = self.screen.selected_tag
|
||||
if current_tag and self.last_tag ~= current_tag and self.visible then
|
||||
local c=self:display()
|
||||
if c then
|
||||
c:move_to_tag(current_tag)
|
||||
end
|
||||
self:display():move_to_tag(current_tag)
|
||||
else
|
||||
self.visible = not self.visible
|
||||
self:display()
|
||||
|
||||
Reference in New Issue
Block a user