updated proposed patch attached.
diff --git a/lisp/sawfish/wm/commands/shrink-yank.jl b/lisp/sawfish/wm/commands/shrink-yank.jl
index c6db7dd..78ef8f9 100644
--- a/lisp/sawfish/wm/commands/shrink-yank.jl
+++ b/lisp/sawfish/wm/commands/shrink-yank.jl
@@ -30,7 +30,8 @@
yank-window-left
yank-window-right
yank-window-up
- yank-window-down)
+ yank-window-down
+ contract-window)
(open rep
sawfish.wm.commands
@@ -88,6 +89,13 @@ before."
before."
(yank-window window 'down))
+ (define (contract-window window)
+ "Contracts a window. (shrink in all four directions)"
+ (shrink-window window 'up)
+ (shrink-window window 'right)
+ (shrink-window window 'down)
+ (shrink-window window 'left))
+
;;###autoload
(define-command 'shrink-window-left shrink-window-left #:spec "%W")
(define-command 'shrink-window-right shrink-window-right #:spec "%W")
@@ -97,6 +105,7 @@ before."
(define-command 'yank-window-right yank-window-right #:spec "%W")
(define-command 'yank-window-up yank-window-up #:spec "%W")
(define-command 'yank-window-down yank-window-down #:spec "%W")
+ (define-command 'contract-window contract-window #:spec "%W")
;;; Implementation:
diff --git a/lisp/sawfish/wm/state/maximize.jl b/lisp/sawfish/wm/state/maximize.jl
index 2c89973..c7560e1 100644
--- a/lisp/sawfish/wm/state/maximize.jl
+++ b/lisp/sawfish/wm/state/maximize.jl
@@ -39,12 +39,12 @@
maximize-window-toggle
maximize-window-vertically-toggle
maximize-window-horizontally-toggle
- maximize-fill-window
- maximize-fill-window-vertically
- maximize-fill-window-horizontally
- maximize-fill-window-toggle
- maximize-fill-window-vertically-toggle
- maximize-fill-window-horizontally-toggle
+ expand-window
+ expand-window-vertically
+ expand-window-horizontally
+ expand-window-toggle
+ expand-window-vertically-toggle
+ expand-window-horizontally-toggle
maximize-window-fullscreen
maximize-window-fullscreen-toggle
maximize-window-fullxinerama
@@ -454,40 +454,40 @@ unmaximized."
;;; fill commands
- (define (maximize-fill-window w #!optional direction)
+ (define (expand-window w #!optional direction)
"Maximize the window without obscuring any other windows."
(let ((avoid-by-default t)
(maximize-always-expands t)
(dont-avoid-ignored maximize-ignore-when-filling))
(maximize-window w direction t)))
- (define (maximize-fill-window-vertically w)
+ (define (expand-window-vertically w)
"Maximize the window vertically without obscuring any other windows."
- (maximize-fill-window w 'vertical))
+ (expand-window w 'vertical))
- (define (maximize-fill-window-horizontally w)
+ (define (expand-window-horizontally w)
"Maximize the window horizontally without obscuring any other windows."
- (maximize-fill-window w 'horizontal))
+ (expand-window w 'horizontal))
- (define (maximize-fill-window-toggle w #!optional direction)
+ (define (expand-window-toggle w #!optional direction)
"Toggle the state of the window between maximized-filled and unmaximized."
(if (window-maximized-p w)
(unmaximize-window w direction)
- (maximize-fill-window w direction)))
+ (expand-window w direction)))
- (define (maximize-fill-window-vertically-toggle w)
+ (define (expand-window-vertically-toggle w)
"Toggle the state of the window between vertically maximized-filled and
unmaximized."
(if (window-maximized-vertically-p w)
(unmaximize-window w 'vertical)
- (maximize-fill-window w 'vertical)))
+ (expand-window w 'vertical)))
- (define (maximize-fill-window-horizontally-toggle w)
+ (define (expand-window-horizontally-toggle w)
"Toggle the state of the window between horizontally maximized-filled and
unmaximized."
(if (window-maximized-horizontally-p w)
(unmaximize-window w 'horizontal)
- (maximize-fill-window w 'horizontal)))
+ (expand-window w 'horizontal)))
(define (maximize-unframe w)
(set-window-type w 'unframed)
@@ -498,18 +498,18 @@ unmaximized."
(maximize-window w))
;;###autoload
- (define-command 'maximize-fill-window
- maximize-fill-window #:spec "%W")
- (define-command 'maximize-fill-window-vertically
- maximize-fill-window-vertically #:spec "%W")
- (define-command 'maximize-fill-window-horizontally
- maximize-fill-window-horizontally #:spec "%W")
- (define-command 'maximize-fill-window-toggle
- maximize-fill-window-toggle #:spec "%W")
- (define-command 'maximize-fill-window-horizontally-toggle
- maximize-fill-window-horizontally-toggle #:spec "%W")
- (define-command 'maximize-fill-window-vertically-toggle
- maximize-fill-window-vertically-toggle #:spec "%W")
+ (define-command 'expand-window
+ expand-window #:spec "%W")
+ (define-command 'expand-window-vertically
+ expand-window-vertically #:spec "%W")
+ (define-command 'expand-window-horizontally
+ expand-window-horizontally #:spec "%W")
+ (define-command 'expand-window-toggle
+ expand-window-toggle #:spec "%W")
+ (define-command 'expand-window-horizontally-toggle
+ expand-window-horizontally-toggle #:spec "%W")
+ (define-command 'expand-window-vertically-toggle
+ expand-window-vertically-toggle #:spec "%W")
(define-command 'maximize-unframe
maximize-unframe #:spec "%W")
(define-command 'maximize-reframe
diff --git a/man/sawfish.texi b/man/sawfish.texi
index decbf94..0414ba7 100644
--- a/man/sawfish.texi
+++ b/man/sawfish.texi
@@ -2303,8 +2303,8 @@ maximize without overlap to any other windows, except ``ignored'' ones.
In addition, they don't shrink the window even if it is already bigger
than the screen size.
- deffn Function maximize-fill-window window &optional direction
- deffnx Command maximize-fill-window window
+ deffn Function expand-window window &optional direction
+ deffnx Command expand-window window
Maximize both dimensions of @var{window} without overlapping other
windows.
@@ -2313,20 +2313,20 @@ If defined, @var{direction} is a symbol, either @code{vertical} or
direction.
@end deffn
- deffn Function maximize-fill-window-vertically window
- deffnx Command maximize-fill-window-vertically window
+ deffn Function expand-window-vertically window
+ deffnx Command expand-window-vertically window
Maximize the vertical dimension of @var{window} in the screen without
overlapping other windows.
@end deffn
- deffn Function maximize-fill-window-horizontally window
- deffnx Command maximize-fill-window-horizontally window
+ deffn Function expand-window-horizontally window
+ deffnx Command expand-window-horizontally window
Maximize the horizontal dimension of @var{window} in the screen
without overlapping other windows.
@end deffn
- deffn Function maximize-fill-window-toggle window
- deffnx Command maximize-fill-window-toggle window
+ deffn Function expand-window-toggle window
+ deffnx Command expand-window-toggle window
Toggle the state of @var{window} between maximized and unmaximized in
the screen without overlapping other windows.
@@ -2335,14 +2335,14 @@ If defined, @var{direction} is a symbol, either @code{vertical} or
direction.
@end deffn
- deffn Function maximize-fill-window-vertically-toggle window
- deffnx Command maximize-fill-window-vertically-toggle window
+ deffn Function expand-window-vertically-toggle window
+ deffnx Command expand-window-vertically-toggle window
Toggle the state of @var{window} between vertically maximized and
unmaximized in the screen without overlapping other windows.
@end deffn
- deffn Function maximize-fill-window-horizontally-toggle window
- deffnx Command maximize-fill-window-horizontally-toggle window
+ deffn Function expand-window-horizontally-toggle window
+ deffnx Command expand-window-horizontally-toggle window
Toggle the state of @var{window} between horizontally maximized and
unmaximized in the screen without overlapping other windows.
@end deffn
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil