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 wibox = require('wibox')
local gears = require('gears') local gears = require('gears')
local utf8 = require("utf8") local utf8 = require("utf8")
local clickable_container = require('widgets.clickable-container')
local pl = require("powerline") local pl = require("powerline")
local theme = require("theme") local theme = require("theme")
@ -42,12 +41,7 @@ local function create_buttons(buttons, object)
local btn = capi.button {modifiers = b.modifiers, button = b.button} local btn = capi.button {modifiers = b.modifiers, button = b.button}
btn:connect_signal('press', btn:connect_signal('press',
function() function()
b:emit_signal('press', object) object.minimized = not object.minimized
end
)
btn:connect_signal('release',
function()
b:emit_signal('release', object)
end end
) )
btns[#btns + 1] = btn btns[#btns + 1] = btn
@ -67,10 +61,10 @@ local function list_update(w, buttons, label, data, objects)
end end
for i, o in ipairs(objects) do for i, o in ipairs(objects) do
index = index + 1 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() ib = wibox.widget.imagebox()
tb = wibox.widget.textbox() 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 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 = 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, 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) o.kill(o)
end end
))) )))
bg_clickable = clickable_container()
bgb = wibox.container.background() bgb = wibox.container.background()
tbm = wibox.container.margin(tb, dpi(4), dpi(4)) 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 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 if (index % 2 == 0) then
local end_color = (count == index or objects[index+1].minimized) and "#12151c" or theme.top_panel_powerline 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 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 else
local end_color = (count == index or objects[index+1].minimized) and "#12151c" or theme.bg_normal 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 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 end
-- And all of this gets a background
bgb:set_widget(bg_clickable)
l:buttons(create_buttons(buttons, o)) l:buttons(create_buttons(buttons, o))