[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[STUMP] [PATCH] Added state to iresize
From: |
Raffael Mancini |
Subject: |
[STUMP] [PATCH] Added state to iresize |
Date: |
Mon, 30 Jun 2008 01:27:19 +0200 |
User-agent: |
Wanderlust/2.14.1 (Bad Medicine-pre) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.7 Emacs/23.0.60 (i686-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
Hi list,
I wrote a small patch that allows to abort from iresize mode. I don't
think it's very well made as I'm quite a lisp noob but it works for
me.
Greetings,
Raffael Mancini
---
iresize.lisp | 49 +++++++++++++++++++++++++++++--------------------
1 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/iresize.lisp b/iresize.lisp
index 9e4d235..1a5da33 100644
--- a/iresize.lisp
+++ b/iresize.lisp
@@ -45,36 +45,45 @@
(let ((i *resize-increment*))
(labels ((dk (m k c)
(define-key m k (format nil c i))))
- (dk m (kbd "Up") "resize 0 -~D")
- (dk m (kbd "C-p") "resize 0 -~D")
- (dk m (kbd "p") "resize 0 -~D")
- (dk m (kbd "k") "resize 0 -~D")
-
- (dk m (kbd "Down") "resize 0 ~D")
- (dk m (kbd "C-n") "resize 0 ~D")
- (dk m (kbd "n") "resize 0 ~D")
- (dk m (kbd "j") "resize 0 ~D")
-
- (dk m (kbd "Left") "resize -~D 0")
- (dk m (kbd "C-b") "resize -~D 0")
- (dk m (kbd "b") "resize -~D 0")
- (dk m (kbd "h") "resize -~D 0")
-
- (dk m (kbd "Right") "resize ~D 0")
- (dk m (kbd "C-f") "resize ~D 0")
- (dk m (kbd "f") "resize ~D 0")
- (dk m (kbd "l") "resize ~D 0")
+ (dk m (kbd "Up") "resize-with-state 0 -~D")
+ (dk m (kbd "C-p") "resize-with-state 0 -~D")
+ (dk m (kbd "p") "resize-with-state 0 -~D")
+ (dk m (kbd "k") "resize-with-state 0 -~D")
+
+ (dk m (kbd "Down") "resize-with-state 0 ~D")
+ (dk m (kbd "C-n") "resize-with-state 0 ~D")
+ (dk m (kbd "n") "resize-with-state 0 ~D")
+ (dk m (kbd "j") "resize-with-state 0 ~D")
+
+ (dk m (kbd "Left") "resize-with-state -~D 0")
+ (dk m (kbd "C-b") "resize-with-state -~D 0")
+ (dk m (kbd "b") "resize-with-state -~D 0")
+ (dk m (kbd "h") "resize-with-state -~D 0")
+
+ (dk m (kbd "Right") "resize-with-state ~D 0")
+ (dk m (kbd "C-f") "resize-with-state ~D 0")
+ (dk m (kbd "f") "resize-with-state ~D 0")
+ (dk m (kbd "l") "resize-with-state ~D 0")
(define-key m (kbd "RET") "exit-iresize")
(define-key m (kbd "C-g") "abort-iresize")
(define-key m (kbd "ESC") "abort-iresize")))))
(update-resize-map)
+(defvar *resize-state* (list 0 0))
+
+(defcommand resize-with-state (width height) ((:number "+ Width: ")
+ (:number "+ Height: "))
+ (incf (first *resize-state*) width)
+ (incf (second *resize-state*) height)
+ (resize width height))
+
(defcommand iresize () ()
(let ((frame (tile-group-current-frame (current-group))))
(if (atom (tile-group-frame-head (current-group) (frame-head
(current-group) frame)))
(message "There's only 1 frame!")
(progn
+ (setf *resize-state* '(0 0))
(when *resize-hides-windows*
(dolist (f (head-frames (current-group) (current-head)))
(clear-frame f (current-group))))
@@ -100,7 +109,7 @@
(defcommand abort-iresize () ()
(resize-unhide)
(message "Abort resize")
- ;; TODO: actually revert the frames
+ (apply #'resize-with-state (mapcar #'- *resize-state*))
(pop-top-map))
(defcommand exit-iresize () ()
--
1.5.4
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [STUMP] [PATCH] Added state to iresize,
Raffael Mancini <=