Well, I think this points to an off-by-one bug in Firefox's SessionStore.jsm

A quick peek into the source made me stumble over this:

Bottom and right coordinates are calculated there this way: bottom =
top + height
this will result in an off-by-1 bottom coordinate...
...shouldn't it be  bottom = top + height - 1 ?

Please look at the restoreDimensions() function, line 4137+
in particular lines 4165 and 4180

(Link: 
https://hg.mozilla.org/mozilla-central/file/190b827aaa2b/browser/components/sessionstore/SessionStore.jsm
)

What do you think?
Do you think a bug report at Mozilla is justified?

On 8/28/18, Dominik Vogt <dominik.v...@gmx.de> wrote:
> On Tue, Aug 28, 2018 at 03:22:54AM +0200, hw wrote:
>> Dominik Vogt <dominik.v...@gmx.de> writes:
>>
>> > On Mon, Aug 27, 2018 at 10:36:58PM +0200, hw wrote:
>> >> Dominik Vogt <dominik.v...@gmx.de> writes:
>> >>
>> >> > On Sun, Aug 26, 2018 at 09:30:14PM +0200, hw wrote:
>> >>
>> >> > [...]
>> >> >> IIUC, I explicitly told the window manager to ignore what the
>> >> >> program
>> >> >> tries to do about the placement of the windows it creates, and yet
>> >> >> the
>> >> >> window manager still allows the program to do (part of) what it
>> >> >> wants
>> >> >> rather than what I told the window manager to do about the window
>> >> >> placement.
>> >> >>
>> >> >> So either the window manager is ignoring what I'm telling it to do,
>> >> >> or
>> >> >> the program is able to override the window manager, or both.
>> >> >
>> >> > That's exactly what I wrote.  The window manager cannot know that
>> >> > the application lies about the user's wish.  The situation is
>> >> > impossible to detect.
>> >>
>> >> I don't understand: The window manager does not need to detect lies
>> >> when
>> >> I tell it not to allow a program to move its windows and not to allow
>> >> it
>> >> to create them at a particular position.  It only needs to enforce
>> >> thes
>> >> policies, and the placement policy.
>> >>
>> >> In this case, fvwm appears to be enforcing the creation and movement
>> >> policies correctly and the placement policy only partially.
>> >
>> > Then please enlighten us with the output of
>> >
>> >   bugopts explainwindowplacement on
>> >
>> > so we can see what's going on.  Fvwm just does what it's told, we
>> > haven't coded a glass ball inside it.
>>
>> Thanks to your other post, I finally got this:
>>
>>
>> ,----
>> | [fvwm][__explain_placement]: placed new window 0x1400010 'Mozilla
>> Firefox':
>> |   initial size 1280x2161
>> |   desk 0 (current desk)
>> |   current page
>> |   screen: current screen: 0 0 3840x2160 (current screen)
>> |   position 0 0, placed by fvwm (normal placement)
>> |     placement method: MinOverlapPercent
>> |
>> | [fvwm][__explain_placement]: placed new window 0x1400032 'Mozilla
>> Firefox':
>> |   initial size 1280x2161
>> |   desk 0 (current desk)
>> |   current page
>> |   screen: current screen: 0 0 3840x2160 (current screen)
>> |   position 0 0, placed by fvwm (ignored program specified position)
>> |     placement method: MinOverlapPercent
> ...
>> Oh, ok, there is actually four windows, not three.  I forgot about the
>> fourth one because I didn't get to see it.  A fourth window must somehow
>> have been created after Firefox said it had crashed a Tab and I was
>> missing a window after that.
>
> The problem is that the windows are created larger than your
> screen.  The window height is 2161 pixels but the screen is only
> 2160 pixels.  MinOverlapPercent never places any part outside of
> the screen.  In this case, the algorithm fails and windows are
> placed at 0 0.  The message could be improved a bit in that case;
> I've obviously missed that case when writing that output.  Never
> happened to me.
>
> If you reduce window heigt by a pixel, that should work fine.
>
> Personally I'm happy with
>
>   Style SeaMonkey MaxWindowSize 99 97
>
> which limits the size of Seamonkey windows to 99% of the screen
> width and 97% of its height.  You may want to try that too (or
> even 100%).
>
>> BTW, I'm seeing
>>
>>
>> ,----
>> | [fvwm][style_parse_and_set_window_style]: <<ERROR>> Bad style option:
>> gnomeignorehints
>> `----
>>
>>
>> in the log file.  Why is this a bad option?
>
> The style doesn't exist anymore.
>
> Ciao
>
> Dominik ^_^  ^_^
>
> --
>
> Dominik Vogt
>
>

Reply via email to