aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-28 03:08:05 -0500
committerCraig Jennings <c@cjennings.net>2026-05-28 03:08:05 -0500
commit998e9c7a08a57f343a3ac2423597ec7e5556f329 (patch)
treeef17e79f411fc100ce1bed144c33c03d69e12bcf /modules
parent1c93820893a3aa831684e2322c606e54b0bba40c (diff)
downloaddotemacs-998e9c7a08a57f343a3ac2423597ec7e5556f329.tar.gz
dotemacs-998e9c7a08a57f343a3ac2423597ec7e5556f329.zip
feat(signal): dock chat buffer to bottom 30% and add cancel binding
I added a display-buffer-alist entry matching "*Signel:" chat buffers and routing them through display-buffer-at-bottom with window-height 0.3. The signel fork's signel-chat now uses pop-to-buffer instead of switch-to-buffer, which is what makes the rule apply. Without that switch the buffer replaces the current window and skips display-buffer entirely. Two new tests in test-signal-config.el lock the entry shape and the regex's buffer-name match set. A new test-signel-cancel-input.el covers the fork's C-c C-k handler. It clears the editable region between signel--input-marker and point-max, then quit-windows so the buffer survives the dismiss. Closes the "Chat buffer placement + exit keys" task filed during the 2026-05-28 manual-verify walk.
Diffstat (limited to 'modules')
-rw-r--r--modules/signal-config.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/signal-config.el b/modules/signal-config.el
index 00279d4c..102ece86 100644
--- a/modules/signal-config.el
+++ b/modules/signal-config.el
@@ -127,6 +127,16 @@ time."
(when (file-readable-p cj/signal-private-config-file)
(load cj/signal-private-config-file nil t)))
+;; Chat buffers (named `*Signel: <id>*') open in the bottom 30% of the
+;; frame rather than wherever display-buffer's fallback rule picks.
+;; The fork's `signel-chat' uses `pop-to-buffer', so this entry applies.
+(add-to-list
+ 'display-buffer-alist
+ '("\\`\\*Signel: "
+ (display-buffer-reuse-window display-buffer-at-bottom)
+ (window-height . 0.3)
+ (reusable-frames . nil)))
+
;;; Connection guard, contact fetch, and cache
;; Forward declarations: signel.el is loaded by the use-package above (with