add long-press support
This commit is contained in:
parent
9c7d068dd0
commit
526dfd4c4b
@ -1,6 +1,6 @@
|
|||||||
# popupswitcher
|
# popupswitcher
|
||||||
|
|
||||||
Popup tasklist switcher for awesomewm
|
Popup tasklist switcher for awesomewm. Requires [awesome-longpress](https://git.shadowkat.net/izaya/awesome-longpress)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
`require` the library:
|
`require` the library:
|
||||||
|
37
init.lua
37
init.lua
@ -2,13 +2,15 @@ local awful = require("awful")
|
|||||||
local wibox = require("wibox")
|
local wibox = require("wibox")
|
||||||
local gears = require("gears")
|
local gears = require("gears")
|
||||||
local beautiful = require("beautiful")
|
local beautiful = require("beautiful")
|
||||||
|
local longpress = require("awesome-longpress")
|
||||||
local switcherpopup = {
|
local switcherpopup = {
|
||||||
iconSize = 128,
|
iconSize = 128,
|
||||||
systraySize = 64,
|
systraySize = 64,
|
||||||
buttonSize = 96,
|
buttonSize = 96,
|
||||||
spacing = 5,
|
spacing = 5,
|
||||||
defaultLayout = awful.layout.suit.max,
|
defaultLayout = awful.layout.suit.max,
|
||||||
iconPath = gears.filesystem.get_configuration_dir() .. "/awesome-switcherpopup/"
|
iconPath = gears.filesystem.get_configuration_dir() .. "/awesome-switcherpopup/",
|
||||||
|
batteryPath = "/sys/class/power_supply/pad-battery/"
|
||||||
}
|
}
|
||||||
function switcherpopup.nextTagName(s)
|
function switcherpopup.nextTagName(s)
|
||||||
print(#s.tags, #s.tags+1)
|
print(#s.tags, #s.tags+1)
|
||||||
@ -26,7 +28,7 @@ function switcherpopup.new(s)
|
|||||||
local tagindex = wibox.widget({widget = wibox.widget.textbox, align = "center"})
|
local tagindex = wibox.widget({widget = wibox.widget.textbox, align = "center"})
|
||||||
local function updateSwitcherpopup()
|
local function updateSwitcherpopup()
|
||||||
tagindex.text = "Tag: "..tostring(awful.screen.focused().selected_tag.name)
|
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")
|
local fp, fs = io.open(switcherpopup.batteryPath .. "/capacity","rb"), io.open(switcherpopup.batteryPath .. "/status","rb")
|
||||||
if fp and fs then
|
if fp and fs then
|
||||||
local status = fs:read()
|
local status = fs:read()
|
||||||
tagindex.text = string.format("Battery: %s%%%s\n%s", fp:read(), status == "Charging" and "+" or "-", tagindex.text)
|
tagindex.text = string.format("Battery: %s%%%s\n%s", fp:read(), status == "Charging" and "+" or "-", tagindex.text)
|
||||||
@ -83,6 +85,21 @@ function switcherpopup.new(s)
|
|||||||
end)
|
end)
|
||||||
))
|
))
|
||||||
local prev_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-previous.png"}), "center", "center")
|
local prev_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-previous.png"}), "center", "center")
|
||||||
|
longpress.add(prev_tag_button, function()
|
||||||
|
awful.tag.viewprev(s)
|
||||||
|
popup.visible = false
|
||||||
|
end, function()
|
||||||
|
if s.clients[1] and s.selected_tag then
|
||||||
|
local nextTag = s.selected_tag.index-1
|
||||||
|
if nextTag < 1 then nextTag = #s.tags end
|
||||||
|
s.clients[1]:move_to_tag(s.tags[nextTag])
|
||||||
|
popup.visible = false
|
||||||
|
error("move attempted")
|
||||||
|
end
|
||||||
|
error("move failed?")
|
||||||
|
end)
|
||||||
|
|
||||||
|
--[[
|
||||||
prev_tag_button:buttons(gears.table.join(
|
prev_tag_button:buttons(gears.table.join(
|
||||||
prev_tag_button:buttons(),
|
prev_tag_button:buttons(),
|
||||||
awful.button({}, 1, nil, function()
|
awful.button({}, 1, nil, function()
|
||||||
@ -90,7 +107,22 @@ function switcherpopup.new(s)
|
|||||||
popup.visible = false
|
popup.visible = false
|
||||||
end)
|
end)
|
||||||
))
|
))
|
||||||
|
]]
|
||||||
local next_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-next.png"}), "center", "center")
|
local next_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-next.png"}), "center", "center")
|
||||||
|
longpress.add(next_tag_button, function()
|
||||||
|
awful.tag.viewnext(s)
|
||||||
|
popup.visible = false
|
||||||
|
end, function()
|
||||||
|
if s.clients[1] and s.selected_tag then
|
||||||
|
local nextTag = s.selected_tag.index+1
|
||||||
|
if nextTag > #s.tags then nextTag = 1 end
|
||||||
|
s.clients[1]:move_to_tag(s.tags[nextTag])
|
||||||
|
popup.visible = false
|
||||||
|
error("move attempted")
|
||||||
|
end
|
||||||
|
error("move failed?")
|
||||||
|
end)
|
||||||
|
--[[
|
||||||
next_tag_button:buttons(gears.table.join(
|
next_tag_button:buttons(gears.table.join(
|
||||||
next_tag_button:buttons(),
|
next_tag_button:buttons(),
|
||||||
awful.button({}, 1, nil, function()
|
awful.button({}, 1, nil, function()
|
||||||
@ -98,6 +130,7 @@ function switcherpopup.new(s)
|
|||||||
popup.visible = false
|
popup.visible = false
|
||||||
end)
|
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})
|
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_screen(s)
|
||||||
systray:set_horizontal(true)
|
systray:set_horizontal(true)
|
||||||
|
Loading…
Reference in New Issue
Block a user