From 199e7ded3f1ba944b8a9129d6daca60d5d350c5c Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Wed, 22 Aug 2007 23:58:57 +0200 Subject: [PATCH] Add a _OB_FOCUS client message for obpanel to use. --- obt/prop.c | 1 + obt/prop.h | 1 + openbox/event.c | 2 ++ openbox/screen.c | 1 + 4 files changed, 5 insertions(+) diff --git a/obt/prop.c b/obt/prop.c index 89d3950d..43351e66 100644 --- a/obt/prop.c +++ b/obt/prop.c @@ -182,6 +182,7 @@ void obt_prop_startup() */ CREATE_(OPENBOX_PID); + CREATE_(OB_FOCUS); CREATE_(OB_THEME); CREATE_(OB_CONFIG_FILE); CREATE_(OB_WM_ACTION_UNDECORATE); diff --git a/obt/prop.h b/obt/prop.h index e1236116..c93414b0 100644 --- a/obt/prop.h +++ b/obt/prop.h @@ -201,6 +201,7 @@ typedef enum { /* Openbox specific atoms */ + OBT_PROP_OB_FOCUS, OBT_PROP_OB_WM_ACTION_UNDECORATE, OBT_PROP_OB_WM_STATE_UNDECORATED, OBT_PROP_OPENBOX_PID, /* this is depreecated in favour of ob_control */ diff --git a/openbox/event.c b/openbox/event.c index b0eb12a1..f6fc8a3a 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -1358,6 +1358,8 @@ static void event_handle_client(ObClient *client, XEvent *e) client_activate(client, FALSE, TRUE, TRUE, (e->xclient.data.l[0] == 0 || e->xclient.data.l[0] == 2)); + } else if (msgtype == OBT_PROP_ATOM(OB_FOCUS)) { + client_focus(client); } else if (msgtype == OBT_PROP_ATOM(NET_WM_MOVERESIZE)) { ob_debug("net_wm_moveresize for 0x%lx direction %d", client->window, e->xclient.data.l[2]); diff --git a/openbox/screen.c b/openbox/screen.c index ed196974..2fe33a68 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -286,6 +286,7 @@ gboolean screen_annex(void) supported[i++] = OBT_PROP_ATOM(KDE_NET_WM_FRAME_STRUT); supported[i++] = OBT_PROP_ATOM(KDE_NET_WM_WINDOW_TYPE_OVERRIDE); + supported[i++] = OBT_PROP_ATOM(OB_FOCUS); supported[i++] = OBT_PROP_ATOM(OB_WM_ACTION_UNDECORATE); supported[i++] = OBT_PROP_ATOM(OB_WM_STATE_UNDECORATED); supported[i++] = OBT_PROP_ATOM(OPENBOX_PID); -- 2.34.1