]> git.sur5r.net Git - i3/i3/blobdiff - include/xcb.h
Only send WM_TAKE_FOCUS when the client supports it in the protocols atom
[i3/i3] / include / xcb.h
index 8b531a3417016325251c388972ff8a8b3662182b..4a09766fe478aeb4bd49e842489de15f8de3fcc4 100644 (file)
                           XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY |   /* …subwindows get notifies */ \
                           XCB_EVENT_MASK_ENTER_WINDOW)           /* …user moves cursor inside our window */
 
-
-enum {
-    _NET_SUPPORTED = 0,
-    _NET_SUPPORTING_WM_CHECK,
-    _NET_WM_NAME,
-    _NET_WM_STATE_FULLSCREEN,
-    _NET_WM_STATE,
-    _NET_WM_WINDOW_TYPE,
-    _NET_WM_WINDOW_TYPE_DOCK,
-    _NET_WM_WINDOW_TYPE_DIALOG,
-    _NET_WM_WINDOW_TYPE_UTILITY,
-    _NET_WM_WINDOW_TYPE_TOOLBAR,
-    _NET_WM_WINDOW_TYPE_SPLASH,
-    _NET_WM_DESKTOP,
-    _NET_WM_STRUT_PARTIAL,
-    WM_PROTOCOLS,
-    WM_DELETE_WINDOW,
-    UTF8_STRING,
-    WM_STATE,
-    WM_CLIENT_LEADER,
-    _NET_CURRENT_DESKTOP,
-    _NET_ACTIVE_WINDOW,
-    _NET_WORKAREA,
-    NUM_ATOMS
-};
+#define xmacro(atom) xcb_atom_t A_ ## atom;
+#include "atoms.xmacro"
+#undef xmacro
 
 extern unsigned int xcb_numlock_mask;
 
@@ -138,6 +116,12 @@ void fake_configure_notify(xcb_connection_t *conn, Rect r, xcb_window_t window);
  */
 void fake_absolute_configure_notify(Con *con);
 
+/**
+ * Sends the WM_TAKE_FOCUS ClientMessage to the given window
+ *
+ */
+void send_take_focus(xcb_window_t window);
+
 /**
  * Finds out which modifier mask is the one for numlock, as the user may
  * change this.