feat: descriptions for hyprland binds

This commit is contained in:
2026-07-11 09:12:24 +02:00
parent b11a8f82c6
commit c51f60064e
10 changed files with 127 additions and 92 deletions
+10 -10
View File
@@ -3,19 +3,19 @@ local function exit_submap()
end
-- TODO: Update this for laptop
hl.bind("code:232", hl.dsp.exec_cmd("brightnessctl -S"))
hl.bind("code:232", hl.dsp.exec_cmd("brightnessctl -S"), { description = "Doesn't do anything yet" })
-- bind = ,code:232, exec, light -U 5 && notify-send 'Display brightness decreased by 5%'
-- bind = ,code:233, exec, light -A 5 && notify-send 'Display brightness increased by 5%'
hl.bind("code:123", hl.dsp.exec_cmd("pamixer -i 5"))
hl.bind("code:122", hl.dsp.exec_cmd("pamixer -d 5"))
hl.bind("code:121", hl.dsp.exec_cmd("pamixer t"))
hl.bind("code:123", hl.dsp.exec_cmd("pamixer -i 5"), { description = "Increase volume by 5%" })
hl.bind("code:122", hl.dsp.exec_cmd("pamixer -d 5"), { description = "Decrease volume by 5%" })
hl.bind("code:121", hl.dsp.exec_cmd("pamixer t"), { description = "Open mixer" })
hl.define_submap("device", function()
hl.bind("m", function()
hl.dispatch(hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
exit_submap()
end)
end, { description = "Toggle mute for default audio input device" })
-- Touchpad
hl.bind("SHIFT + T", function()
@@ -24,33 +24,33 @@ hl.define_submap("device", function()
enabled = false,
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Disabled Trackpad' --app-name='Hyprctl'"))
end)
end, { description = "Disable trackpad" })
hl.bind("T", function()
hl.device({
name = "pnp0c50:00-093a:0255-touchpad",
enabled = true,
})
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Enabled Trackpad' --app-name='Hyprctl'"))
end)
end, { description = "Enable trackpad" })
-- ── DMS controls ─────────────────────────────────────────────────
-- clipboard history
hl.bind("h", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
exit_submap()
end)
end, { description = "Toggle clipboard history panel" })
-- Dash
hl.bind("d", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call dash toggle"))
exit_submap()
end)
end, { description = "Toggle DMS dash (top left)" })
-- Settings
hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call settings toggle"))
exit_submap()
end)
end, { description = "Toggle DMS settings" })
hl.bind("Escape", function()
exit_submap()
+3 -3
View File
@@ -10,20 +10,20 @@ hl.define_submap("groupedlaunch", function()
hl.exec_cmd("kitty ~/projects/eth/projects/eyetap/frontend/", { workspace = 10 })
hl.exec_cmd("librewolf http://localhost:8081")
exit_submap()
end)
end, { description = "Launch programs for EYE-TAP development" })
hl.bind("s", function()
hl.exec_cmd("kitty ~/projects/eth/eth-summaries/", { workspace = 1 })
hl.exec_cmd("kitty ~/NextCloud/Documents/ETH/Semester4/", { workspace = 3 })
exit_submap()
end)
end, { description = "Launch programs to write ETH summaries" })
hl.bind("b", function()
hl.exec_cmd("alvr_dashboard", { workspace = 1 })
hl.exec_cmd("/opt/BSManager/bs-manager", { workspace = 2 })
hl.exec_cmd("steam", { workspace = 3 })
exit_submap()
end)
end, { description = "Launch everything for BeatSaber" })
hl.bind("Escape", function()
exit_submap()
+6 -6
View File
@@ -8,33 +8,33 @@ hl.define_submap("groups", function()
hl.bind("c", function()
hl.dispatch(hl.dsp.group.toggle())
exit_submap()
end)
end, { description = "Toggle group" })
hl.bind("l", function()
hl.dispatch(hl.dsp.group.next())
exit_submap()
end)
end, { description = "Go to next group" })
hl.bind("h", function()
hl.dispatch(hl.dsp.group.prev())
exit_submap()
end)
end, { description = "Go to previous group" })
hl.bind("CTRL + L", function()
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Group locking toggled' --app-name='Hyprtclt'"))
hl.dispatch(hl.dsp.group.lock_active())
exit_submap()
end)
end, { description = "Toggle group lock" })
hl.bind("SHIFT + L", function()
hl.dispatch(hl.dsp.window.move({ into_or_create_group = "r" }))
exit_submap()
end)
end, { description = "Move window into group to right" })
hl.bind("SHIFT + H", function()
hl.dispatch(hl.dsp.window.move({ into_or_create_group = "l" }))
exit_submap()
end)
end, { description = "Move window into group to left" })
hl.bind("Escape", function()
exit_submap()
+13 -13
View File
@@ -13,38 +13,38 @@ hl.bind("SUPER + Return", launcher("kitty"))
hl.define_submap("launch", function()
-- Librewolf
hl.bind("l", launcher("librewolf"))
hl.bind("l", launcher("librewolf"), { description = "Launch Librewolf" })
-- Steam
hl.bind("s", launcher("steam"))
hl.bind("s", launcher("steam"), { description = "Launch Steam" })
-- Discord
hl.bind("d", launcher("vesktop"))
hl.bind("d", launcher("vesktop"), { description = "Launch Discord" })
-- Kitty
hl.bind("k", launcher("kitty"))
hl.bind("Return", launcher("kitty"))
hl.bind("k", launcher("kitty"), { description = "Launch kitty" })
hl.bind("Return", launcher("kitty"), { description = "Launch kitty" })
-- Filezilla
hl.bind("f", launcher("filezilla"))
hl.bind("f", launcher("filezilla"), { description = "Launch Filezilla" })
-- Thunderbird
hl.bind("t", launcher("thunderbird"))
hl.bind("t", launcher("thunderbird"), { description = "Launch Thunderbird" })
-- Zathura
hl.bind("z", launcher("zathura"))
hl.bind("z", launcher("zathura"), { description = "Launch Zathura (pdf)" })
-- Brave
hl.bind("SHIFT + B", launcher("brave"))
hl.bind("SHIFT + B", launcher("brave"), { description = "Launch Brave" })
-- bsmanager
hl.bind("b", launcher("/opt/BSManager/bs-manager"))
hl.bind("b", launcher("/opt/BSManager/bs-manager"), { description = "Launch BSManager" })
-- ALVR
hl.bind("p", launcher("alvr_dashboard"))
hl.bind("p", launcher("alvr_dashboard"), { description = "Launch ALVR" })
-- Qalculate
hl.bind("c", launcher("qalculate-qt"))
hl.bind("c", launcher("qalculate-qt"), { description = "Launch Qalculate!" })
-- AirPlay
hl.bind("a", function()
@@ -55,7 +55,7 @@ hl.define_submap("launch", function()
)
)
exit_submap()
end)
end, { description = "Launch AirPlay server" })
-- Escape
hl.bind("Escape", function()
+14 -13
View File
@@ -1,14 +1,15 @@
hl.bind("SUPER + X", hl.dsp.submap("launch"))
hl.bind("SUPER + D", hl.dsp.submap("device"))
hl.bind("SUPER + C", hl.dsp.submap("notifications"))
hl.bind("SUPER + G", hl.dsp.submap("groups"))
hl.bind("SUPER + S", hl.dsp.submap("screenshot"))
hl.bind("SUPER + W", hl.dsp.submap("window"))
hl.bind("SUPER + A", hl.dsp.submap("workspace"))
hl.bind("SUPER + Q", hl.dsp.window.close())
hl.bind("SUPER + P", hl.dsp.submap("groupedlaunch"))
hl.bind("SUPER + X", hl.dsp.submap("launch"), { description = "Launching programs" })
hl.bind("SUPER + D", hl.dsp.submap("device"), { description = "Device controls" })
hl.bind("SUPER + C", hl.dsp.submap("notifications"), { description = "Notifications management" })
hl.bind("SUPER + G", hl.dsp.submap("groups"), { description = "Window group management" })
hl.bind("SUPER + S", hl.dsp.submap("screenshot"), { description = "Screenshots" })
hl.bind("SUPER + W", hl.dsp.submap("window"), { description = "Window management" })
hl.bind("SUPER + A", hl.dsp.submap("workspace"), { description = "Workspace controls" })
hl.bind("SUPER + P", hl.dsp.submap("groupedlaunch"), { description = "Launch groups of programs" })
hl.bind("SUPER + Q", hl.dsp.window.close(), { description = "Close active window" })
hl.bind("SUPER + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
hl.bind("SUPER + Escape", hl.dsp.exec_cmd("wlogout"))
hl.bind("SUPER + I", hl.dsp.exec_cmd("dms ipc call control-center open"))
hl.bind("SUPER + CTRL + H", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland"))
hl.bind("SUPER + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"), { description = "Toggle app launcher" })
hl.bind("SUPER + SHIFT + Space", hl.dsp.exec_cmd("dms ipc call spotlight-bar toggle"), { description = "Toggle app launcher as small bar" })
hl.bind("SUPER + Escape", hl.dsp.exec_cmd("wlogout"), { description = "Toggle logout screen" })
hl.bind("SUPER + I", hl.dsp.exec_cmd("dms ipc call control-center open"), { description = "Toggle control centre" })
hl.bind("SUPER + CTRL + H", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland"), { description = "Toggle keybinds panel" })
+6 -6
View File
@@ -6,32 +6,32 @@ hl.define_submap("notifications", function()
hl.bind("c", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications dismissAllPopups"))
exit_submap()
end)
end, { description = "Hide notifications" })
hl.bind("d", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications clearAll"))
exit_submap()
end)
end, { description = "Delete all notifications" })
hl.bind("m", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggleDoNotDisturb"))
exit_submap()
end)
end, { description = "Toggle Do Not Disturb" })
hl.bind("h", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications close"))
exit_submap()
end)
end, { description = "Close notification panel" })
hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications open"))
exit_submap()
end)
end, { description = "Open notification panel" })
hl.bind("t", function()
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggle"))
exit_submap()
end)
end, { description = "Toggle notification panel" })
hl.bind("Escape", function()
exit_submap()
+6 -6
View File
@@ -6,32 +6,32 @@ hl.define_submap("screenshot", function()
hl.bind("y", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-file"))
exit_submap()
end)
end, { description = "Take sceenshot of are and Yank" })
hl.bind("c", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot"))
exit_submap()
end)
end, { description = "Take screenshot of area, yank and save" })
hl.bind("s", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-clipboard"))
exit_submap()
end)
end, { description = "Take screenshot of area and Save" })
hl.bind("SHIFT + y", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-file"))
exit_submap()
end)
end, { description = "Take screenshot and Yank" })
hl.bind("SHIFT + c", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full"))
exit_submap()
end)
end, { description = "Take sceenshot, yank and save" })
hl.bind("SHIFT + s", function()
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-clipboard"))
exit_submap()
end)
end, { description = "Take screenshot and Save" })
hl.bind("Escape", function()
exit_submap()
+10 -10
View File
@@ -10,42 +10,42 @@ hl.define_submap("window", function()
hl.bind("x", function()
hl.dispatch(hl.dsp.window.close())
exit_submap()
end)
end, { description = "Close active window" })
hl.bind("q", function()
hl.dispatch(hl.dsp.window.close())
exit_submap()
end)
end, { description = "Close active window" })
-- Fullscreen
hl.bind("f", function()
hl.dispatch(hl.dsp.window.fullscreen({ mode = "fullscreen" }))
exit_submap()
end)
end, { description = "Toggle fullscreen" })
-- Floating
hl.bind("v", function()
hl.dispatch(hl.dsp.window.float())
exit_submap()
end)
end, { description = "Toggle floating" })
-- Center
hl.bind("c", function()
hl.dispatch(hl.dsp.window.center())
exit_submap()
end)
end, { description = "Centre window (when floating)" })
-- Kill
hl.bind("SHIFT + K", function()
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Insta-Kill activated' --app-name='Hyprtclt'"))
hl.dispatch(hl.dsp.exec_cmd("hyprctl kill"))
exit_submap()
end)
end, { description = "Activate insta-kill" })
-- Resize
hl.bind("l", hl.dsp.window.resize({ x = 10, y = 0 }))
hl.bind("h", hl.dsp.window.resize({ x = -10, y = 0 }))
hl.bind("j", hl.dsp.window.resize({ x = 0, y = 10 }))
hl.bind("k", hl.dsp.window.resize({ x = 0, y = -10 }))
hl.bind("l", hl.dsp.window.resize({ x = 10, y = 0 }), { description = "Increase size horizontally" })
hl.bind("h", hl.dsp.window.resize({ x = -10, y = 0 }), { description = "Decrease size horizontally" })
hl.bind("j", hl.dsp.window.resize({ x = 0, y = 10 }), { description = "Increase size vertically" })
hl.bind("k", hl.dsp.window.resize({ x = 0, y = -10 }), { description = "Decrease size vertically" })
hl.bind("Escape", function()
exit_submap()
+50 -18
View File
@@ -3,34 +3,66 @@ local function exit_submap()
end
for i = 1, 10, 1 do
hl.bind("SUPER + " .. tostring(i % 10), hl.dsp.focus({ workspace = tostring(i) }))
hl.bind("SUPER + SHIFT + " .. tostring(i % 10), hl.dsp.window.move({ workspace = tostring(i), follow = 1 }))
hl.bind(
"SUPER + " .. tostring(i % 10),
hl.dsp.focus({ workspace = tostring(i) }),
{ description = "Go to workspace " .. tostring(i) }
)
hl.bind(
"SUPER + SHIFT + " .. tostring(i % 10),
hl.dsp.window.move({ workspace = tostring(i), follow = 1 }),
{ description = "Move window to workspace " .. tostring(i) }
)
end
hl.bind("SUPER + h", hl.dsp.focus({ direction = "l" }))
hl.bind("SUPER + l", hl.dsp.focus({ direction = "r" }))
hl.bind("SUPER + j", hl.dsp.focus({ direction = "d" }))
hl.bind("SUPER + k", hl.dsp.focus({ direction = "u" }))
hl.bind("SUPER + h", hl.dsp.focus({ direction = "l" }), { description = "Focus next window to left" })
hl.bind("SUPER + l", hl.dsp.focus({ direction = "r" }), { description = "Focus next window to right" })
hl.bind("SUPER + j", hl.dsp.focus({ direction = "d" }), { description = "Focus next window below" })
hl.bind("SUPER + k", hl.dsp.focus({ direction = "u" }), { description = "Focus next window above" })
hl.bind("SUPER + M", hl.dsp.workspace.toggle_special("main"))
hl.bind("SUPER + SHIFT + M", hl.dsp.window.move({ workspace = "special:main" }))
hl.bind("SUPER + M", hl.dsp.workspace.toggle_special("main"), { description = "Toggle main special workspace" })
hl.bind(
"SUPER + SHIFT + M",
hl.dsp.window.move({ workspace = "special:main" }),
{ description = "Move window to main special workspace" }
)
hl.define_submap("workspace", function()
for i = 1, 10, 1 do
hl.bind(tostring(i % 10), hl.dsp.focus({ workspace = tostring(i) }))
hl.bind("SHIFT + " .. tostring(i % 10), hl.dsp.window.move({ workspace = tostring(i), follow = 1 }))
hl.bind(
tostring(i % 10),
hl.dsp.focus({ workspace = tostring(i) }),
{ description = "Go to workspace " .. tostring(i) }
)
hl.bind(
"SHIFT + " .. tostring(i % 10),
hl.dsp.window.move({ workspace = tostring(i), follow = 1 }),
{ description = "Move window to workspace " .. tostring(i) }
)
end
hl.bind("h", hl.dsp.focus({ direction = "l" }))
hl.bind("l", hl.dsp.focus({ direction = "r" }))
hl.bind("j", hl.dsp.focus({ direction = "d" }))
hl.bind("k", hl.dsp.focus({ direction = "u" }))
hl.bind("h", hl.dsp.focus({ direction = "l" }), { description = "Focus next window to left" })
hl.bind("l", hl.dsp.focus({ direction = "r" }), { description = "Focus next window to right" })
hl.bind("j", hl.dsp.focus({ direction = "d" }), { description = "Focus next window below" })
hl.bind("k", hl.dsp.focus({ direction = "u" }), { description = "Focus next window above" })
hl.bind("SHIFT + l", hl.dsp.window.move({ workspace = "+1", follow = 1 }))
hl.bind("SHIFT + h", hl.dsp.window.move({ workspace = "-1", follow = 1 }))
hl.bind(
"SHIFT + l",
hl.dsp.window.move({ workspace = "+1", follow = 1 }),
{ description = "Move one workspace up" }
)
hl.bind(
"SHIFT + h",
hl.dsp.window.move({ workspace = "-1", follow = 1 }),
{ description = "Move one workspace down" }
)
hl.bind("M", hl.dsp.workspace.toggle_special("main"))
hl.bind("SHIFT + M", hl.dsp.window.move({ workspace = "special:main" }))
hl.bind("M", hl.dsp.workspace.toggle_special("main"), { description = "Toggle main special workspace" })
hl.bind(
"SHIFT + M",
hl.dsp.window.move({ workspace = "special:main" }),
{ description = "Move window to main special workspace" }
)
hl.bind("Escape", function()
exit_submap()
+2
View File
@@ -37,6 +37,8 @@ rm -rf ~/.config/ags
rm -rf ~/.config/astal
cp -r ./config/* ~/.config
# Makes kitty use the DMS theme config
rm ~/.config/kitty/current-theme.conf
cp ./linters/indentconfig_import.yaml ~/.indentconfig.yaml
confirmation=""