From c21bb4a9f520c5c2ac801a3a677a8379a14e32ff Mon Sep 17 00:00:00 2001 From: Jeremy Kaplan Date: Tue, 13 Oct 2015 13:40:41 -0400 Subject: [PATCH] Make emacsclient split window on open --- emacs/init.el | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/emacs/init.el b/emacs/init.el index 407b853..df901fc 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -288,3 +288,27 @@ they line up with the line containing the corresponding opening bracket." (lambda () (auto-fill-mode 1) (search-forward-regexp "^$"))) + + +;; emacsclient should split window when opening multiple files. +;; Based on http://emacs.stackexchange.com/questions/3283/ +(defvar server-visit-files-custom-find:buffer-count) +(defadvice server-visit-files + (around server-visit-files-custom-find + activate compile) + "Maintain a counter of visited files from a single client call." + (let ((server-visit-files-custom-find:buffer-count 0)) + ad-do-it)) +(defun server-visit-hook-custom-find () + "Arrange to visit the files from a client call in separate windows." + (if (zerop server-visit-files-custom-find:buffer-count) + (progn + (delete-other-windows) + (switch-to-buffer (current-buffer))) + (let ((buffer (current-buffer)) + (window (split-window-sensibly))) + (switch-to-buffer buffer) + (balance-windows))) + (setq server-visit-files-custom-find:buffer-count + (1+ server-visit-files-custom-find:buffer-count))) +(add-hook 'server-visit-hook 'server-visit-hook-custom-find)