i3
i3.h File Reference
#include <config.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <xcb/shape.h>
#include <xcb/xcb_keysyms.h>
#include <xcb/xkb.h>
#include <X11/XKBlib.h>
#include <libsn/sn-launcher.h>
#include "queue.h"
#include "data.h"
#include "xcb.h"
Include dependency graph for i3.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SN_API_NOT_YET_FROZEN   1
 

Functions

 TAILQ_HEAD (bindings_head, Binding) *bindings
 
 TAILQ_HEAD (autostarts_head, Autostart) autostarts
 
 TAILQ_HEAD (autostarts_always_head, Autostart) autostarts_always
 
 TAILQ_HEAD (ws_assignments_head, Workspace_Assignment) ws_assignments
 
 TAILQ_HEAD (assignments_head, Assignment) assignments
 
 SLIST_HEAD (stack_wins_head, Stack_Window) stack_wins
 

Variables

const char * i3_version
 Git commit identifier, from version.c.
 
struct rlimit original_rlimit_core
 The original value of RLIMIT_CORE when i3 was started.
 
bool debug_build
 Whether this version of i3 is a debug build or a release build.
 
int listen_fds
 The number of file descriptors passed via socket activation.
 
int conn_screen
 
xcb_atom_t wm_sn
 
xcb_window_t ewmh_window
 The EWMH support window that is used to indicate that an EWMH-compliant window manager is present.
 
xcb_timestamp_t last_timestamp
 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).
 
SnDisplay * sndisplay
 
xcb_key_symbols_t * keysyms
 
char ** start_argv
 
int xkb_current_group
 
const char * current_binding_mode
 
uint8_t root_depth
 
xcb_visualid_t visual_id
 
xcb_colormap_t colormap
 
bool xkb_supported
 
bool shape_supported
 
xcb_window_t root
 
struct ev_loop * main_loop
 
bool only_check_config
 
bool force_xinerama
 

Macro Definition Documentation

◆ SN_API_NOT_YET_FROZEN

#define SN_API_NOT_YET_FROZEN   1

Definition at line 23 of file i3.h.

Function Documentation

◆ SLIST_HEAD()

SLIST_HEAD ( stack_wins_head ,
Stack_Window  )
extern

◆ TAILQ_HEAD() [1/5]

TAILQ_HEAD ( assignments_head ,
Assignment  )
extern

◆ TAILQ_HEAD() [2/5]

TAILQ_HEAD ( autostarts_always_head ,
Autostart  )
extern

◆ TAILQ_HEAD() [3/5]

TAILQ_HEAD ( autostarts_head ,
Autostart  )
extern

◆ TAILQ_HEAD() [4/5]

TAILQ_HEAD ( bindings_head ,
Binding  )
extern

◆ TAILQ_HEAD() [5/5]

TAILQ_HEAD ( ws_assignments_head ,
Workspace_Assignment  )
extern

Variable Documentation

◆ colormap

xcb_colormap_t colormap
extern

Definition at line 77 of file main.c.

Referenced by main(), and x_con_init().

◆ conn_screen

int conn_screen
extern

Definition at line 56 of file main.c.

Referenced by display_running_version(), main(), property_handlers_init(), and start_application().

◆ current_binding_mode

const char* current_binding_mode
extern

Definition at line 88 of file main.c.

Referenced by IPC_HANDLER(), load_configuration(), run_binding(), and switch_mode().

◆ debug_build

bool debug_build
extern

Whether this version of i3 is a debug build or a release build.

◆ ewmh_window

xcb_window_t ewmh_window
extern

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).

Definition at line 14 of file ewmh.c.

Referenced by ewmh_setup_hints(), and x_push_changes().

◆ force_xinerama

bool force_xinerama
extern

Definition at line 107 of file main.c.

Referenced by handle_configure_notify(), and main().

◆ i3_version

const char* i3_version
extern

Git commit identifier, from version.c.

Definition at line 13 of file version.c.

Referenced by IPC_HANDLER(), main(), and parse_file().

◆ keysyms

xcb_key_symbols_t* keysyms
extern

Definition at line 81 of file main.c.

Referenced by handle_event(), handle_mapping_notify(), main(), and sighandler_handle_key_press().

◆ last_timestamp

xcb_timestamp_t last_timestamp
extern

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).

Definition at line 64 of file main.c.

Referenced by handle_button_press(), handle_client_message(), handle_enter_notify(), handle_event(), handle_key_press(), handle_motion_notify(), main(), start_application(), and x_push_changes().

◆ listen_fds

int listen_fds
extern

The number of file descriptors passed via socket activation.

Definition at line 46 of file main.c.

Referenced by main(), and start_application().

◆ main_loop

◆ only_check_config

bool only_check_config
extern

Referenced by main().

◆ original_rlimit_core

struct rlimit original_rlimit_core
extern

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.

Definition at line 43 of file main.c.

Referenced by main(), and start_application().

◆ root

◆ root_depth

uint8_t root_depth
extern

Definition at line 75 of file main.c.

Referenced by con_new_skeleton(), main(), sighandler_create_dialogs(), x_con_init(), and x_push_node().

◆ shape_supported

bool shape_supported

Definition at line 75 of file i3.h.

◆ sndisplay

SnDisplay* sndisplay
extern

Definition at line 59 of file main.c.

Referenced by handle_client_message(), main(), property_handlers_init(), and start_application().

◆ start_argv

char** start_argv
extern

Definition at line 52 of file main.c.

Referenced by exec_i3_utility(), i3_restart(), and main().

◆ visual_id

xcb_visualid_t visual_id
extern

Referenced by get_visualtype_by_id().

◆ wm_sn

xcb_atom_t wm_sn
extern

Definition at line 70 of file main.c.

Referenced by handle_selection_clear(), and main().

◆ xkb_current_group

int xkb_current_group
extern

Definition at line 22 of file handlers.c.

Referenced by binding_in_current_group(), and handle_event().

◆ xkb_supported

bool xkb_supported
extern

Definition at line 104 of file main.c.

Referenced by load_keymap(), and main().