107 lines
2.7 KiB
Lua
107 lines
2.7 KiB
Lua
local settings = require("lua.lib.settings")
|
|
local systemd = require("lua.lib.systemd")
|
|
local utils = require("lua.lib.utils")
|
|
local bind = require("lua.lib.bind")
|
|
require("lua.lib.globals")
|
|
local M = {}
|
|
|
|
local function start_swayosd()
|
|
if settings["systemd"] then
|
|
local unit = "swayosd.service"
|
|
local source = HYPR .. "/systemd/" .. unit
|
|
|
|
if systemd.ensure_user_unit(unit, source) then
|
|
hl.exec_cmd("systemctl --user start swayosd")
|
|
else
|
|
hl.exec_cmd("swayosd-server")
|
|
end
|
|
else
|
|
hl.exec_cmd("swayosd-server")
|
|
end
|
|
end
|
|
|
|
local function stop_swayosd()
|
|
if settings["systemd"] and utils.command_success("systemctl --user status swayosd") then
|
|
hl.exec_cmd("systemctl --user stop swayosd")
|
|
else
|
|
hl.exec_cmd("pkill -9 swayosd-server")
|
|
end
|
|
end
|
|
|
|
M.autostart = {
|
|
start_swayosd,
|
|
}
|
|
|
|
M.autostop = {
|
|
stop_swayosd,
|
|
}
|
|
|
|
local function swayosd_client_cmd(args)
|
|
return hl.dsp.exec_cmd("swayosd-client " .. args)
|
|
end
|
|
|
|
M.binds = {
|
|
{
|
|
keys = "XF86MonBrightnessUp",
|
|
dispatcher = swayosd_client_cmd("--brightness raise"),
|
|
dosc = "Increase brightness ",
|
|
opts = { repeating = true, locked = true },
|
|
},
|
|
{
|
|
keys = "XF86MonBrightnessDown",
|
|
dispatcher = swayosd_client_cmd("--brightness lower"),
|
|
desc = "Decrease brightness ",
|
|
opts = { repeating = true, locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioRaiseVolume",
|
|
dispatcher = swayosd_client_cmd("--output-volume raise"),
|
|
desc = "Increase brightness ",
|
|
opts = { repeating = true, locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioLowerVolume",
|
|
dispatcher = swayosd_client_cmd("--output-volume lower"),
|
|
desc = "Decrease brightness ",
|
|
opts = { repeating = true, locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioMute",
|
|
dispatcher = swayosd_client_cmd("--output-volume mute-toggle"),
|
|
desc = "Toggle output mute",
|
|
opts = { repeating = true, locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioMicMute",
|
|
dispatcher = swayosd_client_cmd("--input-volume mute-toggle"),
|
|
desc = "Toggle input mute",
|
|
opts = { repeating = true, locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioPlay",
|
|
dispatcher = swayosd_client_cmd("--playerctl play-pause"),
|
|
desc = "Player play/pause",
|
|
opts = { locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioPause",
|
|
dispatcher = swayosd_client_cmd("--playerctl pause"),
|
|
desc = "Player pause",
|
|
opts = { locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioNext",
|
|
dispatcher = swayosd_client_cmd("--playerctl next"),
|
|
desc = "Player next",
|
|
opts = { locked = true },
|
|
},
|
|
{
|
|
keys = "XF86AudioPrev",
|
|
dispatcher = swayosd_client_cmd("--playerctl prev"),
|
|
desc = "Player previous",
|
|
opts = { locked = true },
|
|
},
|
|
}
|
|
|
|
return M
|