From 79fa4ec01675a4ed876821b66ed6f35696d450d6 Mon Sep 17 00:00:00 2001 From: cashmere Date: Tue, 11 Aug 2026 20:23:42 +0200 Subject: Fix helix bindings for dashboard modes --- config.el | 8 +++++++- config.org | 8 +++++++- lisp/croc-ui.el | 5 ++++- lisp/sync-ui.el | 5 ++++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/config.el b/config.el index 33e8625..5adc524 100644 --- a/config.el +++ b/config.el @@ -360,7 +360,8 @@ Selects the compilation window so the cursor lands in it." (alist-get helix--current-state helix--state-to-keymap-alist))) (defvar my/helix-preserve-local-map-modes - '(magit-mode magit-section-mode magit-blame-read-only-mode) + '(magit-mode magit-section-mode magit-blame-read-only-mode + croc-ui-mode croc-ui-log-mode sync-ui-mode) "Modes whose local keymaps should stay behind Helix mode overrides.") (defun my/helix-preserve-local-map-p () @@ -1288,6 +1289,8 @@ Selects the compilation window so the cursor lands in it." (helix-define-key 'normal "[b" #'switch-to-prev-buffer) (helix-define-key 'normal "]t" #'tab-next) (helix-define-key 'normal "[t" #'tab-previous) + (helix-define-key 'normal (kbd "C-w C-w") #'other-window) + (helix-define-key 'normal (kbd "C-w c") #'delete-window) (helix-define-key 'normal "gcc" (lambda () (interactive) @@ -1298,9 +1301,11 @@ Selects the compilation window so the cursor lands in it." (helix-define-key 'normal "j" #'croc-ui-next 'croc-ui-mode) (helix-define-key 'normal "k" #'croc-ui-previous 'croc-ui-mode) (helix-define-key 'normal (kbd "RET") #'croc-ui-open-log 'croc-ui-mode) + (helix-define-key 'normal (kbd "") #'croc-ui-open-log 'croc-ui-mode) (helix-define-key 'normal "j" #'sync-ui-next 'sync-ui-mode) (helix-define-key 'normal "k" #'sync-ui-previous 'sync-ui-mode) (helix-define-key 'normal (kbd "RET") #'sync-ui-magit 'sync-ui-mode) + (helix-define-key 'normal (kbd "") #'sync-ui-magit 'sync-ui-mode) (helix-define-key 'normal (kbd "RET") #'feed-ui-open-thread-at-point 'feed-ui-mode) (helix-define-key 'normal "r" #'feed-ui-reply-at-point 'feed-ui-mode) (helix-define-key 'normal "m" #'feed-ui-mute-at-point 'feed-ui-mode) @@ -1364,6 +1369,7 @@ Selects the compilation window so the cursor lands in it." (helix-define-key 'normal "]]" #'passage-next-directory 'passage-mode) (helix-define-key 'normal "[[" #'passage-prev-directory 'passage-mode) (helix-define-key 'normal (kbd "RET") #'passage-view 'passage-mode) + (helix-define-key 'normal (kbd "") #'passage-view 'passage-mode) (helix-define-key 'normal "q" #'my/passage-quit 'passage-mode) (helix-define-key 'normal "Q" #'my/passage-kill-view-buffers-and-quit 'passage-mode) (helix-define-key 'normal "q" #'quit-window 'passage-view-mode) diff --git a/config.org b/config.org index c83a3b2..5d02c73 100644 --- a/config.org +++ b/config.org @@ -406,7 +406,8 @@ Selects the compilation window so the cursor lands in it." (alist-get helix--current-state helix--state-to-keymap-alist))) (defvar my/helix-preserve-local-map-modes - '(magit-mode magit-section-mode magit-blame-read-only-mode) + '(magit-mode magit-section-mode magit-blame-read-only-mode + croc-ui-mode croc-ui-log-mode sync-ui-mode) "Modes whose local keymaps should stay behind Helix mode overrides.") (defun my/helix-preserve-local-map-p () @@ -1340,6 +1341,8 @@ Selects the compilation window so the cursor lands in it." (helix-define-key 'normal "[b" #'switch-to-prev-buffer) (helix-define-key 'normal "]t" #'tab-next) (helix-define-key 'normal "[t" #'tab-previous) + (helix-define-key 'normal (kbd "C-w C-w") #'other-window) + (helix-define-key 'normal (kbd "C-w c") #'delete-window) (helix-define-key 'normal "gcc" (lambda () (interactive) @@ -1350,9 +1353,11 @@ Selects the compilation window so the cursor lands in it." (helix-define-key 'normal "j" #'croc-ui-next 'croc-ui-mode) (helix-define-key 'normal "k" #'croc-ui-previous 'croc-ui-mode) (helix-define-key 'normal (kbd "RET") #'croc-ui-open-log 'croc-ui-mode) + (helix-define-key 'normal (kbd "") #'croc-ui-open-log 'croc-ui-mode) (helix-define-key 'normal "j" #'sync-ui-next 'sync-ui-mode) (helix-define-key 'normal "k" #'sync-ui-previous 'sync-ui-mode) (helix-define-key 'normal (kbd "RET") #'sync-ui-magit 'sync-ui-mode) + (helix-define-key 'normal (kbd "") #'sync-ui-magit 'sync-ui-mode) (helix-define-key 'normal (kbd "RET") #'feed-ui-open-thread-at-point 'feed-ui-mode) (helix-define-key 'normal "r" #'feed-ui-reply-at-point 'feed-ui-mode) (helix-define-key 'normal "m" #'feed-ui-mute-at-point 'feed-ui-mode) @@ -1416,6 +1421,7 @@ Selects the compilation window so the cursor lands in it." (helix-define-key 'normal "]]" #'passage-next-directory 'passage-mode) (helix-define-key 'normal "[[" #'passage-prev-directory 'passage-mode) (helix-define-key 'normal (kbd "RET") #'passage-view 'passage-mode) + (helix-define-key 'normal (kbd "") #'passage-view 'passage-mode) (helix-define-key 'normal "q" #'my/passage-quit 'passage-mode) (helix-define-key 'normal "Q" #'my/passage-kill-view-buffers-and-quit 'passage-mode) (helix-define-key 'normal "q" #'quit-window 'passage-view-mode) diff --git a/lisp/croc-ui.el b/lisp/croc-ui.el index 50c8b9a..aefe065 100644 --- a/lisp/croc-ui.el +++ b/lisp/croc-ui.el @@ -164,7 +164,8 @@ "Mode for raw croc process logs." (setq-local truncate-lines t) (local-set-key (kbd "w") #'croc-ui-copy-code) - (local-set-key (kbd "x") #'croc-ui-kill)) + (local-set-key (kbd "x") #'croc-ui-kill) + (local-set-key (kbd "q") #'quit-window)) (defun croc-ui--filter (proc chunk) "Append CHUNK to PROC's log and fold its state into the transfer struct." @@ -949,6 +950,7 @@ stay square; MARGIN (default 4) modules of quiet zone wrap the code." (define-key map (kbd "t") #'croc-ui-send-text) (define-key map (kbd "r") #'croc-ui-receive) (define-key map (kbd "RET") #'croc-ui-open-log) + (define-key map (kbd "") #'croc-ui-open-log) (define-key map (kbd "w") #'croc-ui-copy-code) (define-key map (kbd "Q") #'croc-ui-toggle-qr) (define-key map (kbd "x") #'croc-ui-kill) @@ -976,6 +978,7 @@ stay square; MARGIN (default 4) modules of quiet zone wrap the code." (helix-define-key 'normal "j" #'croc-ui-next 'croc-ui-mode) (helix-define-key 'normal "k" #'croc-ui-previous 'croc-ui-mode) (helix-define-key 'normal "RET" #'croc-ui-open-log 'croc-ui-mode) + (helix-define-key 'normal (kbd "") #'croc-ui-open-log 'croc-ui-mode) (helix-define-key 'normal "s" #'croc-ui-send-files 'croc-ui-mode) (helix-define-key 'normal "d" #'croc-ui-send-directory 'croc-ui-mode) (helix-define-key 'normal "t" #'croc-ui-send-text 'croc-ui-mode) diff --git a/lisp/sync-ui.el b/lisp/sync-ui.el index 36a8815..d61b1df 100644 --- a/lisp/sync-ui.el +++ b/lisp/sync-ui.el @@ -893,6 +893,7 @@ A ⁺ marks a remote that has no copy of the branch yet." (let ((map (make-sparse-keymap))) (define-key map (kbd "s") #'sync-ui-sync-all) (define-key map (kbd "RET") #'sync-ui-magit) + (define-key map (kbd "") #'sync-ui-magit) (define-key map (kbd "r") #'sync-ui-resume) (define-key map (kbd "x") #'sync-ui-skip) (define-key map (kbd "t") #'sync-ui-toggle) @@ -901,6 +902,7 @@ A ⁺ marks a remote that has no copy of the branch yet." (define-key map (kbd "g") #'sync-ui-refresh) (define-key map (kbd "n") #'sync-ui-next) (define-key map (kbd "p") #'sync-ui-previous) + (define-key map (kbd "q") #'quit-window) map) "Keymap for `sync-ui-mode'.") @@ -920,7 +922,8 @@ A ⁺ marks a remote that has no copy of the branch yet." (with-eval-after-load 'helix (helix-define-key 'normal "j" #'sync-ui-next 'sync-ui-mode) (helix-define-key 'normal "k" #'sync-ui-previous 'sync-ui-mode) - (helix-define-key 'normal "RET" #'sync-ui-magit 'sync-ui-mode)) + (helix-define-key 'normal "RET" #'sync-ui-magit 'sync-ui-mode) + (helix-define-key 'normal (kbd "") #'sync-ui-magit 'sync-ui-mode)) ;;; § 8 Entry points -- cgit v1.3.1