From 9700b2ce8997dc3dee5cdabfea3f420dd6cfbfb0 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Thu, 21 Apr 2016 14:03:11 -0500 Subject: [PATCH] update org files --- emacs_el/configuration/don-configuration.org | 111 +++++++++++++++++-- 1 file changed, 104 insertions(+), 7 deletions(-) diff --git a/emacs_el/configuration/don-configuration.org b/emacs_el/configuration/don-configuration.org index 0fd08e7..257d9fb 100644 --- a/emacs_el/configuration/don-configuration.org +++ b/emacs_el/configuration/don-configuration.org @@ -111,14 +111,111 @@ ;; (add-to-list 'eyebrowse-pre-window-switch-hook ;; #'my/close-latex-preview-pane-before-eyebrowse-switch) - (my/set-menu-key "[" #'my/eyebrowse-new-window-config) - (my/set-menu-key ";" #'eyebrowse-prev-window-config) - (my/set-menu-key "'" #'eyebrowse-next-window-config) - (my/set-menu-key "]" #'eyebrowse-close-window-config) - (my/set-menu-key "\\" #'eyebrowse-rename-window-config)) + ;; (my/set-menu-key "[" #'my/eyebrowse-new-window-config) + ;; (my/set-menu-key ";" #'eyebrowse-prev-window-config) + ;; (my/set-menu-key "'" #'eyebrowse-next-window-config) + ;; (my/set-menu-key "]" #'eyebrowse-close-window-config) + ;; (my/set-menu-key "\\" #'eyebrowse-rename-window-config) + ) ) #+END_SRC +** Window handling + +*** Splitting +#+BEGIN_SRC emacs-lisp + (defun my/vsplit-last-buffer () + "Split the window vertically and display the previous buffer." + (interactive) + (split-window-vertically) + (other-window 1 nil) + (switch-to-next-buffer)) + + (defun my/hsplit-last-buffer () + "Split the window horizontally and display the previous buffer." + (interactive) + (split-window-horizontally) + (other-window 1 nil) + (switch-to-next-buffer)) + + (bind-key "C-x 2" 'my/vsplit-last-buffer) + (bind-key "C-x 3" 'my/hsplit-last-buffer) + + (setq split-width-threshold 100) + (setq split-height-threshold 60) + + (defun my/split-window-prefer-horizontally (window) + "If there's only one window (excluding any possibly active + minibuffer), then split the current window horizontally." + (if (and (one-window-p t) + (not (active-minibuffer-window)) + ( > (frame-width) (frame-height)) + ) + (let ((split-height-threshold nil)) + (split-window-sensibly window)) + (split-window-sensibly window))) + + (setq split-window-preferred-function #'my/split-window-prefer-horizontally) + (setq window-combination-resize t) +#+END_SRC + +*** Compilation window + +If there is no compilation window, open one at the bottom, spanning +the complete width of the frame. Otherwise, reuse existing window. In +the former case, if there was no error the window closes +automatically. + +#+BEGIN_SRC emacs-lisp + (add-to-list 'display-buffer-alist + `(,(rx bos "*compilation*" eos) + (display-buffer-reuse-window + display-buffer-in-side-window) + (reusable-frames . visible) + (side . bottom) + (window-height . 0.4))) +#+END_SRC + +#+BEGIN_SRC emacs-lisp + (defun my/compilation-exit-autoclose (status code msg) + ;; If M-x compile exists with a 0 + (when (and (eq status 'exit) (zerop code)) + ;; and delete the *compilation* window + (let ((compilation-window (get-buffer-window (get-buffer "*compilation*")))) + (when (and (not (window-at-side-p compilation-window 'top)) + (window-at-side-p compilation-window 'left) + (window-at-side-p compilation-window 'right)) + (delete-window compilation-window)))) + ;; Always return the anticipated result of compilation-exit-message-function + (cons msg code)) + + ;; Specify my function (maybe I should have done a lambda function) + (setq compilation-exit-message-function #'my/compilation-exit-autoclose) +#+END_SRC + +If you change the variable ~compilation-scroll-output~ to a ~non-nil~ +value, the compilation buffer scrolls automatically to follow the +output. If the value is ~first-error~, scrolling stops when the first +error appears, leaving point at that error. For any other non-nil +value, scrolling continues until there is no more output. + +#+BEGIN_SRC emacs-lisp + (setq compilation-scroll-output 'first-error) +#+END_SRC + +** Mode line cleaning +*** Diminish +#+BEGIN_SRC emacs-lisp + (use-package diminish + :ensure t) +#+END_SRC + +*** Delight +#+BEGIN_SRC emacs-lisp + (use-package delight + :ensure t) +#+END_SRC + ** Tinyprocmail #+BEGIN_SRC emacs-lisp @@ -133,7 +230,7 @@ ; don't verify where we are pushing (setq magit-push-always-verify nil) ;; refine diffs always (hilight words) - (setq magit-diff-refine-hunk 'all) + (setq magit-diff-refine-hunk nil) ;; load magit-annex (setq load-path (append '("~/lib/emacs_el/magit-annex") @@ -339,7 +436,7 @@ (ad-activate 'load) #+END_SRC -* Misc (uncharacterized) +* Mis1c (uncharacterized) #+BEGIN_SRC emacs-lisp (setq bibtex-user-optional-fields (quote (("annote" "Personal annotation (ignored)") ("abstract" "") ("pmid" "") ("doi" "")))) (setq calendar-latitude 40.11) -- 2.39.2