update: add swayosd module
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
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 = CONFIG_HOME .. "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 = {
|
||||||
|
function()
|
||||||
|
bind.key(
|
||||||
|
"XF86MonBrightnessUp",
|
||||||
|
swayosd_client_cmd("--brightness raise"),
|
||||||
|
"Increase brightness ",
|
||||||
|
{ long_press = true, locked = true }
|
||||||
|
)
|
||||||
|
bind.key(
|
||||||
|
"XF86MonBrightnessDown",
|
||||||
|
swayosd_client_cmd("--brightness lower"),
|
||||||
|
"Decrease brightness ",
|
||||||
|
{ long_press = true, locked = true }
|
||||||
|
)
|
||||||
|
bind.key(
|
||||||
|
"XF86AudioRaiseVolume",
|
||||||
|
swayosd_client_cmd("--output-volume raise"),
|
||||||
|
"Increase brightness ",
|
||||||
|
{ long_press = true, locked = true }
|
||||||
|
)
|
||||||
|
bind.key(
|
||||||
|
"XF86AudioLowerVolume",
|
||||||
|
swayosd_client_cmd("--output-volume lower"),
|
||||||
|
"Decrease brightness ",
|
||||||
|
{ long_press = true, locked = true }
|
||||||
|
)
|
||||||
|
bind.key(
|
||||||
|
"XF86AudioMute",
|
||||||
|
swayosd_client_cmd("--output-volume mute-toggle"),
|
||||||
|
"Toggle output mute",
|
||||||
|
{ long_press = true, locked = true }
|
||||||
|
)
|
||||||
|
bind.key(
|
||||||
|
"XF86AudioMicMute",
|
||||||
|
swayosd_client_cmd("--input-volume mute-toggle"),
|
||||||
|
"Toggle input mute",
|
||||||
|
{ long_press = true, locked = true }
|
||||||
|
)
|
||||||
|
bind.key("XF86AudioPlay", swayosd_client_cmd("--playerctl play-pause"), "Player play/pause", { locked = true })
|
||||||
|
bind.key("XF86AudioPause", swayosd_client_cmd("--playerctl pause"), "Player pause", { locked = true })
|
||||||
|
bind.key("XF86AudioNext", swayosd_client_cmd("--playerctl next"), "Player next", { locked = true })
|
||||||
|
bind.key("XF86AudioPrev", swayosd_client_cmd("--playerctl prev"), "Player previous", { locked = true })
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
return M
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=SwayOSD
|
||||||
|
After=graphical-session.target
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/swayosd-server
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
Reference in New Issue
Block a user