import module
This commit is contained in:
parent
38eba12e91
commit
0cfa97b4c8
BIN
go-next.png
Normal file
BIN
go-next.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
go-previous.png
Normal file
BIN
go-previous.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
124
init.lua
Normal file
124
init.lua
Normal 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
BIN
remove.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 907 B |
BIN
tag-new.png
Normal file
BIN
tag-new.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
window-close.png
Normal file
BIN
window-close.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
Loading…
Reference in New Issue
Block a user