summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-12-31 22:15:32 +0100
committerRicardo Wurmus <rekado@elephly.net>2020-12-31 22:15:32 +0100
commit79a50805b5a6cf28c7eef54975abf76f3d2765f3 (patch)
treec9b1d976366301a18a6c388cd9cfdb720184339b
parent2b23344a678f8f329813acb97dac2983dec35675 (diff)
Set display-buffer-alist for more predictable layout.
-rw-r--r--guile-studio-configure.scm58
1 files changed, 55 insertions, 3 deletions
diff --git a/guile-studio-configure.scm b/guile-studio-configure.scm
index b78c1f6..32b4a71 100644
--- a/guile-studio-configure.scm
+++ b/guile-studio-configure.scm
@@ -215,6 +215,48 @@ with the "
(require 'saveplace)
(setq-default save-place t)
+ ;; Right side window
+ (defvar popup-right-side-windows
+ (rx (or "*Guile Studio*"
+ "*Geiser documentation*"
+ (seq "*Help" (* anychar) "*")
+ "*info*")))
+ (add-to-list 'display-buffer-alist
+ `(,popup-right-side-windows
+ (display-buffer-reuse-window
+ display-buffer-in-side-window)
+ (side . right)
+ (slot . 0)
+ (preserve-size . (t . t))
+ (window-width . 80)
+ (window-height . 1.0)))
+
+ ;; Bottom side window
+ (defvar popup-bottom-windows
+ (rx (or "*Flycheck*"
+ "*Flymake*"
+ "*Backtrace*"
+ "*Warnings*"
+ "*Compile-Log*"
+ "*Messages*"
+ "*Geiser-dbg*"
+ (seq (* anychar) "*Completions" (* anychar)))))
+ (add-to-list 'display-buffer-alist
+ `(,popup-bottom-windows
+ (display-buffer-reuse-window
+ display-buffer-in-side-window)
+ (side . bottom)
+ (slot . 0)
+ (preserve-size . (t . t))
+ (window-height . 0.16)))
+
+ (defvar bottom-windows
+ (rx (seq "* Guile REPL *" (* anychar))))
+ (add-to-list 'display-buffer-alist
+ `(,bottom-windows
+ (display-buffer-at-bottom)
+ (window-height . 10)))
+
;; Mode line settings
(require 'doom-modeline)
(setq doom-modeline-buffer-encoding nil)
@@ -293,9 +335,19 @@ with the "
(insert ";;; Type your Guile program here and evaluate it.\n")
(setq buffer-offer-save t)
(delete-other-windows)
- (set-window-dedicated-p (selected-window) t))
- (run-guile)
- (set-window-dedicated-p (selected-window) t)
+ (set-window-dedicated-p (selected-window) t)
+
+ (run-guile)
+ (set-window-dedicated-p (selected-window) t)
+
+ (call-interactively 'about-guile-studio)
+
+ ;; This is necessary to show the REPL prompt after
+ ;; displaying the side window.
+ (pop-to-buffer "* Guile REPL *"))
+
+ (kill-buffer "*scratch*")
+
;; Hide the cluttered Tools and Options menu items
(define-key global-map (vector 'menu-bar 'tools) 'undefined)
(define-key global-map (vector 'menu-bar 'options) 'undefined)))