Hi all, sawfish has an expand function, which is called maximize-fill-window, but there's no oposite to that, so I added (locally) contract-window, which is based on shrink-window-*. Now the Question is, what do you like better: a) replace maximize-fill-window by grow-window-* based expand-window b) add maximize-unfill-window (ugly name I know) ? local diff attached. Chris
diff --git a/lisp/sawfish/wm/commands/grow-pack.jl b/lisp/sawfish/wm/commands/grow-pack.jl index 632bd47..68cc4c3 100644 --- a/lisp/sawfish/wm/commands/grow-pack.jl +++ b/lisp/sawfish/wm/commands/grow-pack.jl @@ -33,7 +33,8 @@ pack-window-left pack-window-right pack-window-up - pack-window-down) + pack-window-down + expand-window) (open rep sawfish.wm.windows @@ -139,6 +140,13 @@ With a numeric prefix arg, move upwards by that many pixels instead." See `pack-window-up'." (pack-window w 'down arg)) + (define (expand-window w #!optional arg) + "Expands a window. (grow in all four directions)" + (grow-window w 'up arg) + (grow-window w 'right arg) + (grow-window w 'down arg) + (grow-window w 'left arg)) + ;; Command defs ;;###autoload @@ -150,6 +158,7 @@ See `pack-window-up'." (define-command 'pack-window-right pack-window-right #:spec "%W\nP") (define-command 'pack-window-up pack-window-up #:spec "%W\nP") (define-command 'pack-window-down pack-window-down #:spec "%W\nP") + (define-command 'expand-window expand-window #:spec "%W\nP") ;; Implementation part. 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:
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil