;; This file: http://user.it.uu.se/~embe8573/conf/emacs-init/window.el ;; same window for new things (setq display-buffer-alist '((".*" display-buffer-same-window) )) (defun beginning-of-line-at-top () "Position point at the `beginning-of-line'. Then put that line at the top of the window." (beginning-of-line) (recenter 0) ) ;; two-window solution (defun other-window-or-split () (interactive) (when (= 1 (count-windows)) (split-window-vertically)) (other-window 1) ) (defun swap-windows () (interactive) (let ((buffer (current-buffer))) (other-window 1) (switch-to-buffer-other-window (current-buffer)) (other-window 1) (switch-to-buffer buffer) )) ;; window size shorthands (defun window-increase-size (lines) (interactive "p") (window-resize nil lines) ) ; the current WINDOW (defun window-decrease-size (lines) (interactive "p") (window-resize nil (* -1 lines) )) ; ditto ;; save/restore window configuration (useful?) (defvar *default-window-configuration-register* ?0) (defun save-window-configuration (&optional register) (interactive "P") (window-configuration-to-register (or (and (listp register) (car register)) register *default-window-configuration-register* ))) (defun restore-window-configuration (&optional register) (interactive "P") (jump-to-register (or (and (listp register) (car register)) register *default-window-configuration-register* ))) (provide 'window-new)