i3
|
Holds a keybinding, consisting of a keycode combined with modifiers and the command which is executed as soon as the key is pressed (see src/config_parser.c) More...
#include <data.h>
Public Types | |
enum | { B_UPON_KEYPRESS = 0 , B_UPON_KEYRELEASE = 1 , B_UPON_KEYRELEASE_IGNORE_MODS = 2 } |
If true, the binding should be executed upon a KeyRelease event, not a KeyPress (the default). More... | |
Public Member Functions | |
TAILQ_HEAD (keycodes_head, Binding_Keycode) keycodes_head | |
Only in use if symbol != NULL. | |
TAILQ_ENTRY (Binding) bindings | |
Data Fields | |
input_type_t | input_type |
enum Binding:: { ... } | release |
If true, the binding should be executed upon a KeyRelease event, not a KeyPress (the default). | |
bool | border |
If this is true for a mouse binding, the binding should be executed when the button is pressed over the window border. | |
bool | whole_window |
If this is true for a mouse binding, the binding should be executed when the button is pressed over any part of the window, not just the title bar (default). | |
bool | exclude_titlebar |
If this is true for a mouse binding, the binding should only be executed if the button press was not on the titlebar. | |
uint32_t | keycode |
Keycode to bind. | |
i3_event_state_mask_t | event_state_mask |
Bitmask which is applied against event->state for KeyPress and KeyRelease events to determine whether this binding applies to the current state. | |
char * | symbol |
Symbol the user specified in configfile, if any. | |
char * | command |
Command, like in command mode. | |
Holds a keybinding, consisting of a keycode combined with modifiers and the command which is executed as soon as the key is pressed (see src/config_parser.c)
anonymous enum |
Binding::TAILQ_ENTRY | ( | Binding | ) |
Binding::TAILQ_HEAD | ( | keycodes_head | , |
Binding_Keycode | ) |
Only in use if symbol != NULL.
Contains keycodes which generate the specified symbol. Useful for unbinding and checking which binding was used when a key press event comes in.
bool Binding::border |
If this is true for a mouse binding, the binding should be executed when the button is pressed over the window border.
Definition at line 327 of file data.h.
Referenced by configure_binding(), and route_click().
char* Binding::command |
Command, like in command mode.
Definition at line 357 of file data.h.
Referenced by binding_copy(), binding_free(), check_for_duplicate_bindings(), configure_binding(), dump_binding(), extract_workspace_names_from_bindings(), and run_binding().
i3_event_state_mask_t Binding::event_state_mask |
Bitmask which is applied against event->state for KeyPress and KeyRelease events to determine whether this binding applies to the current state.
Definition at line 344 of file data.h.
Referenced by add_keycode_if_matches(), binding_in_current_group(), binding_same_key(), check_for_duplicate_bindings(), configure_binding(), dump_event_state_mask(), get_binding(), grab_keycode_for_binding(), reorder_binding_cmp(), and translate_keysyms().
bool Binding::exclude_titlebar |
If this is true for a mouse binding, the binding should only be executed if the button press was not on the titlebar.
Definition at line 336 of file data.h.
Referenced by configure_binding(), and route_click().
input_type_t Binding::input_type |
Definition at line 309 of file data.h.
Referenced by binding_same_key(), bindings_get_buttons_to_grab(), configure_binding(), dump_binding(), get_binding(), grab_all_keys(), and translate_keysyms().
uint32_t Binding::keycode |
Keycode to bind.
Definition at line 339 of file data.h.
Referenced by binding_same_key(), check_for_duplicate_bindings(), configure_binding(), dump_binding(), get_binding(), grab_all_keys(), ipc_send_binding_event(), and translate_keysyms().
enum { ... } Binding::release |
If true, the binding should be executed upon a KeyRelease event, not a KeyPress (the default).
Referenced by binding_same_key(), configure_binding(), get_binding(), switch_mode(), and translate_keysyms().
char* Binding::symbol |
Symbol the user specified in configfile, if any.
This needs to be stored with the binding to be able to re-convert it into a keycode if the keyboard mapping changes (using Xmodmap for example)
Definition at line 349 of file data.h.
Referenced by binding_copy(), binding_free(), binding_same_key(), bindings_get_buttons_to_grab(), check_for_duplicate_bindings(), configure_binding(), dump_binding(), get_binding(), ipc_send_binding_event(), and translate_keysyms().
bool Binding::whole_window |
If this is true for a mouse binding, the binding should be executed when the button is pressed over any part of the window, not just the title bar (default).
Definition at line 332 of file data.h.
Referenced by bindings_get_buttons_to_grab(), configure_binding(), handle_button_press(), and route_click().