2009-02-14 02:33:31 +01:00
|
|
|
|
/*
|
2011-03-14 00:44:16 +01:00
|
|
|
|
* vim:ts=4:sw=4:expandtab
|
2009-02-14 02:33:31 +01:00
|
|
|
|
*
|
|
|
|
|
* i3 - an improved dynamic tiling window manager
|
2015-04-04 02:17:56 +02:00
|
|
|
|
* © 2009 Michael Stapelberg and contributors (see also: LICENSE)
|
2009-02-14 02:33:31 +01:00
|
|
|
|
*
|
2011-10-25 22:19:38 +02:00
|
|
|
|
* i3.h: global variables that are used all over i3.
|
2009-02-14 02:33:31 +01:00
|
|
|
|
*
|
|
|
|
|
*/
|
2013-12-29 03:11:50 +01:00
|
|
|
|
#pragma once
|
2011-10-25 22:19:38 +02:00
|
|
|
|
|
2016-10-11 09:13:35 +02:00
|
|
|
|
#include <config.h>
|
|
|
|
|
|
2011-11-08 23:49:25 +01:00
|
|
|
|
#include <sys/time.h>
|
|
|
|
|
#include <sys/resource.h>
|
|
|
|
|
|
2018-11-09 00:19:08 +01:00
|
|
|
|
#include <xcb/shape.h>
|
2009-08-07 15:35:12 +02:00
|
|
|
|
#include <xcb/xcb_keysyms.h>
|
2014-01-02 08:40:03 +01:00
|
|
|
|
#include <xcb/xkb.h>
|
2009-02-13 19:04:45 +01:00
|
|
|
|
|
|
|
|
|
#include <X11/XKBlib.h>
|
|
|
|
|
|
2011-10-09 19:21:59 +02:00
|
|
|
|
#define SN_API_NOT_YET_FROZEN 1
|
|
|
|
|
#include <libsn/sn-launcher.h>
|
|
|
|
|
|
2009-02-13 19:04:45 +01:00
|
|
|
|
#include "queue.h"
|
2009-04-19 20:44:34 +02:00
|
|
|
|
#include "data.h"
|
2011-03-14 00:44:16 +01:00
|
|
|
|
#include "xcb.h"
|
2009-02-13 19:04:45 +01:00
|
|
|
|
|
2015-04-07 00:28:40 +02:00
|
|
|
|
/** Git commit identifier, from version.c */
|
|
|
|
|
extern const char *i3_version;
|
|
|
|
|
|
2011-11-08 23:49:25 +01:00
|
|
|
|
/** The original value of RLIMIT_CORE when i3 was started. We need to restore
|
|
|
|
|
* this before starting any other process, since we set RLIMIT_CORE to
|
|
|
|
|
* RLIM_INFINITY for i3 debugging versions. */
|
|
|
|
|
extern struct rlimit original_rlimit_core;
|
2011-12-10 11:51:55 +01:00
|
|
|
|
/** Whether this version of i3 is a debug build or a release build. */
|
|
|
|
|
extern bool debug_build;
|
2012-01-22 00:03:09 +01:00
|
|
|
|
/** The number of file descriptors passed via socket activation. */
|
|
|
|
|
extern int listen_fds;
|
2011-10-09 19:19:31 +02:00
|
|
|
|
extern int conn_screen;
|
2015-09-12 22:34:06 +02:00
|
|
|
|
/**
|
|
|
|
|
* The EWMH support window that is used to indicate that an EWMH-compliant
|
|
|
|
|
* window manager is present. This window is created when i3 starts and
|
|
|
|
|
* kept alive until i3 exits.
|
|
|
|
|
* We also use this window as the focused window if no other window is
|
|
|
|
|
* available to be focused on the active workspace in order to prevent
|
|
|
|
|
* keyboard focus issues (see #1378).
|
|
|
|
|
*/
|
|
|
|
|
extern xcb_window_t ewmh_window;
|
2011-10-09 19:21:59 +02:00
|
|
|
|
/** The last timestamp we got from X11 (timestamps are included in some events
|
|
|
|
|
* and are used for some things, like determining a unique ID in startup
|
|
|
|
|
* notification). */
|
|
|
|
|
extern xcb_timestamp_t last_timestamp;
|
|
|
|
|
extern SnDisplay *sndisplay;
|
2009-08-07 15:35:12 +02:00
|
|
|
|
extern xcb_key_symbols_t *keysyms;
|
2009-05-01 16:10:02 +02:00
|
|
|
|
extern char **start_argv;
|
2010-11-27 00:26:51 +01:00
|
|
|
|
extern Display *xlibdpy, *xkbdpy;
|
2010-03-14 22:35:51 +01:00
|
|
|
|
extern int xkb_current_group;
|
2014-06-19 11:20:32 +02:00
|
|
|
|
extern TAILQ_HEAD(bindings_head, Binding) * bindings;
|
2009-03-29 14:53:48 +02:00
|
|
|
|
extern TAILQ_HEAD(autostarts_head, Autostart) autostarts;
|
2011-07-12 12:24:01 +02:00
|
|
|
|
extern TAILQ_HEAD(autostarts_always_head, Autostart) autostarts_always;
|
2011-05-14 22:13:29 +02:00
|
|
|
|
extern TAILQ_HEAD(ws_assignments_head, Workspace_Assignment) ws_assignments;
|
2011-05-23 18:41:17 +02:00
|
|
|
|
extern TAILQ_HEAD(assignments_head, Assignment) assignments;
|
2009-02-24 00:30:04 +01:00
|
|
|
|
extern SLIST_HEAD(stack_wins_head, Stack_Window) stack_wins;
|
2012-01-28 17:09:02 +01:00
|
|
|
|
|
|
|
|
|
/* Color depth, visual id and colormap to use when creating windows and
|
|
|
|
|
* pixmaps. Will use 32 bit depth and an appropriate visual, if available,
|
|
|
|
|
* otherwise the root window’s default (usually 24 bit TrueColor). */
|
2009-07-17 18:32:40 +02:00
|
|
|
|
extern uint8_t root_depth;
|
2012-01-28 17:09:02 +01:00
|
|
|
|
extern xcb_visualid_t visual_id;
|
|
|
|
|
extern xcb_colormap_t colormap;
|
|
|
|
|
|
2018-11-09 00:19:08 +01:00
|
|
|
|
extern bool xcursor_supported, xkb_supported, shape_supported;
|
2009-07-23 18:14:24 +02:00
|
|
|
|
extern xcb_window_t root;
|
2011-07-10 14:33:19 +02:00
|
|
|
|
extern struct ev_loop *main_loop;
|
2011-10-20 23:25:59 +02:00
|
|
|
|
extern bool only_check_config;
|
2017-10-03 10:00:55 +02:00
|
|
|
|
extern bool force_xinerama;
|