thanks for the feedback. Addressed both and new patches attached. Cheers Martin
On Monday 30 June 2014 11:38:37 Jasper St. Pierre wrote: > For _NET_WM_PERFORM_BUTTON_ACTION, should these be used for left-clicking > to start moving and resizing? We would have to specify the different corner > regions, so no, I don't think so. You should probably mention that this is > for clicking on the titlebar only (maybe even change the name to > PERFORM_TITLEBAR_ACTION perhaps?). > > _NET_WM_WINDOW_MENU looks fine to me, but maybe add a timestamp field for > good measure? You can never go wrong with an extra timestamp field. > > On Mon, Jun 30, 2014 at 10:13 AM, Martin Gräßlin <mgraess...@kde.org> wrote: > > Hi all, > > > > attached are two patches for the NETWM spec. One message is to show the > > window > > manager's window menu, the other is for passing the responsibility to > > perform > > a button action from the client to the window manager. For detailed > > information please have a look on the attached patches. > > > > The need for these two client messages were derived by GTK+ and KWin > > developers for better integrating GTK's new client-side-decorated windows > > in > > environments which are not GNOME Shell. > > > > KWin will add support for those two new hints and it looks like GTK+ and > > Mutter will also support them. > > > > I would like to hear your feedback on them for inclusion into the NETWM > > spec. > > > > Best Regards > > Martin Gräßlin > > _______________________________________________ > > wm-spec-list mailing list > > wm-spec-list@gnome.org > > https://mail.gnome.org/mailman/listinfo/wm-spec-list > > -- > Jasper
From 5c597b4b270d6322f76f3b2e7485d8032d86fcc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin GräÃlin?= <mgraess...@kde.org> Date: Mon, 30 Jun 2014 15:34:57 +0200 Subject: [PATCH 1/2] _NET_WM_SHOW_WINDOW_MENU Adding a new client message _NET_WM_SHOW_WINDOW_MENU which can be used by Clients to show the window manager's window menu. The rational is to integrate Clients using client-side-decorations better into the environment they are running in. --- wm-spec/wm-spec.xml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml index 0859dc6..9217aa3 100644 --- a/wm-spec/wm-spec.xml +++ b/wm-spec/wm-spec.xml @@ -1789,6 +1789,34 @@ default positions. Note: The property is not used anywhere else besides being listed in _NET_SUPPORTED. </para> </sect2> + <sect2> + <title>_NET_WM_SHOW_WINDOW_MENU</title> + <para> +By including this hint in _NET_SUPPORTED the Window Manager announces +that it supports showing a menu offering window management options for a +given client. + </para> + <para> +A Client can request this menu by sending a _NET_WM_SHOW_WINDOW_MENU client message +to the root window: + </para> + <programlisting><![CDATA[ +_NET_WM_SHOW_WINDOW_MENU + message_type = _NET_WM_SHOW_WINDOW_MENU + window = window for which the menu should be shown + format = 32 + data.l[0] = xinput2_device_id + data.l[1] = root_x + data.l[2] = root_y + data.l[3] = timestamp + other data.l[] elements = 0 +]]></programlisting> + <para> +If the Xinput2 device which triggered the event does not provide coordinates (e.g. +triggered by a keyboard shortcut) the Client should set it to useful values the +window manager can use to position the menu. + </para> + </sect2> </sect1> <sect1> @@ -2305,6 +2333,9 @@ OR OTHER DEALINGS IN THE SOFTWARE. <title>Changes since 1.4draft</title> <itemizedlist> <listitem><para> +Added _NET_WM_SHOW_WINDOW_MENU + </para></listitem> + <listitem><para> Added _NET_WM_BYPASS_COMPOSITOR </para></listitem> <listitem><para> -- 2.0.0
From 26961112bf02ed9f0983bb863fdf8a9ebbe33c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin GräÃlin?= <mgraess...@kde.org> Date: Mon, 30 Jun 2014 15:47:11 +0200 Subject: [PATCH 2/2] _NET_WM_PERFORM_BUTTON_ACTION Adding a new client message _NET_WM_PERFORM_BUTTON_ACTION which can be used by Clients to request the window manager to perform an action when a button is pressed on the window decoration area of a window. The rational is to integrate Clients using client-side-decorations better into the environment they are running in. So instead of performing an action like raise/lower on middle click the task is delegated to the window manager. The window manager can then perform the same action as it does for windows it decorates. --- wm-spec/wm-spec.xml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml index 9217aa3..f6dcd9c 100644 --- a/wm-spec/wm-spec.xml +++ b/wm-spec/wm-spec.xml @@ -1817,6 +1817,37 @@ triggered by a keyboard shortcut) the Client should set it to useful values the window manager can use to position the menu. </para> </sect2> + <sect2> + <title>_NET_WM_PERFORM_BUTTON_ACTION</title> + <para> +By including this hint in _NET_SUPPORTED the Window Manager announces +that it supports performing pointer button specific events. For example a window +manager might raise or lower a Client when the decoration is middle clicked or show +a window menu on right click. However, the handling of left mouse button to trigger +move/resize mode should not be passed to the window manager as the window manager +cannot know in which areas a move or resize should be started. + </para> + <para> +A Client can request that the window manger should perform such an action by sending +a _NET_WM_PERFORM_BUTTON_ACTION client message to the root window: + </para> + <programlisting><![CDATA[ +_NET_WM_PERFORM_BUTTON_ACTION + message_type = _NET_WM_PERFORM_BUTTON_ACTION + window = window for which the action should be performed + format = 32 + data.l[0] = xinput2_device_id + data.l[1] = root_x + data.l[2] = root_y + data.l[3] = button + data.l[4] = timestamp +]]></programlisting> + <para> +If the Xinput2 device which triggered the event does not provide coordinates (e.g. +triggered by a keyboard shortcut) the Client should set it to useful values the +window manager can use to position the menu. + </para> + </sect2> </sect1> <sect1> @@ -2333,6 +2364,9 @@ OR OTHER DEALINGS IN THE SOFTWARE. <title>Changes since 1.4draft</title> <itemizedlist> <listitem><para> +Added _NET_WM_PERFORM_BUTTON_ACTION + </para></listitem> + <listitem><para> Added _NET_WM_SHOW_WINDOW_MENU </para></listitem> <listitem><para> -- 2.0.0
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ wm-spec-list mailing list wm-spec-list@gnome.org https://mail.gnome.org/mailman/listinfo/wm-spec-list