#+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