dots/.config/awesome/ui/statusbar/widgets/taglist.lua

83 lines
2.6 KiB
Lua
Raw Normal View History

2023-01-29 02:59:52 -06:00
local awful = require "awful"
2023-04-04 08:43:40 -05:00
local gcolor = require "gears.color"
local phosphor = require "assets.phosphor"
local qbind = require "quarrel.bind"
2023-04-11 17:44:52 -05:00
local qvars = require "quarrel.vars"
local wibox = require "wibox"
2023-01-29 02:59:52 -06:00
2023-04-04 08:43:40 -05:00
return awful.widget.taglist {
2023-01-29 02:59:52 -06:00
screen = screen[1],
filter = awful.widget.taglist.filter.all,
layout = {
2023-04-04 08:43:40 -05:00
spacing = qvars.padding,
2023-01-29 02:59:52 -06:00
layout = wibox.layout.fixed.vertical
},
widget_template = {
2023-04-04 08:43:40 -05:00
widget = wibox.container.place,
valign = "center",
halign = "center",
2023-01-29 02:59:52 -06:00
{
2023-04-04 08:43:40 -05:00
widget = wibox.widget.imagebox,
image = gcolor.recolor_image(phosphor.circle_bold, qvars.colors.fg),
forced_width = qvars.icon_size,
forced_height = qvars.icon_size,
icon = phosphor.dot_fill
2023-01-29 02:59:52 -06:00
},
create_callback = function(self, tag)
2023-04-04 08:43:40 -05:00
-- self.widget.icon = phosphor[next(tag:clients()) and "circle_fill" or "circle_bold"]
2023-01-29 02:59:52 -06:00
self:connect_signal("mouse::enter", function()
if tag.selected then return end
2023-04-04 08:43:40 -05:00
self.widget.image = gcolor.recolor_image(self.widget.icon, qvars.colors.yellow)
2023-01-29 02:59:52 -06:00
end)
self:connect_signal("mouse::leave", function()
if tag.selected then return end
2023-04-04 08:43:40 -05:00
self.widget.image = gcolor.recolor_image(self.widget.icon, qvars.colors.fg)
2023-01-29 02:59:52 -06:00
end)
2023-04-04 08:43:40 -05:00
if tag.selected then
self.widget.image = gcolor.recolor_image(self.widget.icon, qvars.colors.yellow)
return
end
self.widget.image = gcolor.recolor_image(self.widget.icon, qvars.colors.fg)
2023-01-29 02:59:52 -06:00
end,
update_callback = function(self, tag)
2023-04-04 08:43:40 -05:00
-- self.widget.icon = phosphor[next(tag:clients()) and "circle_fill" or "circle_bold"]
2023-01-29 02:59:52 -06:00
if tag.selected then
2023-04-04 08:43:40 -05:00
self.widget.image = gcolor.recolor_image(self.widget.icon, qvars.colors.yellow)
2023-01-29 02:59:52 -06:00
else
2023-04-04 08:43:40 -05:00
self.widget.image = gcolor.recolor_image(self.widget.icon, qvars.colors.fg)
2023-01-29 02:59:52 -06:00
end
end
},
buttons = {
2023-04-04 08:43:40 -05:00
qbind:new {
triggers = qvars.btns.left,
press = function(t)
t:view_only()
end,
hidden = true
},
qbind:new {
mods = qvars.mods.M,
triggers = qvars.btns.left,
press = function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end,
hidden = true
},
qbind:new {
triggers = qvars.btns.right,
press = awful.tag.viewtoggle,
hidden = true
},
2023-01-29 02:59:52 -06:00
}
2023-04-04 08:43:40 -05:00
}