]> git.donarmstrong.com Git - lib.git/commitdiff
add eyebrowse
authorDon Armstrong <don@donarmstrong.com>
Mon, 14 Mar 2016 19:41:59 +0000 (12:41 -0700)
committerDon Armstrong <don@donarmstrong.com>
Mon, 14 Mar 2016 19:41:59 +0000 (12:41 -0700)
emacs_el/configuration/don-configuration.org

index 241169eea0cc1ecad265e00461808f004fce985a..32664b2e21559302c6d2e28d3d9ddd9b26fd7a7c 100644 (file)
 #+BEGIN_SRC emacs-lisp
 (winner-mode 1)
 #+END_SRC
+** Eyebrowse
+
+#+BEGIN_SRC emacs-lisp
+  (use-package eyebrowse
+    :ensure t
+    :diminish eyebrowse-mode
+    :init (setq eyebrowse-keymap-prefix (kbd "C-c C-\\"))
+    :config (progn
+              (setq eyebrowse-wrap-around t)
+              (eyebrowse-mode t)
+
+              (defun my/eyebrowse-new-window-config ()
+                (interactive)
+                (let ((done nil))
+                  (dotimes (i 10)
+                    ;; start at 1 run till 0
+                    (let ((j (mod (+ i 1) 10)))
+                      (when (and (not done)
+                                 (not (eyebrowse--window-config-present-p j)))
+                        (eyebrowse-switch-to-window-config j)
+                        (call-interactively 'eyebrowse-rename-window-config2 j)
+                        (setq done t)
+                        ))
+                    )))
+
+              (require 'latex-preview-pane)
+              (defun my/close-latex-preview-pane-before-eyebrowse-switch ()
+                ;; latex-preview-pane uses window-parameters which are
+                ;; not preserved by eyebrowse, so we close the preview
+                ;; pane before switching, it will be regenerated when we
+                ;; edit the TeX file.
+                (when (lpp/window-containing-preview)
+                  (delete-window (lpp/window-containing-preview))))
+
+              (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))
+    )
+#+END_SRC
+
 ** Tinyprocmail
 
 #+BEGIN_SRC emacs-lisp