Stop some buffers from opening in unexpected places
This commit is contained in:
parent
58e713dabe
commit
75d062c5e6
62
config.org
62
config.org
@ -142,6 +142,22 @@
|
|||||||
(setq initial-frame-alist '((right-divider-width . 1)))
|
(setq initial-frame-alist '((right-divider-width . 1)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Opening buffers in current window
|
||||||
|
There are several places where buffers open in different windows to
|
||||||
|
the currently selected one. I find this behaviour annoying and I
|
||||||
|
don't understand why anyone would like it. [[help:display-buffer-alist][display-buffer-alist]]
|
||||||
|
provides a mechanism for preventing this where there isn't a better
|
||||||
|
way, as seems to be the case with shell and help buffers.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun open-in-same-window-p (buffer-name action)
|
||||||
|
(or (string= (upcase buffer-name) "*SHELL*")
|
||||||
|
(string= (upcase buffer-name) "*HELP*")))
|
||||||
|
|
||||||
|
(setq display-buffer-alist
|
||||||
|
'((open-in-same-window-p . (display-buffer-same-window . nil))))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Autocompletion
|
* Autocompletion
|
||||||
Enable =company-mode= globally, and hook it into =completion-at-point-functions=.
|
Enable =company-mode= globally, and hook it into =completion-at-point-functions=.
|
||||||
|
|
||||||
@ -352,6 +368,26 @@
|
|||||||
'("~/org" "~/org/zet/daily" "~/.emacs.d/config.org"))
|
'("~/org" "~/org/zet/daily" "~/.emacs.d/config.org"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Also I find it really very annoying that the the current window
|
||||||
|
layout is destroyed when you run =org-agenda=. That behaviour is
|
||||||
|
changed by setting [[help:org-agenda-window-setup][org-agenda-window-setup]]:
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq org-agenda-window-setup 'current-window)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Habits
|
||||||
|
Habit tracking requires the habits org module to be loaded. This is
|
||||||
|
done by adding the symbol ~'habits~ to [[help:org-modules][org-modules]], if it's not in
|
||||||
|
there already. I originally didn't have the surrounding ~unless~,
|
||||||
|
but it causes problems when re-loading the config using
|
||||||
|
[[help:org-babel-load-file][org-babel-load-file]].
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(unless (member 'habits org-modules)
|
||||||
|
(add-to-list 'org-modules 'habits))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Language Integrations
|
* Language Integrations
|
||||||
** Generic
|
** Generic
|
||||||
Generally, 8-character-wide tabs are not my thing.
|
Generally, 8-character-wide tabs are not my thing.
|
||||||
@ -761,6 +797,32 @@
|
|||||||
(setq git-commit-summary-max-length 72))
|
(setq git-commit-summary-max-length 72))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
By default, =magit-status= will open itself in a different window
|
||||||
|
to the one you open it in. I really don't understand how this is
|
||||||
|
useful but thankfully this is Emacs so the behaviour can be
|
||||||
|
tweaked. The default behaviour does make sense for other magit
|
||||||
|
windows, just not magit-status.
|
||||||
|
|
||||||
|
The behviour I want can be achieved by setting
|
||||||
|
[[help:magit-display-buffer-function][magit-display-buffer-function]] to something which will open the
|
||||||
|
buffer in the current window if and only if it's a
|
||||||
|
=magit-status-mode= window.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq magit-display-buffer-function
|
||||||
|
(lambda (buffer)
|
||||||
|
(display-buffer
|
||||||
|
buffer
|
||||||
|
(when (eq (with-current-buffer buffer major-mode)
|
||||||
|
'magit-status-mode)
|
||||||
|
'(display-buffer-same-window)))))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Now I'm thinking it I could customise this further as I often am
|
||||||
|
annoyed by diffs opening in a different window but I think I'll
|
||||||
|
leave it at that for now as I'm not sure precisely what behaviour
|
||||||
|
I'd want.
|
||||||
|
|
||||||
** Docker
|
** Docker
|
||||||
I use docker quite a lot, unfortunately, so it's nice to be able to
|
I use docker quite a lot, unfortunately, so it's nice to be able to
|
||||||
spawn containers etc from Emacs. The =docker= package provides a
|
spawn containers etc from Emacs. The =docker= package provides a
|
||||||
|
Loading…
x
Reference in New Issue
Block a user