diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-25 19:14:29 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-25 19:14:29 +0200 |
| commit | 36bda4f820d87cc55cac5bfac165c291316ca606 (patch) | |
| tree | dea84f57d0f94cd289aef5df1e9c37da44750646 /keybinds/shell.qml | |
| parent | 2cbc78d4fcc1f14bc9aba3d27e69a77fbde030a6 (diff) | |
| download | quickshell-36bda4f820d87cc55cac5bfac165c291316ca606.tar.gz quickshell-36bda4f820d87cc55cac5bfac165c291316ca606.zip | |
feat(keybinds): live keybind reminder overlay
Modelled on window-switcher: a Scope with a 1x1 keepalive PanelWindow
plus a LazyLoader'd overlay, opened via IpcHandler (SUPER+k is bound
in a different repo). hyprctl binds -j is asked fresh on every opening
so the list matches whatever Hyprland has loaded, with Binds.group()
from task 1 turning it into the grid's {name, rows} groups.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'keybinds/shell.qml')
| -rw-r--r-- | keybinds/shell.qml | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/keybinds/shell.qml b/keybinds/shell.qml new file mode 100644 index 0000000..7c34bfd --- /dev/null +++ b/keybinds/shell.qml @@ -0,0 +1,26 @@ +// Copyright (C) 2026 Danilo M. <danix@danix.xyz> +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +import Quickshell +import Quickshell.Io + +ShellRoot { + Keybinds { id: keybinds } + + // Bound to SUPER + k in Hyprland: + // `qs -p <this dir> ipc call keybinds toggle` + IpcHandler { + target: "keybinds" + function toggle() { keybinds.toggle(); } + function show() { keybinds.open = true; } + function close() { keybinds.close(); } + } +} |
