aboutsummaryrefslogtreecommitdiff
path: root/modules/keyboard-compat.el
Commit message (Collapse)AuthorAgeFilesLines
* refactor(ui-navigation): drop redundant M-S-s window-swap bindingCraig Jennings2026-05-071-2/+0
| | | | `window-swap-states` on M-S-s overlapped with `buffer-move` (C-M-arrows), which I actually use. I cleared the binding plus the M-S -> M-S-s translation in keyboard-compat.el so the keyboard table stays in sync.
* fix: restore daemon icons and consolidate nerd-icons setupCraig Jennings2026-05-071-20/+25
| | | | | | | | | | I replaced the load-time icon-stub block in keyboard-compat with per-call :around advice that checks display-graphic-p against the rendering frame. The old block ran at module-load. Under daemon startup no frame exists yet, so display-graphic-p returned nil and the empty-string stubs installed permanently. Every GUI client connecting to that daemon then saw blanks. The new shape lets one daemon serve real icons to GUI clients and blanks to terminal clients. I also pulled the nerd-icons-completion and nerd-icons-ibuffer integrations, the package install, and a new tint helper into modules/nerd-icons-config.el. Per-feature use stays in the consuming module (dashboard, dirvish, keyboard-compat). The malformed cons-cell on the marginalia hook in selection-framework.el got fixed in the move. Added a default darkgoldenrod tint, a :filter-return advice on nerd-icons-icon-for-dir so dir icons pick up a color face, and a buffer-local face-remap in dired-mode-hook so plain files in dired render in shadow grey. 13 tests across 3 new files cover the per-call gate, the dir-color helper (idempotent under nerd-icons' memoized return strings), and the bulk-tint helper.
* fix(keyboard): support daemon mode for M-S- key translationsCraig Jennings2026-02-091-2/+6
| | | | | | | GUI key translations (M-O → M-S-o, etc.) were never installed in daemon mode because env-gui-p returns nil at startup with no frame. Use server-after-make-frame-hook for daemon, emacs-startup-hook otherwise. Also adds timestamps to assemblyai-transcribe output.
* feat(keyboard): add GUI key translation for M-S- bindingsCraig Jennings2026-02-021-0/+170
Rename terminal-compat.el to keyboard-compat.el and add GUI support. Problem: M-S-o and other Meta+Shift bindings didn't work in GUI mode. GUI Emacs receives M-O (uppercase) but bindings use M-S-o syntax. Terminal can't use M-O due to arrow key escape sequence conflicts. Solution: Use key-translation-map in GUI mode to translate M-O -> M-S-o for all 18 Meta+Shift keybindings. Terminal fixes unchanged. Also fix two test issues: - Remove expected-fail from expand-weekly test (timezone fix resolved it) - Add helpful install messages to dependency-checking tests