feat: add keybind cheatsheet plugin (#64)

* feat: add keybind cheatsheet

* docs: refresh keybind cheatsheet preview

* docs: use official generated keybind thumbnail

* feat(keybind-cheatsheet): preload cached snapshots

Move parser and cache ownership into an event-driven data service so the panel opens from a prepared last-known-good snapshot. Document the plugin's inspiration and independent v5 implementation.
This commit is contained in:
cheerfulScumbag
2026-07-21 19:50:47 -04:00
committed by GitHub
parent 17f7b819d3
commit 2a1efe0468
19 changed files with 2985 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
[
{"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":true,"modmask":64,"submap":"","key":"T","keycode":0,"description":"Terminal","dispatcher":"exec","arg":"foot"},
{"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":true,"modmask":64,"submap":"","key":"1","keycode":0,"description":"Workspace 1","dispatcher":"workspace","arg":"1"},
{"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":true,"modmask":0,"submap":"","key":"XF86AudioMute","keycode":0,"description":"Mute","dispatcher":"exec","arg":"wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"},
{"locked":false,"mouse":false,"release":false,"repeat":false,"has_description":false,"modmask":64,"submap":"","key":"Q","keycode":0,"description":"","dispatcher":"killactive","arg":""}
]
+9
View File
@@ -0,0 +1,9 @@
$mainMod = SUPER
source = ./parts/*.conf
# 1. Applications
bind = $mainMod, T, exec, foot #"Terminal"
bindm = $mainMod, mouse:272, movewindow #"Move window"
# 2. Window Management
bind = $mainMod SHIFT, Q, killactive, #"Close window"
+9
View File
@@ -0,0 +1,9 @@
-- 1. Applications
Hyprland.config.bind("SUPER, T", launch_terminal, { description = "Terminal" })
-- 2. Workspaces
for i = 1, 9 do
Hyprland.config.bind("SUPER, " .. i, workspace, { description = "Workspace " .. i })
end
require("parts.media")
@@ -0,0 +1,2 @@
-- 3. Media
Hyprland.config.bind(", XF86AudioMute", mute, { desc = "Mute" })
@@ -0,0 +1,3 @@
# 3. Workspaces
binde = $mainMod, 1, workspace, 1 #"Workspace 1"
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle