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),
|
2023-05-12 09:18:24 -05:00
|
|
|
forced_width = qvars.char_height,
|
|
|
|
forced_height = qvars.char_height,
|
2023-04-04 08:43:40 -05:00
|
|
|
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
|
|
|
}
|