refactor: minor fixes
This commit is contained in:
parent
fe9ee01268
commit
9a020ce776
43
init.lua
43
init.lua
|
@ -30,13 +30,12 @@ local capi = {
|
||||||
}
|
}
|
||||||
local delayed_call = require("gears.timer").delayed_call
|
local delayed_call = require("gears.timer").delayed_call
|
||||||
|
|
||||||
local revelation ={}
|
|
||||||
local clientData = {} -- table that holds the positions and sizes of floating clients
|
local clientData = {} -- table that holds the positions and sizes of floating clients
|
||||||
|
|
||||||
charorder = "jkluiopyhnmfdsatgvcewqzx1234567890"
|
local charorder = "jkluiopyhnmfdsatgvcewqzx1234567890"
|
||||||
hintbox = {} -- Table of letter wiboxes with characters as the keys
|
local hintbox = {} -- Table of letter wiboxes with characters as the keys
|
||||||
|
|
||||||
revelation = {
|
local revelation = {
|
||||||
-- Name of expose tag.
|
-- Name of expose tag.
|
||||||
tag_name = "Revelation",
|
tag_name = "Revelation",
|
||||||
|
|
||||||
|
@ -63,7 +62,8 @@ revelation = {
|
||||||
is_excluded = false,
|
is_excluded = false,
|
||||||
curr_tag_only = false,
|
curr_tag_only = false,
|
||||||
font = "monospace 20",
|
font = "monospace 20",
|
||||||
fg = beautiful.fg_normal
|
fg = beautiful.fg_normal,
|
||||||
|
hintsize = beautiful.xresources.apply_dpi(50)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -88,8 +88,8 @@ end
|
||||||
-- @param t The tag to give matching clients.
|
-- @param t The tag to give matching clients.
|
||||||
local function match_clients(rule, clients, t, is_excluded)
|
local function match_clients(rule, clients, t, is_excluded)
|
||||||
local mfc = rule.any and revelation.match.any or revelation.match.exact
|
local mfc = rule.any and revelation.match.any or revelation.match.exact
|
||||||
local mf = is_excluded and function(c,rule) return not mfc(c,rule) end or mfc
|
local mf = is_excluded and function(c,_rule) return not mfc(c,_rule) end or mfc
|
||||||
local k,v, flt
|
local flt
|
||||||
for _, c in pairs(clients) do
|
for _, c in pairs(clients) do
|
||||||
if mf(c, rule) then
|
if mf(c, rule) then
|
||||||
-- Store geometry before setting their tags
|
-- Store geometry before setting their tags
|
||||||
|
@ -122,7 +122,7 @@ end
|
||||||
|
|
||||||
|
|
||||||
function revelation.expose(args)
|
function revelation.expose(args)
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
local rule = args.rule or {}
|
local rule = args.rule or {}
|
||||||
local is_excluded = args.is_excluded or false
|
local is_excluded = args.is_excluded or false
|
||||||
local curr_tag_only = args.curr_tag_only or false
|
local curr_tag_only = args.curr_tag_only or false
|
||||||
|
@ -135,9 +135,6 @@ function revelation.expose(args)
|
||||||
|
|
||||||
|
|
||||||
for scr=1,capi.screen.count() do
|
for scr=1,capi.screen.count() do
|
||||||
|
|
||||||
all_tags = awful.tag.gettags(scr)
|
|
||||||
|
|
||||||
t[scr] = awful.tag.new({revelation.tag_name},
|
t[scr] = awful.tag.new({revelation.tag_name},
|
||||||
scr,
|
scr,
|
||||||
awful.layout.suit.fair)[1]
|
awful.layout.suit.fair)[1]
|
||||||
|
@ -154,10 +151,11 @@ function revelation.expose(args)
|
||||||
|
|
||||||
awful.tag.viewonly(t[scr], t.screen)
|
awful.tag.viewonly(t[scr], t.screen)
|
||||||
end
|
end
|
||||||
delayed_call(function() expose_callback(t, zt) end)
|
delayed_call(function() revelation.expose_callback(t, zt) end)
|
||||||
end
|
end
|
||||||
|
|
||||||
function expose_callback(t, zt)
|
|
||||||
|
function revelation.expose_callback(t, zt)
|
||||||
local hintindex = {} -- Table of visible clients with the hint letter as the keys
|
local hintindex = {} -- Table of visible clients with the hint letter as the keys
|
||||||
local clientlist = awful.client.visible()
|
local clientlist = awful.client.visible()
|
||||||
for i,thisclient in pairs(clientlist) do
|
for i,thisclient in pairs(clientlist) do
|
||||||
|
@ -167,14 +165,13 @@ function expose_callback(t, zt)
|
||||||
hintindex[char] = thisclient
|
hintindex[char] = thisclient
|
||||||
local geom = thisclient:geometry()
|
local geom = thisclient:geometry()
|
||||||
hintbox[char].visible = true
|
hintbox[char].visible = true
|
||||||
hintbox[char].x = math.floor(geom.x + geom.width/2 - hintsize/2)
|
hintbox[char].x = math.floor(geom.x + geom.width/2 - revelation.hintsize/2)
|
||||||
hintbox[char].y = math.floor(geom.y + geom.height/2 - hintsize/2)
|
hintbox[char].y = math.floor(geom.y + geom.height/2 - revelation.hintsize/2)
|
||||||
hintbox[char].screen = thisclient.screen
|
hintbox[char].screen = thisclient.screen
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function restore()
|
local function restore()
|
||||||
local k,v
|
|
||||||
for scr=1, capi.screen.count() do
|
for scr=1, capi.screen.count() do
|
||||||
awful.tag.history.restore(scr)
|
awful.tag.history.restore(scr)
|
||||||
t[scr].screen = nil
|
t[scr].screen = nil
|
||||||
|
@ -219,11 +216,11 @@ function expose_callback(t, zt)
|
||||||
|
|
||||||
local zoomed = false
|
local zoomed = false
|
||||||
local zoomedClient = nil
|
local zoomedClient = nil
|
||||||
local keyPressed = false
|
|
||||||
|
|
||||||
|
local keyPressed = false
|
||||||
capi.keygrabber.run(function (mod, key, event)
|
capi.keygrabber.run(function (mod, key, event)
|
||||||
local c = nil
|
local c
|
||||||
local keyPressed = false
|
keyPressed = false
|
||||||
|
|
||||||
if event == "release" then return true end
|
if event == "release" then return true end
|
||||||
|
|
||||||
|
@ -321,11 +318,9 @@ end
|
||||||
-- Create the wiboxes, but don't show them
|
-- Create the wiboxes, but don't show them
|
||||||
|
|
||||||
function revelation.init(args)
|
function revelation.init(args)
|
||||||
hintsize = beautiful.xresources.apply_dpi(50)
|
|
||||||
local fontcolor = revelation.fg
|
|
||||||
local letterbox = {}
|
local letterbox = {}
|
||||||
|
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
|
|
||||||
revelation.tag_name = args.tag_name or revelation.tag_name
|
revelation.tag_name = args.tag_name or revelation.tag_name
|
||||||
if args.match then
|
if args.match then
|
||||||
|
@ -338,8 +333,8 @@ function revelation.init(args)
|
||||||
local char = charorder:sub(i,i)
|
local char = charorder:sub(i,i)
|
||||||
hintbox[char] = wibox({fg=beautiful.fg_normal, bg=beautiful.bg_focus, border_color=beautiful.border_focus, border_width=beautiful.border_width})
|
hintbox[char] = wibox({fg=beautiful.fg_normal, bg=beautiful.bg_focus, border_color=beautiful.border_focus, border_width=beautiful.border_width})
|
||||||
hintbox[char].ontop = true
|
hintbox[char].ontop = true
|
||||||
hintbox[char].width = hintsize
|
hintbox[char].width = revelation.hintsize
|
||||||
hintbox[char].height = hintsize
|
hintbox[char].height = revelation.hintsize
|
||||||
letterbox[char] = wibox.widget.textbox()
|
letterbox[char] = wibox.widget.textbox()
|
||||||
letterbox[char]:set_markup(
|
letterbox[char]:set_markup(
|
||||||
"<span color=\"" .. revelation.fg .. "\"" .. ">" ..
|
"<span color=\"" .. revelation.fg .. "\"" .. ">" ..
|
||||||
|
|
Loading…
Reference in New Issue