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 > >