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 729773 - CSD context menu ignores _NET_ALLOWED_ACTIONS
CSD context menu ignores _NET_ALLOWED_ACTIONS
Status: RESOLVED WONTFIX
Product: gtk+
Classification: Platform
Component: Widget: Other
3.12.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: CSD
 
 
Reported: 2014-05-08 05:49 UTC by Martin Gräßlin
Modified: 2014-06-27 20:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Martin Gräßlin 2014-05-08 05:49:19 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) = " "
Comment 1 Matthias Clasen 2014-05-11 13:54:47 UTC
GTK+ dialogs can't be minimized. I don't agree that the window manager should be able to control this.
Comment 2 Matthias Clasen 2014-05-11 13:58:08 UTC
you will be able to handle this yourself in the near future, when we move the window menu back to the wm side
Comment 3 Martin Gräßlin 2014-05-11 14:31:01 UTC
(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.