From 87c4b759c835791fd9c53f6588e526e77edfe396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Villagr=C3=A1?= Date: Sat, 18 Jun 2022 01:19:35 +0200 Subject: [PATCH] =?UTF-8?q?Configuraci=C3=B3n=20para=20mover=20bordes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modulos/hydra-config.el | 11 +++++++ modulos/move-border.el | 63 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 modulos/move-border.el diff --git a/modulos/hydra-config.el b/modulos/hydra-config.el index 467c88d..f3541aa 100644 --- a/modulos/hydra-config.el +++ b/modulos/hydra-config.el @@ -17,3 +17,14 @@ ("q" nil "quit") ) (define-key org-mode-map (kbd "C-c m") 'hydra-org-navegacion/body) + + + +(defhydra hydra-resize-window (global-map "C-M-m") + "Cambia el tamaƱo de las ventanas" + ("" move-border-down "Baja borde") + ("" move-border-up "Sube borde") + ("" move-border-left "Mueve izda.") + ("" move-border-right "Mueve dcha.") + ("q" nil "Salir") + ) diff --git a/modulos/move-border.el b/modulos/move-border.el new file mode 100644 index 0000000..698d771 --- /dev/null +++ b/modulos/move-border.el @@ -0,0 +1,63 @@ + +;;; 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