import module

This commit is contained in:
Izaya 2022-03-03 20:20:32 +11:00
parent 38eba12e91
commit 0cfa97b4c8
6 changed files with 124 additions and 0 deletions

BIN
go-next.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
go-previous.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

124
init.lua Normal file
View File

@ -0,0 +1,124 @@
local awful = require("awful")
local wibox = require("wibox")
local gears = require("gears")
local beautiful = require("beautiful")
local switcherpopup = {
iconSize = 128,
systraySize = 64,
buttonSize = 96,
spacing = 5,
defaultLayout = awful.layout.suit.max,
iconPath = gears.filesystem.get_configuration_dir() .. "/switcherpopup/"
}
function switcherpopup.nextTagName(s)
print(#s.tags, #s.tags+1)
return tostring(#s.tags+1)
end
local systray = wibox.widget.systray()
systray:set_base_size(switcherpopup.systraySize)
function switcherpopup.new(s)
local popup = false
local tasklistWidget = wibox.widget{
layout = wibox.layout.grid.vertical(5)
}
local clock = wibox.container.place(wibox.widget.textclock("%H:%M %Y-%m-%d"), "center", "center")
local tagindex = wibox.widget({widget = wibox.widget.textbox, align = "center"})
local function updateSwitcherpopup()
tagindex.text = "Tag: "..tostring(awful.screen.focused().selected_tag.name)
local fp, fs = io.open("/sys/class/power_supply/axp20x-battery/capacity","rb"), io.open("/sys/class/power_supply/axp20x-battery/status","rb")
if fp and fs then
local status = fs:read()
tagindex.text = string.format("Battery: %s%%%s\n%s", fp:read(), status == "Charging" and "+" or "-", tagindex.text)
fp:close()
fs:close()
end
tasklistWidget:reset()
for k,v in pairs(awful.screen.focused().selected_tag:clients()) do
local clientIcon = awful.widget.clienticon(v)
clientIcon:set_forced_width(switcherpopup.iconSize)
clientIcon:set_forced_height(switcherpopup.iconSize)
clientIcon:buttons(gears.table.join(
awful.button({ }, 1, function (c)
v:raise()
popup.visible = false
end)))
if v == client.focus then
tasklistWidget:add(wibox.widget{clientIcon,bg=beautiful.get().tasklist_bg_focus or beautiful.get().bg_focus,widget=wibox.container.background})
else
tasklistWidget:add(clientIcon)
end
end
end
screen.connect_signal("arrange",updateSwitcherpopup)
local close_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/window-close.png"}), "center", "center")
close_button:buttons(gears.table.join(
close_button:buttons(),
awful.button({}, 1, nil, function()
if s.clients[1] then
s.clients[1]:kill()
popup.visible = false
end
end)
))
local create_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/tag-new.png"}), "center", "center")
create_tag_button:buttons(gears.table.join(
create_tag_button:buttons(),
awful.button({}, 1, nil, function()
awful.tag.add(switcherpopup.nextTagName(s), {
screen = s,
layout = switcherpopup.defaultLayout
}):view_only()
popup.visible = false
end)
))
local destroy_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "remove.png"}), "center", "center")
destroy_tag_button:buttons(gears.table.join(
destroy_tag_button:buttons(),
awful.button({}, 1, nil, function()
if #s.tags > 1 then
s.selected_tag:delete()
popup.visible = false
end
end)
))
local prev_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-previous.png"}), "center", "center")
prev_tag_button:buttons(gears.table.join(
prev_tag_button:buttons(),
awful.button({}, 1, nil, function()
awful.tag.viewprev(s)
popup.visible = false
end)
))
local next_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-next.png"}), "center", "center")
next_tag_button:buttons(gears.table.join(
next_tag_button:buttons(),
awful.button({}, 1, nil, function()
awful.tag.viewnext(s)
popup.visible = false
end)
))
local tagbuttons = wibox.widget({layout = wibox.layout.fixed.horizontal, spacing = (switcherpopup.iconSize + switcherpopup.spacing) - switcherpopup.buttonSize, prev_tag_button, create_tag_button, destroy_tag_button, next_tag_button, close_button})
systray:set_screen(s)
systray:set_horizontal(true)
popup = awful.popup {
widget = {layout = wibox.layout.fixed.vertical, clock, tagindex, systray, tasklistWidget, wibox.container.constraint(tagbuttons, min, switcherpopup.buttonSize*5, switcherpopup.buttonSize)},
border_color = beautiful.border_focus,
border_width = 2,
ontop = true,
placement = awful.placement.centered,
visible = false,
}
function popup.show(self)
updateSwitcherpopup()
self.visible = true
end
function popup.hide(self)
self.visible = false
end
function popup.toggle(self)
updateSwitcherpopup()
self.visible = not self.visible
end
return popup
end
return switcherpopup

BIN
remove.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 907 B

BIN
tag-new.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
window-close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB