forked from colonelpanic/dotfiles
[Emacs] Try to tidy up frames only mode
This commit is contained in:
parent
a76b496feb
commit
7faf5e4b54
@ -1144,33 +1144,36 @@ programming mode.
|
||||
|
||||
(defvar imalison:use-new-frame-or-window nil)
|
||||
|
||||
(defvar imalison:use-new-frame-next-command nil)
|
||||
(defvar imalison:use-new-frame-or-window-next-command nil)
|
||||
|
||||
(defun imalison:new-frame-next-command ()
|
||||
(defun imalison:other-window-or-frame-next-command ()
|
||||
(interactive)
|
||||
(setq imalison:use-new-frame-next-command t))
|
||||
(setq imalison:use-new-frame-or-window-next-command t))
|
||||
|
||||
(defun imalison:use-new-frame-or-window (&rest args)
|
||||
(defun imalison:use-other-frame-or-window (&rest args)
|
||||
(or
|
||||
(when imalison:use-new-frame-next-command
|
||||
(setq imalison:use-new-frame-next-command nil)
|
||||
(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-new-frame-or-window args)
|
||||
(imalison:new-frame-or-window 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-new-frame-or-window (&rest args)
|
||||
(defun imalison:display-buffer-other-frame-or-window (buffer &rest args)
|
||||
(if (imalison:use-frames-only)
|
||||
(apply 'display-buffer-pop-up-frame args)
|
||||
(apply 'display-buffer-pop-up-window args)))
|
||||
(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)
|
||||
(new-frame)
|
||||
(make-frame)
|
||||
(split-window-right)))
|
||||
|
||||
(defun imalison:other-window (&rest args)
|
||||
@ -1180,6 +1183,8 @@ programming mode.
|
||||
(apply 'other-frame args)
|
||||
(apply 'other-window args)))
|
||||
|
||||
(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)))
|
||||
@ -1196,8 +1201,9 @@ programming mode.
|
||||
;; (".*COMMIT_.*MSG.*" . ((display-buffer-pop-up-frame)
|
||||
;; ((reusable-frames . 0)
|
||||
;; (inhibit-same-window . t))))
|
||||
(".*" . ((imalison:display-buffer display-buffer-reuse-window display-buffer-pop-up-frame)
|
||||
(reusable-frames . t)))))
|
||||
(".*" . ((imalison:display-buffer display-buffer-same-window
|
||||
display-buffer-pop-up-frame)
|
||||
((reusable-frames . t))))))
|
||||
|
||||
(setq display-buffer-alist nil)
|
||||
#+END_SRC
|
||||
|
Loading…
Reference in New Issue
Block a user