i3
Data Structures | Typedefs | Functions | Variables
include/config.h File Reference
#include <stdbool.h>
#include "queue.h"
#include "i3.h"
Include dependency graph for config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  context
 Used during the config file lexing/parsing to keep the state of the lexer in order to provide useful error messages in yyerror(). More...
struct  Colortriple
 Part of the struct Config. More...
struct  Variable
 Holds a user-assigned variable for parsing the configuration file. More...
struct  Mode
 The configuration file can contain multiple sets of bindings. More...
struct  Config
 Holds part of the configuration (the part which is not already in dedicated structures in include/data.h). More...
struct  Config::config_client
struct  Config::config_bar

Typedefs

typedef struct Config Config

Functions

 SLIST_HEAD (modes_head, Mode) modes
void load_configuration (xcb_connection_t *conn, const char *override_configfile, bool reload)
 Reads the configuration from ~/.i3/config or /etc/i3/config if not found.
void translate_keysyms ()
 Translates keysymbols to keycodes for all bindings which use keysyms.
void ungrab_all_keys (xcb_connection_t *conn)
 Ungrabs all keys, to be called before re-grabbing the keys because of a mapping_notify event or a configuration file reload.
void grab_all_keys (xcb_connection_t *conn, bool bind_mode_switch)
 Grab the bound keys (tell X to send us keypress events for those keycodes)
void switch_mode (const char *new_mode)
 Switches the key bindings to the given mode, if the mode exists.
Bindingget_binding (uint16_t modifiers, xcb_keycode_t keycode)
 Returns a pointer to the Binding with the specified modifiers and keycode or NULL if no such binding exists.
void kill_configerror_nagbar (bool wait_for_it)
 Kills the configerror i3-nagbar process, if any.
void parse_file (const char *f)

Variables

char * current_configpath
Config config

Typedef Documentation

typedef struct Config Config

Definition at line 24 of file config.h.


Function Documentation

Binding* get_binding ( uint16_t  modifiers,
xcb_keycode_t  keycode 
)

Returns a pointer to the Binding with the specified modifiers and keycode or NULL if no such binding exists.

Definition at line 59 of file config.c.

References bindings, Binding::keycode, Binding::mods, Binding::number_keycodes, Binding::symbol, TAILQ_END, TAILQ_FOREACH, and Binding::translated_to.

Referenced by handle_key_press().

void grab_all_keys ( xcb_connection_t *  conn,
bool  bind_mode_switch 
)

Grab the bound keys (tell X to send us keypress events for those keycodes)

Definition at line 129 of file config.c.

References BIND_MODE_SWITCH, bindings, grab_keycode_for_binding(), Binding::keycode, Binding::mods, Binding::number_keycodes, TAILQ_FOREACH, and Binding::translated_to.

Referenced by handle_mapping_notify(), load_configuration(), main(), switch_mode(), and xkb_got_event().

Here is the call graph for this function:

void kill_configerror_nagbar ( bool  wait_for_it)

Kills the configerror i3-nagbar process, if any.

Called when reloading/restarting.

If wait_for_it is set (restarting), this function will waitpid(), otherwise, ev is assumed to handle it (reloading).

Definition at line 367 of file cfgparse.tab.c.

References configerror_pid.

Referenced by i3_restart().

void load_configuration ( xcb_connection_t *  conn,
const char *  override_configfile,
bool  reload 
)
void parse_file ( const char *  f)
SLIST_HEAD ( modes_head  ,
Mode   
)
void switch_mode ( const char *  new_mode)

Switches the key bindings to the given mode, if the mode exists.

Definition at line 152 of file config.c.

References Mode::bindings, bindings, conn, ELOG, grab_all_keys(), LOG, modes, Mode::name, SLIST_FOREACH, translate_keysyms(), and ungrab_all_keys().

Here is the call graph for this function:

void translate_keysyms ( )

Translates keysymbols to keycodes for all bindings which use keysyms.

Definition at line 88 of file config.c.

References bindings, DLOG, ELOG, Binding::keycode, keysyms, Binding::number_keycodes, smalloc(), Binding::symbol, TAILQ_FOREACH, and Binding::translated_to.

Referenced by handle_mapping_notify(), load_configuration(), main(), switch_mode(), and xkb_got_event().

Here is the call graph for this function:

void ungrab_all_keys ( xcb_connection_t *  conn)

Ungrabs all keys, to be called before re-grabbing the keys because of a mapping_notify event or a configuration file reload.

Definition at line 30 of file config.c.

References DLOG, and root.

Referenced by handle_mapping_notify(), load_configuration(), switch_mode(), and xkb_got_event().


Variable Documentation

Definition at line 21 of file config.c.

Referenced by parse_configuration(), and x_set_i3_atoms().