I just read Mickey’s wonderful article on window management, and has given me the push I need to take control over my emacs windows/frames. I have an idea of what I will configure; maximum of two windows per frame, and if is my portrait frame split horizontally and split vertically for my landscape frame, plus some additional config for Magit. Before I take the plunge, I wanted to quickly reach out to see what other people have done for their configs to get some ideas. Figure might also be good to collect a few different configurations of window configs for people interested.

Some configs I have found on the way and will update with any suggestions people have:

  • Karthink’s config, good integration with the popper package
  • emacs-pure - has some display-buffer-alist settings for magit which are of interest to me, as the built in magit methods for handling new frames isn’t exactly what I want.

Any recommendations, please feel free to share them.

  • @skyler544@alien.topB
    link
    fedilink
    English
    18 months ago
    (add-to-list 'display-buffer-alist
                 '("\\*sly-mrepl"
                   (display-buffer-at-bottom)
                   (window-height . 12)))
    (add-to-list 'display-buffer-alist
                 '("\\*Calendar*"
                   (display-buffer-at-bottom)))
    (add-to-list 'display-buffer-alist
                 '("\\*shell:"
                   (display-buffer-below-selected)
                   (window-height . 12)))
    (add-to-list 'display-buffer-alist
                 '("\\magit:"
                   (display-buffer-same-window)))
    (add-to-list 'display-buffer-alist
                 '("\\*Man"
                   (display-buffer-same-window)))
    (add-to-list 'display-buffer-alist
                 '("\\*Help"
                   (display-buffer-same-window)))
    (add-to-list 'display-buffer-alist
                 '("\\*helpful"
                   (display-buffer-same-window)))
    
  • @centzon400@alien.topB
    link
    fedilink
    English
    18 months ago
    (add-to-list 'display-buffer-alist
                 '("\\*e?shell\\*"
                   (display-buffer-in-side-window)
                   (side . bottom)
                   (slot . -1) ;; -1 == L  0 == Mid 1 == R
                   (window-height . 0.33) ;; take 2/3 on bottom left
                   (window-parameters
                    (no-delete-other-windows . nil))))
    
    (add-to-list 'display-buffer-alist
                 '("\\*\\(Backtrace\\|Compile-log\\|Messages\\|Warnings\\)\\*"
                   (display-buffer-in-side-window)
                   (side . bottom)
                   (slot . 0)
                   (window-height . 0.33)
                   (window-parameters
                    (no-delete-other-windows . nil))))
    
    (add-to-list 'display-buffer-alist
                 '("\\*\\([Hh]elp\\|Command History\\|command-log\\)\\*"
                   (display-buffer-in-side-window)
                   (side . right)
                   (slot . 0)
                   (window-width . 80)
                   (window-parameters
                    (no-delete-other-windows . nil))))
    
    (add-to-list 'display-buffer-alist
                 '("\\*TeX errors\\*"
                   (display-buffer-in-side-window)
                   (side . bottom)
                   (slot . 3)
                   (window-height . shrink-window-if-larger-than-buffer)
                   (dedicated . t)))
    
    (add-to-list 'display-buffer-alist
                 '("\\*TeX Help\\*"
                   (display-buffer-in-side-window)
                   (side . bottom)
                   (slot . 4)
                   (window-height . shrink-window-if-larger-than-buffer)
                   (dedicated . t)))
    
  • @unhammer@alien.topB
    link
    fedilink
    English
    18 months ago

    Mine is just the default nil. I don’t use any of the packages. But I prefer magit to be fullscreen and to restore back to where I was on quit:

      (setq magit-display-buffer-function 'magit-display-buffer-fullframe-status-topleft-v1)
      (setq magit-bury-buffer-function 'magit-restore-window-configuration)
    
    • @egstatsml@alien.topOPB
      link
      fedilink
      English
      18 months ago

      I tried Magit full-screen but It wasnt restoring my previous windows. I didn’t know about the bury buffer function so this helps me out a lot. Thanks!