]> git.sur5r.net Git - i3/i3/blobdiff - include/data.h
Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients
[i3/i3] / include / data.h
index 60e1ef26087aaabd91368b1045ef7dd4fee0dbc4..10fc16d25aba594f1a22d932b5a841575062c8d2 100644 (file)
@@ -2,12 +2,11 @@
  * vim:ts=4:sw=4:expandtab
  *
  * i3 - an improved dynamic tiling window manager
- * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
+ * © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE)
  *
  * include/data.h: This file defines all data structures used by i3
  *
  */
-
 #ifndef _DATA_H
 #define _DATA_H
 
@@ -33,7 +32,6 @@
  */
 
 /* Forward definitions */
-typedef struct Font i3Font;
 typedef struct Binding Binding;
 typedef struct Rect Rect;
 typedef struct xoutput Output;
@@ -220,24 +218,13 @@ struct Binding {
 struct Autostart {
     /** Command, like in command mode */
     char *command;
+    /** no_startup_id flag for start_application(). Determines whether a
+     * startup notification context/ID should be created. */
+    bool no_startup_id;
     TAILQ_ENTRY(Autostart) autostarts;
     TAILQ_ENTRY(Autostart) autostarts_always;
 };
 
-/**
- * Data structure for cached font information:
- * - font id in X11 (load it once)
- * - font height (multiple calls needed to get it)
- *
- */
-struct Font {
-    /** The height of the font, built from font_ascent + font_descent */
-    int height;
-    /** The xcb-id for the font */
-    xcb_font_t id;
-};
-
-
 /**
  * An Output is a physical output on your graphics driver. Outputs which
  * are currently in use have (output->active == true). Each output has a
@@ -306,6 +293,10 @@ struct Window {
     /** Whether the application needs to receive WM_TAKE_FOCUS */
     bool needs_take_focus;
 
+    /** Whether this window accepts focus. We store this inverted so that the
+     * default will be 'accepts focus'. */
+    bool doesnt_accept_focus;
+
     /** Whether the window says it is a dock window */
     enum { W_NODOCK = 0, W_DOCK_TOP = 1, W_DOCK_BOTTOM = 2 } dock;