[Emacs] Fixup frames-only-mode

This commit is contained in:
Ivan Malison 2016-11-07 15:44:00 -08:00
parent 4c322bf3fc
commit 34387058bb
No known key found for this signature in database
GPG Key ID: 62530EFBE99DC2F8

View File

@ -1135,77 +1135,77 @@ programming mode.
#+END_SRC
*** display-buffer-alist
#+BEGIN_SRC emacs-lisp
(setq pop-up-frames 'graphic-only)
(defvar imalison:use-frames-only nil)
(defvar imalison:use-frames-only)
(when imalison:use-frames-only
(setq pop-up-frames 'graphic-only)
(defvar imalison:use-frames-only nil)
(defun imalison:use-frames-only ()
(or imalison:use-frames-only
(member (getenv "XDG_CURRENT_DESKTOP") '("XMonad"))))
(defun imalison:use-frames-only ()
(or imalison:use-frames-only
(member (getenv "XDG_CURRENT_DESKTOP") '("XMonad"))))
(defvar imalison:use-new-frame-or-window nil)
(defvar imalison:use-new-frame-or-window nil)
(defvar imalison:use-new-frame-or-window-next-command nil)
(defvar imalison:use-new-frame-or-window-next-command nil)
(defun imalison:other-window-or-frame-next-command ()
(interactive)
(setq imalison:use-new-frame-or-window-next-command t))
(defun imalison:other-window-or-frame-next-command ()
(interactive)
(setq imalison:use-new-frame-or-window-next-command t))
(defun imalison:use-other-frame-or-window (&rest args)
(or
(when imalison:use-new-frame-or-window-next-command
(setq imalison:use-new-frame-or-window-next-command nil)
t)
imalison:use-new-frame-or-window))
(defun imalison:use-other-frame-or-window (&rest args)
(or
(when imalison:use-new-frame-or-window-next-command
(setq imalison:use-new-frame-or-window-next-command nil)
t)
imalison:use-new-frame-or-window))
(defun imalison:display-buffer (&rest args)
(if (imalison:use-other-frame-or-window args)
(apply 'imalison:display-buffer-other-frame-or-window args)
(apply 'display-buffer-same-window args)))
(defun imalison:display-buffer (&rest args)
(if (imalison:use-other-frame-or-window args)
(apply 'imalison:display-buffer-other-frame-or-window args)
(apply 'display-buffer-same-window args)))
(defun imalison:display-buffer-other-frame-or-window (buffer &rest args)
(if (imalison:use-frames-only)
(display-buffer buffer '((display-buffer-reuse-window
display-buffer-pop-up-frame)
(reusable-frames . t)
(inhibit-same-window . t)) t)
(apply 'display-buffer-reuse-window args)))
(defun imalison:display-buffer-other-frame-or-window (buffer &rest args)
(if (imalison:use-frames-only)
(display-buffer buffer '((display-buffer-reuse-window
display-buffer-pop-up-frame)
(reusable-frames . t)
(inhibit-same-window . t)) t)
(apply 'display-buffer-reuse-window args)))
(defun imalison:split-window-right ()
(interactive)
(if (imalison:use-frames-only)
(make-frame)
(split-window-right)))
(defun imalison:split-window-right ()
(interactive)
(if (imalison:use-frames-only)
(make-frame)
(split-window-right)))
(defun imalison:other-window (&rest args)
(interactive
(list 1))
(if (imalison:use-frames-only)
(apply 'other-frame args)
(apply 'other-window args)))
(defun imalison:other-window (&rest args)
(interactive
(list 1))
(if (imalison:use-frames-only)
(apply 'other-frame args)
(apply 'other-window args)))
(bind-key "C-c s" 'imalison:other-window-or-frame-next-command)
(bind-key "C-c s" 'imalison:other-window-or-frame-next-command)
(bind-key "C-x o" 'imalison:other-window)
(bind-key "C-x 3" 'imalison:split-window-right)
(bind-key "C-x O" (lambda () (interactive) (imalison:other-window -1)))
(bind-key "C-x o" 'imalison:other-window)
(bind-key "C-x 3" 'imalison:split-window-right)
(bind-key "C-x O" (lambda () (interactive) (imalison:other-window -1)))
(setq display-buffer-alist
'((".*popup\*" . (display-buffer-pop-up-window))
;; XXX: This was a failed attempt to get magit-commit to properly use
;; frames.
(setq display-buffer-alist
'((".*popup\*" . (display-buffer-pop-up-window))
;; XXX: This was a failed attempt to get magit-commit to properly use
;; frames.
(".*magit-diff.*" . ((display-buffer-pop-up-window)
((reusable-frames . 0)
(inhibit-switch-frame . t)
(inhibit-same-window . t))))
;; (".*COMMIT_.*MSG.*" . ((display-buffer-pop-up-frame)
;; ((reusable-frames . 0)
;; (inhibit-same-window . t))))
(".*" . ((imalison:display-buffer display-buffer-same-window
display-buffer-pop-up-frame)
((reusable-frames . t))))))
(setq display-buffer-alist nil)
(".*magit-diff.*" . ((display-buffer-pop-up-window)
((reusable-frames . 0)
(inhibit-switch-frame . t)
(inhibit-same-window . t))))
;; (".*COMMIT_.*MSG.*" . ((display-buffer-pop-up-frame)
;; ((reusable-frames . 0)
;; (inhibit-same-window . t))))
(".*" . ((imalison:display-buffer display-buffer-same-window
display-buffer-pop-up-frame)
((reusable-frames . t)))))))
#+END_SRC
** Fill Setup
Get rid of nags about requiring setences to end with two spaces.
@ -4481,6 +4481,7 @@ Ensure all themes that I use are installed:
:diminish (page-break-lines-mode)
:config
(progn
(add-to-list 'page-break-lines-modes 'prog-mode)
(global-page-break-lines-mode +1)))
#+END_SRC
** helm-themes