85 lines
2.6 KiB
Lua
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 |