Re: [PATCH] maximize-horizontally/vertically behaviour change + fix
- From: dmg <dmg uvic ca>
- To: General discussion about sawfish wm <sawfish-list gnome org>
- Subject: Re: [PATCH] maximize-horizontally/vertically behaviour change + fix
- Date: Tue, 8 Dec 2009 03:11:33 -0800
Hi everybody,
one thing that I have been wanting is an automatic maximize of windows
when there is a change in the size of the screen.
I use a tablet, and when the display is put in slate mode I need to
unmaximize-maximize windows manually. Does anybody
know where should I hook to the even of resizing the size of the screen?
thanks a lot!
--(the other) daniel
On Mon, Dec 7, 2009 at 8:55 PM, Teika Kazura <teika lavabit com> wrote:
> 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
>
>
>
--
--dmg
---
Daniel M. German
http://turingmachine.org
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]