Open Bug 476558 Opened 16 years ago Updated 2 years ago

on session restore, lots of windows are restored as minimized rather than normal (with metacity)

Categories

(Core :: Widget: Gtk, defect, P5)

All
Linux
defect

Tracking

()

People

(Reporter: dbaron, Unassigned)

References

Details

Attachments

(1 file)

Since bug 463964, when I restore a session, most of the windows in that session are restored as minimized. Steps to reproduce: 1. in the Ubuntu toolbar (I'm running Ubuntu 8.10), set System -> Preferences -> Appearance -> Visual Effects set to None, which makes my window manager metacity (rather than compiz). 2. In Firefox, change Edit -> Preferences -> Main -> Startup -> When Firefox starts to "Show my windows and tabs from last time" 3. open a bunch of Firefox windows, and position them on multiple virtual desktops 4. quit firefox 5. restart firefox Expected results: no windows are minimized Actual results: all Firefox windows except the ones that were on the virtual desktop where I was when I quit, and the oldest window, are minimized. This is because metacity marks windows as minimized when they're on a hidden desktop. I think this is normal behavior for window managers that use actual virtual desktops rather than one big virtual coordinate space in which windows can be positioned partly on one desktop and partly in another. I think we should probably fix this by changing the GTK widget code to report minimized sizemode only when the window is really minimized.
Flags: blocking1.9.1?
(Note that bug 372650 covers actually restoring desktop positions.)
Not a blocker, but obviously we'd take a polish fix here as it's probably pretty annoying.
Flags: blocking1.9.1? → blocking1.9.1-
_Can_ this be fixed in Mozilla code, or only by fixing Metacity code? In the latter case, I suppose it should be reported to whoever makes the Metacity desktop manager and resolved here as INVALID (Not Our Bug).
For reference, this is what I have been using on Debian to mitigate this problem. See analysis in bug 527799.
http://standards.freedesktop.org/wm-spec/wm-spec-1.4.html#id2505544 "There are at least two options for implementing virtual desktops. [...] The second option is to keep all managed windows as children of the root window and unmap the frames of those which are not on the current desktop. Unmapped windows should be placed in IconicState, according to the ICCCM. Windows which are actually iconified or minimized should have the _NET_WM_STATE_HIDDEN property set, to communicate to pagers that the window should not be represented as "onscreen." So it sounds like _NET_WM_STATE_HIDDEN is the appropriate way to detect a window that is "minimized" in the Gecko sense of the word, and possibly GDK_WINDOW_STATE_ICONIFIED should only be used for such windows. GdkWindowState, however, doesn't have a bit to indicate unmapped but would be mapped if the virtual desktop were active. I'm not sure how much fixing bug 372650 would help here, but I'll mark it as a dependency because it is related.
Depends on: 372650
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: