Re: [PATCH] maximize-horizontally/vertically behaviour change + fix



The change is done in commit 6071da, by Jeremy. Let's wait for
him. (Well, he seems to be busy. ;)

Yes, it's a bug.

Teika (Teika kazura)

On Sat, 5 Dec 2009 14:47:09 +0100, Christopher Roy Bratusek wrote:
> Hi all,
> 
> Before maximize-window-horizontally + maximize-window-vertically acted together,
> so the window first got MAXIMIZED_HORZ (state + size) then MAXIMIZED_VERT (state + size).
> 
> Now maximize-window-horizontally + maximize-window-vertically are oponents,
> so the window first gets MAXIMIZED_HORZ (sate + size), then it looses MAXIMIZED_HORZ (state + size),
> THEN it gets MAXIMIZED_VERT (state + size).
> 
> Why? Because MAXIMIZED_HORZ + MAXIMIZED_VERT *!=* MAXIMIZED.
> 
> For those who don't understand that:
> I have trayer on the bottom of my screen, but it's width is not screen-width,
> it's smaller, now when a windows left lower corner is on (0 . screen-height) and I call
> maximize-window-horizontally the window does not get width = screen-width and
> MAXIMIZED_HORZ, it gets width = until trayer begins and MAXIMIZED_HORZ, now say the window
> already had MAXIMIZED_VERT, normally then reopening the window with this setup, the size should
> now be (until trayer starts . screen-height), but it's not, now it's (screen-width . screen-height),
> and that is an epic fail.
> 
> For the (partially) old behaviour refer back to the -toggle variants, they work as the non -toggle
> ones did before but -of course- here now also MAXIMIZED_HORZ + MAXIMIZED_VERT != MAXIMIZED. 
> 
> Chris
> 
> Attached patch fixes the issue.
> 
> diff --git a/lisp/sawfish/wm/state/maximize.jl b/lisp/sawfish/wm/state/maximize.jl
> index 7341347..10c6350 100644
> --- a/lisp/sawfish/wm/state/maximize.jl
> +++ b/lisp/sawfish/wm/state/maximize.jl
> @@ -419,10 +419,12 @@ unmaximized, state."
>  
>    (define (maximize-window-vertically w)
>      "Maximize the vertical dimension of the window."
> +    (unmaximize-window w 'horizontal)
>      (maximize-window w 'vertical))
>  
>    (define (maximize-window-horizontally w)
>      "Maximize the horizontal dimension of the window."
> +    (unmaximize-window w 'vertical)
>      (maximize-window w 'horizontal))
>  
>    (define (maximize-window-toggle w #!optional direction)
> @@ -587,7 +589,7 @@ across all Xinerama and unmaximized."
>    (define-command 'maximize-window-fullxinerama
>      maximize-window-fullxinerama #:spec "%W
>  t")
> -  
> +
>    (define-command 'maximize-window-fullxinerama-toggle
>      maximize-window-fullxinerama-toggle #:spec "%W")
>  
> diff --git a/lisp/sawfish/wm/state/wm-spec.jl b/lisp/sawfish/wm/state/wm-spec.jl
> index 3ed1853..899b533 100644
> --- a/lisp/sawfish/wm/state/wm-spec.jl
> +++ b/lisp/sawfish/wm/state/wm-spec.jl
> @@ -553,12 +553,6 @@
>                                'toggle)))
>  		 (atom1 (x-atom-name (aref data 1)))
>  		 (atom2 (x-atom-name (aref data 2))))
> -	     (when (or (and (eq atom1 '_NET_WM_STATE_MAXIMIZED_VERT)
> -			    (eq atom2 '_NET_WM_STATE_MAXIMIZED_HORZ))
> -		       (and (eq atom2 '_NET_WM_STATE_MAXIMIZED_VERT)
> -			    (eq atom1 '_NET_WM_STATE_MAXIMIZED_HORZ)))
> -	       (setq atom1 '_NET_WM_STATE_MAXIMIZED)
> -	       (setq atom2 nil))
>  	     (when atom1
>  	       (call-state-fun w atom1 mode))
>  	     (when atom2




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]