After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 117391 - Metacity could guess window->fullscreen initial state
Metacity could guess window->fullscreen initial state
Status: RESOLVED DUPLICATE of bug 106740
Product: metacity
Classification: Other
Component: EWMH specification
2.5.x
Other Linux
: Normal enhancement
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
Depends on:
Blocks:
 
 
Reported: 2003-07-14 15:48 UTC by Keith Packard
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Keith Packard 2003-07-14 15:48:37 UTC
Windows which start out the size of the screen could be assumed to be
fullscreen windows.  This avoids having them placed below the panel.
Comment 1 Havoc Pennington 2003-07-14 16:16:50 UTC
There's already a long saga of trying to get this workaround right, 
if you find the right bugzilla comments and cvs logs you could 
reconstruct it.

The current workaround is in stack.c:get_standalone_layer(), 
window_is_fullscreen_size()
Comment 2 Keith Packard 2003-07-15 01:10:57 UTC
I saw the current workaround, and noticed that it was only affected
the stacking order and not geometry.  I used the same function to
simply assign window->fullscreen (which isn't quite right) and my
full-screen apps started working nicely.  Much as the window type of
non-ewmh apps is inferred from various window attributes, I think the
fullscreen attribute could be easily guessed by the initial
application geometry, if it matches the size of the screen, the
application could be placed in fullscreen at startup time.  The fix is
trivial; delete the special case in the stacking mode code and
initialize fullscreen from meta_window_new using similar code.

The current partial kludge seems the worst of both worlds -- an
unmanagable window that can't obscure the panel.
Comment 3 Havoc Pennington 2003-07-15 04:48:46 UTC
If you look at the cvs logs and find the right diff, you'll see that 
it used to work the way you say. It had problems leading me to change
it to the way it is now. I don't really remember the details but I
remember being pretty sure this way was better and I know I have had
many fewer complaints about it recently.

I don't actually see the problem right now - if the window is
undecorated, fullscreen size, and on top of everything including the
panel, what else do you want?

In any case, it's fully impossible to magically figure this out 100% 
of the time, so at some point the answer has to be screw it, fix the
applications to use the fullscreen hint.

Is the problem that the window gets moved down (not at 0,0)? That's 
probably a new bug introduced on HEAD, there's already an open bug 
about that (to re-add the exception to the "not overlapping panel"
constraint for windows larger than the area between the panels).
Comment 4 Rob Adams 2003-07-15 17:36:33 UTC
speaking of which the fullscreen_size heuristic is really broken.  A
coworker pointed this out to me: try putting a menu panel at the top
and another panel at the bottom.  Maximize a window -- often it will
decide the maximized window is fullscreen size and give it fullscreen
window stacking, which is highly suboptimal to say the least.  I'm not
quite sure why this is happening since the window decorations ought to
prevent it, but it definitely does happen.  As a test adding return
FALSE to the beginning of window_is_fullscreen_size in stack.c fixed
that bug.
Comment 5 Havoc Pennington 2003-07-15 19:22:58 UTC
should definitely open a bug for that, it must be something silly.
Comment 6 Keith Packard 2003-07-15 19:41:56 UTC
I don't see the window getting placed on top of the panel; the
fullscreen detection code affects only stacking order and not
position.  When I have a panel at the top of the screen, the window is
pushed below that, although it appears to be left at it's original
size.  Perhaps if the panel was at the bottom things would "just work"
as you indicate.
Comment 7 Havoc Pennington 2003-07-15 19:58:50 UTC
Sounds like the real bug is the position constraints thing.
Comment 8 Keith Packard 2003-07-15 20:10:03 UTC
Ok.  I can put a call to the 'is this full-sized' function in that
part of the code and see if it works, instead of the sledge hammer
approach I'm currently using.
Comment 9 Havoc Pennington 2003-07-15 20:15:16 UTC

*** This bug has been marked as a duplicate of 106740 ***