From 373518c3b1412b7621b73b8358eac3ae52ddc328 Mon Sep 17 00:00:00 2001
From: Aryadev Chavali <aryadev@aryadevchavali.com>
Date: Sat, 1 Aug 2020 18:29:01 +0100
Subject: +window management setup

This is a set of display-buffer records to make window management
easier in Emacs.
---
 Emacs/.config/emacs/config.org | 43 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org
index db7b955..e5650b3 100644
--- a/Emacs/.config/emacs/config.org
+++ b/Emacs/.config/emacs/config.org
@@ -512,6 +512,49 @@
        :bind (:map org-mode-map
                    ("C-c C-a" . flyspell-correct-at-point)))
    #+END_SRC
+* Window management
+  Window management is really important.
+  I find the default window handling of Emacs incredibly annoying: sometimes consuming my windows, sometimes creating new ones.
+  So, as Emacs is the ultimate editor, I want to configure and fine tune the window management of Emacs.
+  #+BEGIN_SRC emacs-lisp
+    (setq display-buffer-alist
+          '(("\\*e?shell\\*"
+             (display-buffer-in-side-window)
+             (window-height . 0.25)
+             (side . bottom)
+             (slot . 0))
+            ("\\*[Hh]elp.*"
+             (display-buffer-in-side-window)
+             (window-height . 0.25)
+             (side . bottom)
+             (slot . 1))
+            ("magit:.*"
+             (display-buffer-in-side-window)
+             (side . right)
+             (slot . -1)
+             (window-width . 0.5))
+            ("magit-diff:.*"
+             (display-buffer-in-side-window)
+             (side . right)
+             (slot . -2)
+             (window-width . 0.5))
+            ("\\*compilation\\*"
+             (display-buffer-in-side-window)
+             (side . bottom)
+             (slot . -1)
+             (window-height . 0.25))
+            ("\\*Flycheck.*"
+             (display-buffer-in-side-window)
+             (side . bottom)
+             (window-height . 0.25)
+             (slot . 0))
+            ("\\*rg.*"
+             (display-buffer-in-side-window)
+             (side . bottom)
+             (window-height . 0.25)
+             (slot . 1))
+            ))
+  #+END_SRC
 * Major modes and Programming
   Setups for common major modes and languages
   Here are some basic packages for programming first
-- 
cgit v1.2.3-13-gbd6f