wip(keys): macOS-style key layers for the Corne

Points dot_config/hypr at its mac-binding branch (Command layer on SUPER,
window management on ALT, screenshots on SUPER + CTRL + S, apps on the CAG
layer) and documents it, with the Ghostty side on prdlk/ghostty's
mac-binding branch. The scratchpad resident becomes a kitty
(kitty-scratch), skipped by terminal cycling. Work in progress.
This commit is contained in:
root committed 2026-11-12 14:00:16 -05:00
1 parent ae4a7790b6
commit ffdc71b5cd
8 files changed
+118 -73

No files matched your search

+15 -3
View File
@@ -72,11 +72,10 @@ Closing a window only detaches its session; the shells keep running in the tmux
| `ctrl+shift+g` | `prefix g` | Lazygit in a 90% popup, pane cwd |
| `ctrl+shift+w` | `prefix k` | Kill window (close tab) |
| `ctrl+shift+r` | `prefix r` | Rename window |
| `ctrl+tab` / `ctrl+page_down` / `ctrl+shift+right` / `ctrl+shift+k` | `prefix n` | Next window |
| `ctrl+tab` / `ctrl+page_down` / `ctrl+shift+right` / `ctrl+shift+l` / `ctrl+shift+k` | `prefix n` | Next window |
| `ctrl+shift+tab` / `ctrl+page_up` / `ctrl+shift+left` / `ctrl+shift+h` | `prefix p` | Previous window |
| `ctrl+shift+l` | `prefix v` | Split right |
| `ctrl+shift+j` | `prefix h` | Split below |
| `ctrl+shift+o` / `super+enter` | `prefix o` | Sessions palette: switch session or window, or create one through zoxide |
| `ctrl+shift+o` | `prefix o` | Sessions palette: switch session or window, or create one through zoxide |
| `ctrl+shift+x` | `prefix x` | Kill pane |
| `ctrl+shift+enter` / `ctrl+shift+z` | `prefix z` | Zoom pane |
| `ctrl+shift+page_up` | `prefix [` | Copy mode |
@@ -86,6 +85,19 @@ Closing a window only detaches its session; the shells keep running in the tmux
| `ctrl+shift+a`, `ctrl+shift+s` | `prefix S` | Toggle the [workmux](../tools/workmux.md) agent sidebar (all sessions); the session/window tree stays on `prefix s`. The [Workmux palette](../shell/scripts.md#workmux-palette) has no chord: `prefix w`, or `ctrl+s` inside the sidebar |
| `ctrl+shift+q` | `prefix d` | Detach (closes the Ghostty window; the session lives on) |
### Super chords
`super` is the Corne's right thumb (`RGui`, Cmd on macOS). Hyprland's [Command layer](../desktop/hyprland.md#command-layer-commandlua) turns `SUPER + key` (and `SUPER + SHIFT + key`) into `ctrl+shift+key` when Ghostty is focused, so every `ctrl+shift` chord in the table above is also a `super` chord: `super+t` new tmux window, `super+w` close it, `super+c` / `super+v` copy / paste, `super+o` excepted (Hyprland keeps it for the next monitor). It forwards only the `ctrl+shift` chords this config binds; Ghostty would pass an unbound one on as a CSI-u key for the program to interpret. Hyprland reads the list from this file when it loads, so run `hyprctl reload` after adding a `ctrl+shift` bind. Plain `ctrl` stays the terminal's (`Ctrl+C` SIGINT, `ctrl+b` the tmux prefix).
Bound for the `super` side only:
| Key (`super` equivalent) | Sends / action | tmux action |
| --- | --- | --- |
| `ctrl+shift+1` … `ctrl+shift+9` (`super+1` … `super+9`) | `prefix 1` … `prefix 9` | Select window N |
| `ctrl+shift+equal` / `ctrl+shift+minus` / `ctrl+shift+0` (`super+=` / `super+-` / `super+0`) | Font size +1 / -1 / reset | — |
`super+enter` becomes `ctrl+shift+enter` (zoom pane); the Sessions palette stays on `ctrl+shift+o`. `super+shift+enter` (`new_window`) is not translated by Hyprland and opens a new Ghostty window, so a new tmux session.
## Themes
| Theme | Notes |