Add a _OB_FOCUS client message for obpanel to use.
authorMikael Magnusson <mikachu@comhem.se>
Wed, 22 Aug 2007 21:58:57 +0000 (23:58 +0200)
committerMikael Magnusson <mikachu@gmail.com>
Sun, 19 Sep 2010 15:55:22 +0000 (17:55 +0200)
obt/prop.c
obt/prop.h
openbox/event.c
openbox/screen.c

index bef9c9996d4d091707d7cf9ed4b0016c6da7025d..0f0259efa353624821d2d211a0ee148c75bddf50 100644 (file)
@@ -185,6 +185,7 @@ void obt_prop_startup(void)
 */
 
     CREATE_(OPENBOX_PID);
+    CREATE_(OB_FOCUS);
     CREATE_(OB_THEME);
     CREATE_(OB_CONFIG_FILE);
     CREATE_(OB_WM_ACTION_UNDECORATE);
index 7ccc218e195ab1d0a09debcc101b0746ddf610e8..bc0a6d985b99343faba21f63201629417f41e6b5 100644 (file)
@@ -205,6 +205,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 */
index b59707bbd4cd92daddaaf209be57678fe6c6aafd..35bbbba2ebd0cfcf1f90ae505af840df82d7f8f3 100644 (file)
@@ -1446,6 +1446,8 @@ static void event_handle_client(ObClient *client, XEvent *e)
             client_activate(client, FALSE, 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]);
index f4af03deaf6be3eccd0d5c12c490914cf6038b13..0bfc4c69a31a22b09fe581414bd7ae6752bc45ce 100644 (file)
@@ -293,6 +293,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);