Closed Bug 176640 Opened 22 years ago Closed 22 years ago

fullscreen mode works incorrectly on RedHat 8.0+Gnome 2

Categories

(SeaMonkey :: UI Design, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.3alpha

People

(Reporter: yuanyi21, Assigned: bryner)

References

Details

Attachments

(1 file, 2 obsolete files)

OS: RedHat 8.0 + Gnome 2
Build ID: 2002102416

steps:
1. open a browser window in normal size;
2. press F11 to turn on fullscreen mode;
3. click the minimize/maxmize button to turn off fullscreen mode (F11 can't work
at this time, why?)

actual result:
1. window restored, but maximized and can't restore its original size

expected result:
1. F11 can turn off fullscreen mode
2. window restored in its original size
worksforme with linux trunk build (RH8, blackboxWM)
confirmed with metacity.  The reason F11 doesn't work to immediately leave
full-screen mode is because focus is lost during the transition to full-screen
(probably because we have to hide and re-show the window to make it work
correctly with all window managers).  I plan to redo this soon using the correct
WM hints.
Havoc, I know we discussed over in bug 126685 that Mozilla should be using the
FULLSCREEN hint instead of trying to make itself full-screen and hiding the
window chrome.  However, I think there may be a metacity bug here too.  In
particular, the following series of steps:

- size a window to the full size of the screen
- hide the window
- remove all window chrome
- reshow the window
- hide the window again
- restore the window chrome
- show the window again

makes metacity think that the window is in a maximized state.  Attempts to then
resize the window from gtk have no effect.
Metacity has a hack in it (copied from KWin I think) where if a window is larger
than the normal size of a maximized window when the window is shown, 
then the window gets maximized. This hack is used only with decorated windows.

The main purpose of this hack was so that Mozilla would remember its
maximization state when Mozilla remembered its size. Previously, 
Mozilla would save/restore its maximized size but not actually be maximized
on restore.

Of course the hack shouldn't be required with GTK 2 mozilla that actually _does_
remember its maximized state. It may still be useful with 
OpenOffice and such.

If you shrink the window again before showing it with decorations, that would
keep the automaximize hack from kicking in.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.3alpha
Attached patch something like this (obsolete) — Splinter Review
What I did here was move the implementation of fullscreen mode down to the
widget layer so that we can easily override the generic behavior for gtk by
setting the fullscreen hint instead of manually positioning and sizing the
window.  This all works great on metacity, but I'm curious how many other
window managers support this hint.  Since it's possible to ask the window
manager whether this is supported we could disable the menu item at runtime if
necessary.  Should we keep the current behavior as a fallback if the window
manager doesn't support the fullscreen hint, or just disable it altogether if
it can't be done right?
Attached patch patch #2 (obsolete) — Splinter Review
removed now-unused member variables from nsGlobalWindow
Attachment #104255 - Attachment is obsolete: true
I would guess that metacity, kwin, sawfish, fvwm2, blackbox already have support, 
and others may as well. (Especially if apps use the hints, users bug the 
WM authors to add support, and it's not hard to support this sort of hint.)
Comment on attachment 104361 [details] [diff] [review]
remove unneeded parent widget call-up from nsBaseWidget fullscreen impl

sr=me
Attachment #104361 - Flags: superreview+
Comment on attachment 104361 [details] [diff] [review]
remove unneeded parent widget call-up from nsBaseWidget fullscreen impl

r=blizzard
Attachment #104361 - Flags: review+
Checked into the trunk.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
seems this caused bug 179043
Product: Core → Mozilla Application Suite
Depends on: 251599
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: