* include/data.h: This file defines all data structures used by i3
*
*/
-
#ifndef _DATA_H
#define _DATA_H
+#define SN_API_NOT_YET_FROZEN 1
+#include <libsn/sn-launcher.h>
+
#include <xcb/randr.h>
#include <xcb/xcb_atom.h>
#include <stdbool.h>
*/
/* Forward definitions */
-typedef struct Font i3Font;
typedef struct Binding Binding;
typedef struct Rect Rect;
typedef struct xoutput Output;
char *id;
/** workspace on which this startup was initiated */
char *workspace;
+ /** libstartup-notification context for this launch */
+ SnLauncherContext *context;
TAILQ_ENTRY(Startup_Sequence) sequences;
};
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
char *name_json;
/** The length of the name in glyphs (not bytes) */
- int name_len;
+ size_t name_len;
/** Whether the application used _NET_WM_NAME */
bool uses_net_wm_name;