This repository has been archived on 2025-07-31. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dotfiles/.config/awesome/screen/wibar/tasklist.lua
2022-04-14 00:35:06 +03:00

85 lines
2.6 KiB
Lua

local gears = require("gears")
local awful = require("awful")
local wibox = require("wibox")
local beautiful = require("beautiful")
local tasklist_buttons =
gears.table.join(
awful.button(
{},
1,
function(c)
if c == client.focus then
c.minimized = true
else
c:emit_signal("request::activate", "tasklist", {raise = true})
end
end
)
)
function tasklist(s)
return awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = tasklist_buttons,
style = {
--disable_task_name = true
},
layout = {
spacing = 5,
spacing_widget = {
valign = 'center',
halign = 'center',
widget = wibox.container.place,
},
layout = wibox.layout.fixed.horizontal
},
widget_template = {
{
{
{
{
id = 'icon_role',
widget = wibox.widget.imagebox,
},
top = 2,
bottom = 2,
right = 3,
widget = wibox.container.margin,
},
{
id = 'text_role',
widget = wibox.widget.textbox,
},
layout = wibox.layout.fixed.horizontal,
},
left = 8,
right = 10,
widget = wibox.container.margin
},
id = 'background_role',
widget = wibox.container.background,
create_callback = function(self, c3, index, objects)
self:connect_signal('mouse::enter', function()
if self.bg ~= beautiful.tasklist_bg_focus then
self.backup = self.bg
self.has_backup = true
end
self.bg = beautiful.tasklist_bg_focus
-- Raise client
c3:emit_signal(
"request::activate",
"tasklist", {
raise = true
}
)
end)
self:connect_signal('mouse::leave', function()
if self.has_backup then self.bg = self.backup end
end)
end,
},
}
end