clean up
This commit is contained in:
parent
12d52ce90e
commit
3962e38a90
48
init.lua
48
init.lua
|
@ -118,12 +118,21 @@ local function get_key_input(total)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
local function show_hints(x, y, w, total, s)
|
local function show_popup(x, y, w, h)
|
||||||
|
|
||||||
local hints = {}
|
local hints = {}
|
||||||
local hint_width
|
local hint_width
|
||||||
|
|
||||||
hint_width = w - ( systray_hints.spacing * 2 )
|
local x = math.floor(x)
|
||||||
|
local y = math.floor(y)
|
||||||
|
|
||||||
|
total = math.floor( ( w - ( w % h ) ) / h + 1 )
|
||||||
|
icon_width = math.floor(w / total )
|
||||||
|
|
||||||
|
icons_x = math.floor( x + icon_width / 2)
|
||||||
|
icons_y = math.floor( y + icon_width / 2)
|
||||||
|
|
||||||
|
hint_width = icon_width - ( systray_hints.spacing * 2 )
|
||||||
|
|
||||||
--Decide whether hints should display above or below systray icons.
|
--Decide whether hints should display above or below systray icons.
|
||||||
if y >= 100 then y = y - hint_width else y = y + hint_width end
|
if y >= 100 then y = y - hint_width else y = y + hint_width end
|
||||||
|
@ -183,42 +192,41 @@ local function show_hints(x, y, w, total, s)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local function find_widget_in_wibox(wb, wdg)
|
local function get_geometry(hi)
|
||||||
|
|
||||||
local function get_geometry(hi)
|
|
||||||
local g = gears.matrix.transform_rectangle
|
local g = gears.matrix.transform_rectangle
|
||||||
local x, y, w, h = g(hi:get_matrix_to_device(), 0, 0, hi:get_size())
|
return g(hi:get_matrix_to_device(), 0, 0, hi:get_size())
|
||||||
|
end
|
||||||
|
|
||||||
total = math.floor( ( w - ( w % h) ) / h + 1 )
|
local function find_widget(wb, wdg)
|
||||||
icon_width = math.floor(w / total )
|
|
||||||
icons_x = math.floor( x + icon_width / 2)
|
|
||||||
icons_y = math.floor(y + icon_width / 2)
|
|
||||||
|
|
||||||
show_hints( math.floor(x), math.floor(y), icon_width, total, s )
|
|
||||||
get_key_input(total)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
|
local hierarchy
|
||||||
local function traverse(hi)
|
local function traverse(hi)
|
||||||
if hi:get_widget() == wdg then
|
if hi:get_widget() == wdg then
|
||||||
get_geometry(hi)
|
hierarchy = hi
|
||||||
return
|
|
||||||
end
|
end
|
||||||
for _, child in ipairs(hi:get_children()) do
|
for _, child in ipairs(hi:get_children()) do
|
||||||
traverse(child)
|
traverse(child)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return traverse(wb._drawable._widget_hierarchy)
|
traverse(wb._drawable._widget_hierarchy)
|
||||||
|
return hierarchy
|
||||||
end
|
end
|
||||||
|
|
||||||
systray_hints.run = function ()
|
systray_hints.run = function ()
|
||||||
|
|
||||||
|
local function show_hints()
|
||||||
|
show_popup( get_geometry(find_widget(systray_hints.wibox, systray_hints.systray)) )
|
||||||
|
get_key_input(total)
|
||||||
|
end
|
||||||
|
|
||||||
if not systray_hints.systray.visible then
|
if not systray_hints.systray.visible then
|
||||||
was_hidden = true
|
was_hidden = true
|
||||||
systray_hints.systray.visible = true
|
systray_hints.systray.visible = true
|
||||||
delay(0.05, function () find_widget_in_wibox(systray_hints.wibox, systray_hints.systray) end)
|
delay(0.05, function ()
|
||||||
|
show_hints()
|
||||||
|
end)
|
||||||
else
|
else
|
||||||
find_widget_in_wibox(systray_hints.wibox, systray_hints.systray)
|
show_hints()
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue