Better minimization when clicking in tasklist

This commit is contained in:
Thomas Avé 2022-07-23 19:24:33 +02:00
parent e526d2f962
commit 20b61f0f67
1 changed files with 5 additions and 14 deletions

View File

@ -14,7 +14,6 @@ local awful = require('awful')
local wibox = require('wibox')
local gears = require('gears')
local utf8 = require("utf8")
local clickable_container = require('widgets.clickable-container')
local pl = require("powerline")
local theme = require("theme")
@ -42,12 +41,7 @@ local function create_buttons(buttons, object)
local btn = capi.button {modifiers = b.modifiers, button = b.button}
btn:connect_signal('press',
function()
b:emit_signal('press', object)
end
)
btn:connect_signal('release',
function()
b:emit_signal('release', object)
object.minimized = not object.minimized
end
)
btns[#btns + 1] = btn
@ -67,10 +61,10 @@ local function list_update(w, buttons, label, data, objects)
end
for i, o in ipairs(objects) do
index = index + 1
local ib, cb, tb, cbm, bgb, tbm, ibm, tt, l, ll, bg_clickable
local ib, cb, tb, cbm, bgb, tbm, ibm, tt, l, ll
ib = wibox.widget.imagebox()
tb = wibox.widget.textbox()
cb = clickable_container(wibox.container.margin(wibox.widget.imagebox(ICON_DIR .. "close.svg"), dpi(9), dpi(9), dpi(9), dpi(9)))
cb = wibox.container.margin(wibox.widget.imagebox(ICON_DIR .. "close.svg"), dpi(9), dpi(9), dpi(9), dpi(9))
cb.shape = gears.shape.circle
cbm = wibox.container.margin(cb, dpi(0), dpi(0), dpi(0), dpi(0)) -- 4, 8 ,12 ,12 -- close button
cbm:buttons(gears.table.join(awful.button({}, 1, nil,
@ -78,7 +72,6 @@ local function list_update(w, buttons, label, data, objects)
o.kill(o)
end
)))
bg_clickable = clickable_container()
bgb = wibox.container.background()
tbm = wibox.container.margin(tb, dpi(4), dpi(4))
ibm = wibox.container.margin(ib, dpi(5), dpi(5), dpi(5), dpi(5)) -- 12 is default top and bottom margin --app icon
@ -95,14 +88,12 @@ local function list_update(w, buttons, label, data, objects)
if (index % 2 == 0) then
local end_color = (count == index or objects[index+1].minimized) and "#12151c" or theme.top_panel_powerline
local main_color = o.minimized and "#12151c" or theme.bg_normal
bg_clickable:set_widget(pl(ll, main_color, end_color, true))
bgb:set_widget(pl(ll, main_color, end_color, true))
else
local end_color = (count == index or objects[index+1].minimized) and "#12151c" or theme.bg_normal
local main_color = o.minimized and "#12151c" or theme.top_panel_powerline
bg_clickable:set_widget(pl(ll, main_color, end_color, true))
bgb:set_widget(pl(ll, main_color, end_color, true))
end
-- And all of this gets a background
bgb:set_widget(bg_clickable)
l:buttons(create_buttons(buttons, o))