;;; -*- lexical-binding: t -*- ;;; ;;; this file: ;;; http://user.it.uu.se/~embe8573/emacs-init/window-new.el ;;; https://dataswamp.org/~incal/emacs-init/window-new.el ;; same window for new things (setq display-buffer-alist '((".*" display-buffer-same-window))) (defun beginning-of-line-at-top () "Position point at `beginning-of-line'. Then put that line at the top of the window." (beginning-of-line) (recenter 0) ) ;; bring up doodle file (defun doodle-buffer () (interactive) (let ((doodle-buffer "~/ooa/doodle.el")) (if (one-window-p) (progn (split-window-below) (other-window 1) (find-file doodle-buffer) ) (find-file doodle-buffer) ))) (defalias 'db #'doodle-buffer) ;; two-window solution (defun other-window-or-split () (interactive) (when (one-window-p) (split-window-below)) (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) )) (provide 'window-new)