GNOME Bugzilla – Bug 729773
CSD context menu ignores _NET_ALLOWED_ACTIONS
Last modified: 2014-06-27 20:47:41 UTC
The context menu on CSD styled dialogs disables actions which are allowed in _NET_WM_ALLOWED_ACTIONS. GTK+ should follow what the window manager allows (see http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140146176742688 ). Steps to reproduce: 1. Run KWin 2. Run gtk3-demo 3. Select Dialog and Message Boxes 4. Run the demo 5. Select Message Dialog 6. Right-click the window decoration Actual Result: Minimize action is disabled Expected Result: Minimize action is enabled, as it's in _NET_WM_ALLOWED_ACTIONS For reference the xprop of the window: _NET_WM_OPAQUE_REGION(CARDINAL) = 31, 25, 462, 4, 27, 29, 470, 175, 31, 204, 462, 4 _GTK_FRAME_EXTENTS(CARDINAL) = 27, 27, 25, 29 _NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE _NET_WM_DESKTOP(CARDINAL) = 0 _KDE_NET_WM_ACTIVITIES(STRING) = "00000000-0000-0000-0000-000000000000" WM_STATE(WM_STATE): window state: Normal icon window: 0x0 _NET_WM_STATE(ATOM) = _NET_WM_STATE_MODAL, _NET_WM_STATE_SKIP_TASKBAR WM_HINTS(WM_HINTS): Client accepts input or input focus: True Initial state is Normal State. window id # of group leader: 0x1a00001 _KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 80855429 _KDE_OXYGEN_BACKGROUND_PIXMAP(CARDINAL) = 1 _KDE_OXYGEN_BACKGROUND_GRADIENT(CARDINAL) = 1 _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x0, 0x0, 0x0 WM_TRANSIENT_FOR(WINDOW): window id # 0x1a00e6e _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 27267461, 27267462 _NET_WM_USER_TIME(CARDINAL) = 80871524 _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x1a01184 WM_CLIENT_LEADER(WINDOW): window id # 0x1a00001 _NET_WM_PID(CARDINAL) = 25540 WM_LOCALE_NAME(STRING) = "C" WM_CLIENT_MACHINE(STRING) = "martin-desktop" WM_NORMAL_HINTS(WM_SIZE_HINTS): program specified location: 0, 0 program specified minimum size: 524 by 237 program specified maximum size: 524 by 237 program specified base size: 0 by 0 window gravity: NorthWest WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST WM_CLASS(STRING) = "gtk3-demo", "Gtk3-demo" WM_ICON_NAME(STRING) = " " _NET_WM_ICON_NAME(UTF8_STRING) = " " WM_NAME(STRING) = " " _NET_WM_NAME(UTF8_STRING) = " "
GTK+ dialogs can't be minimized. I don't agree that the window manager should be able to control this.
you will be able to handle this yourself in the near future, when we move the window menu back to the wm side
(In reply to comment #1) > GTK+ dialogs can't be minimized. I don't agree that the window manager should > be able to control this. this is incorrect. I was able to minimize the test dialog with KWin. You are violating the NETWM specification here if you say they cannot be minimized. That might be the case for GNOME Shell, but please don't enforce design decisions to other desktop environments. In KWin we allow the minimization of dialog windows and don't have any problems with that. So it should also be easily possible for GTK windows. (In reply to comment #2) > you will be able to handle this yourself in the near future, when we move the > window menu back to the wm side This is not a solution for our stable release 4.11 which got released last July! We are not able to add new code for that. I do hope that you intend to fix this regression.