Undecorated windows have host decorations placed on them after maximize/unmaximize cycle
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Chromium Browser |
Unknown
|
Unknown
|
|||
Unity |
Fix Released
|
Medium
|
Sam Spilsbury | ||
chromium-browser (Ubuntu) |
Fix Released
|
Medium
|
Sam Spilsbury | ||
unity (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This problem affects VMware Unity (which uses undecorated host windows to render Virtual Machine guest windows as shown here: http://
This can be easily reproduced with Ubuntu 11.04, running Unity mode (I'm running 3d currently), with Google Chrome:
1) Install Ubuntu 11.04, sign into Ubuntu Unity mode
2) Install and start Google Chrome. By default this comes up undecorated, though it can be set in Google Chrome's preferences
3) Maximize the Google Chrome window
4) Unmaximize the Google Chrome window
5) Observe that now Google Chrome is decorated, even though it was set to undecorated prior to the maximize/unmaximize cycle.
This also happens with our VMware Unity windows. We use gtk_window_
_MOTIF_
_NET_WM_
WM_NORMAL_
program specified location: 0, 0
program specified minimum size: 0 by 0
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_
WM_CLASS(STRING) = "Notepad.
When the user maximizes the window in the guest, I see these property changes via xprop -spy:
_NET_WM_
_NET_WM_STATE(ATOM) = _NET_WM_
_MOTIF_
(note that we don't actually set _NET_WM_
_NET_WM_STATE(ATOM) =
_MOTIF_
_NET_WM_
_NET_FRAME_
_COMPIZ_
_COMPIZ_
_COMPIZ_
So Ubuntu Unity seems to be changing _MOTIF_WM_HINTS on us and it shouldn't.
Related branches
- Alex Launi (community): Needs Fixing
-
Diff: 172 lines (+65/-2)5 files modifiedsrc/PanelMenuView.cpp (+27/-1)
src/PanelMenuView.h (+5/-0)
src/WindowManager.h (+2/-0)
src/unityshell.cpp (+29/-1)
src/unityshell.h (+2/-0)
Changed in unity (Ubuntu): | |
status: | New → Confirmed |
Changed in unity: | |
status: | Confirmed → Fix Committed |
status: | Fix Committed → Confirmed |
Changed in unity: | |
status: | Confirmed → Fix Released |
Changed in unity (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in chromium-browser (Ubuntu): | |
status: | Confirmed → Fix Released |
Actually, http:// code.google. com/p/chromium/ issues/ detail? id=75485 is the right bug that Google Chrome is trying to deal with for the same problem.