;;; move-border.el --- Move border to resize windows ;; Copyright (C) Unknown ;; Author: Unknown ;; Maintainer: Guillaume Gelin ;; Created 5 sep 2008 ;; Keywords: window border ;; Homepage: https://github.com/ramnes/move-border ;; This file is not part of GNU Emacs. ;;; Commentary: ;; Add commands to move border ;; instead of using the built-in ;; window resizing functions ;;; Code: (defun xor (b1 b2) (or (and b1 b2) (and (not b1) (not b2)))) (defun move-border-left-or-right (arg dir) "General function covering move-border-left and move-border-right. If DIR is t, then move left, otherwise move right." (interactive) (if (null arg) (setq arg 3)) (let ((left-edge (nth 0 (window-edges)))) (if (xor (= left-edge 0) dir) (shrink-window arg t) (enlarge-window arg t)))) (defun move-border-up-or-down (arg dir) "General function covering move-border-up and move-border-down. If DIR is t, then move up, otherwise move down." (interactive) (if (null arg) (setq arg 3)) (let ((top-edge (nth 1 (window-edges)))) (if (xor (= top-edge 0) dir) (shrink-window arg nil) (enlarge-window arg nil)))) (defun move-border-left (arg) (interactive "P") (move-border-left-or-right arg t)) (defun move-border-right (arg) (interactive "P") (move-border-left-or-right arg nil)) (defun move-border-up (arg) (interactive "P") (move-border-up-or-down arg t)) (defun move-border-down (arg) (interactive "P") (move-border-up-or-down arg nil)) (provide 'move-border) ;;; move-border.el ends here