From d070b0abfdf3f6d70e3ef84ac23d46298c27e3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin Gräßlin?= 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 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml index 9bb5c25..3e9ab92 100644 --- a/wm-spec/wm-spec.xml +++ b/wm-spec/wm-spec.xml @@ -1816,6 +1816,35 @@ triggered by a keyboard shortcut) the Client should set it to useful values the window manager can use to position the menu. + + _NET_WM_PERFORM_BUTTON_ACTION + +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. + + +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: + + + +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. + + @@ -2332,6 +2361,9 @@ OR OTHER DEALINGS IN THE SOFTWARE. Changes since 1.4draft +Added _NET_WM_PERFORM_BUTTON_ACTION + + Added _NET_WM_SHOW_WINDOW_MENU -- 2.0.0