i3
|
#include <stdbool.h>
#include <stdarg.h>
#include <stdio.h>
#include <xcb/xcb.h>
#include <xcb/xproto.h>
#include <xcb/xcb_keysyms.h>
Go to the source code of this file.
Data Structures | |
struct | Font |
Data structure for cached font information: More... | |
Macros | |
#define | LOG(fmt,...) verboselog("[libi3] " __FILE__ " " fmt, ##__VA_ARGS__) |
#define | ELOG(fmt,...) errorlog("[libi3] ERROR: " fmt, ##__VA_ARGS__) |
#define | DLOG(fmt,...) debuglog("%s:%s:%d - " fmt, I3__FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__) |
#define | I3STRING_FREE(str) |
Securely i3string_free by setting the pointer to NULL to prevent accidentally using freed memory. More... | |
Typedefs | |
typedef struct _i3String | i3String |
Opaque data structure for storing strings. More... | |
typedef struct Font | i3Font |
Functions | |
void | verboselog (char *fmt,...) __attribute__((format(printf |
void | errorlog (char *fmt,...) __attribute__((format(printf |
void | debuglog (char *fmt,...) __attribute__((format(printf |
char * | root_atom_contents (const char *atomname, xcb_connection_t *provided_conn, int screen) |
Try to get the contents of the given atom (for example I3_SOCKET_PATH) from the X11 root window and return NULL if it doesn’t work. More... | |
void * | smalloc (size_t size) |
Safe-wrapper around malloc which exits if malloc returns NULL (meaning that there is no more memory available) More... | |
void * | scalloc (size_t size) |
Safe-wrapper around calloc which exits if malloc returns NULL (meaning that there is no more memory available) More... | |
void * | srealloc (void *ptr, size_t size) |
Safe-wrapper around realloc which exits if realloc returns NULL (meaning that there is no more memory available). More... | |
char * | sstrdup (const char *str) |
Safe-wrapper around strdup which exits if malloc returns NULL (meaning that there is no more memory available) More... | |
int | sasprintf (char **strp, const char *fmt,...) |
Safe-wrapper around asprintf which exits if it returns -1 (meaning that there is no more memory available) More... | |
i3String * | i3string_from_utf8 (const char *from_utf8) |
Build an i3String from an UTF-8 encoded string. More... | |
i3String * | i3string_from_utf8_with_length (const char *from_utf8, size_t num_bytes) |
Build an i3String from an UTF-8 encoded string with fixed length. More... | |
i3String * | i3string_from_ucs2 (const xcb_char2b_t *from_ucs2, size_t num_glyphs) |
Build an i3String from an UCS-2 encoded string. More... | |
void | i3string_free (i3String *str) |
Free an i3String. More... | |
const char * | i3string_as_utf8 (i3String *str) |
Returns the UTF-8 encoded version of the i3String. More... | |
const xcb_char2b_t * | i3string_as_ucs2 (i3String *str) |
Returns the UCS-2 encoded version of the i3String. More... | |
size_t | i3string_get_num_bytes (i3String *str) |
Returns the number of bytes (UTF-8 encoded) in an i3String. More... | |
size_t | i3string_get_num_glyphs (i3String *str) |
Returns the number of glyphs in an i3String. More... | |
int | ipc_connect (const char *socket_path) |
Connects to the i3 IPC socket and returns the file descriptor for the socket. More... | |
int | ipc_send_message (int sockfd, const uint32_t message_size, const uint32_t message_type, const uint8_t *payload) |
Formats a message (payload) of the given size and type and sends it to i3 via the given socket file descriptor. More... | |
int | ipc_recv_message (int sockfd, uint32_t *message_type, uint32_t *reply_length, uint8_t **reply) |
Reads a message from the given socket file descriptor and stores its length (reply_length) as well as a pointer to its contents (reply). More... | |
void | fake_configure_notify (xcb_connection_t *conn, xcb_rectangle_t r, xcb_window_t window, int border_width) |
Generates a configure_notify event and sends it to the given window Applications need this to think they’ve configured themselves correctly. More... | |
uint32_t | get_colorpixel (const char *hex) __attribute__((const )) |
Returns the colorpixel to use for the given hex color (think of HTML). More... | |
uint32_t | aio_get_mod_mask_for (uint32_t keysym, xcb_key_symbols_t *symbols) |
All-in-one function which returns the modifier mask (XCB_MOD_MASK_*) for the given keysymbol, for example for XCB_NUM_LOCK (usually configured to mod2). More... | |
uint32_t | get_mod_mask_for (uint32_t keysym, xcb_key_symbols_t *symbols, xcb_get_modifier_mapping_reply_t *modmap_reply) |
Returns the modifier mask (XCB_MOD_MASK_*) for the given keysymbol, for example for XCB_NUM_LOCK (usually configured to mod2). More... | |
i3Font | load_font (const char *pattern, const bool fallback) |
Loads a font for usage, also getting its height. More... | |
void | set_font (i3Font *font) |
Defines the font to be used for the forthcoming calls. More... | |
void | free_font (void) |
Frees the resources taken by the current font. More... | |
char * | convert_ucs2_to_utf8 (xcb_char2b_t *text, size_t num_glyphs) |
Converts the given string to UTF-8 from UCS-2 big endian. More... | |
xcb_char2b_t * | convert_utf8_to_ucs2 (char *input, size_t *real_strlen) |
Converts the given string to UCS-2 big endian for use with xcb_image_text_16(). More... | |
void | set_font_colors (xcb_gcontext_t gc, uint32_t foreground, uint32_t background) |
Defines the colors to be used for the forthcoming draw_text calls. More... | |
void | draw_text (i3String *text, xcb_drawable_t drawable, xcb_gcontext_t gc, int x, int y, int max_width) |
Draws text onto the specified X drawable (normally a pixmap) at the specified coordinates (from the top left corner of the leftmost, uppermost glyph) and using the provided gc. More... | |
void | draw_text_ascii (const char *text, xcb_drawable_t drawable, xcb_gcontext_t gc, int x, int y, int max_width) |
ASCII version of draw_text to print static strings. More... | |
int | predict_text_width (i3String *text) |
Predict the text width in pixels for the given text. More... | |
xcb_visualtype_t * | get_visualtype (xcb_screen_t *screen) |
Returns the visual type associated with the given screen. More... | |
bool | is_debug_build () __attribute__((const )) |
Returns true if this version of i3 is a debug build (anything which is not a release version), based on the git version number. More... | |
char * | get_process_filename (const char *prefix) |
Returns the name of a temporary file with the specified prefix. More... | |
char * | get_exe_path (const char *argv0) |
This function returns the absolute path to the executable it is running in. More... | |
int | logical_px (const int logical) |
Convert a logical amount of pixels (e.g. More... | |
#define DLOG | ( | fmt, | |
... | |||
) | debuglog("%s:%s:%d - " fmt, I3__FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__) |
Definition at line 86 of file libi3.h.
Referenced by _create___i3(), _tree_next(), _workspace_apply_default_orientation(), _workspace_show(), add_subscription(), append_argument(), assignment_for(), backtrace(), CFGFUN(), cmd_append_layout(), cmd_bar_hidden_state(), cmd_bar_mode(), cmd_border(), cmd_criteria_add(), cmd_criteria_match_windows(), cmd_exec(), cmd_floating(), cmd_focus(), cmd_focus_direction(), cmd_focus_level(), cmd_focus_output(), cmd_focus_window_mode(), cmd_fullscreen(), cmd_kill(), cmd_layout(), cmd_layout_toggle(), cmd_mark(), cmd_mode(), cmd_move_con_to_output(), cmd_move_con_to_workspace(), cmd_move_con_to_workspace_back_and_forth(), cmd_move_con_to_workspace_name(), cmd_move_con_to_workspace_number(), cmd_move_direction(), cmd_move_scratchpad(), cmd_move_window_to_center(), cmd_move_window_to_position(), cmd_move_workspace_to_output(), cmd_resize(), cmd_scratchpad_show(), cmd_split(), cmd_unmark(), cmd_workspace(), cmd_workspace_name(), con_accepts_window(), con_attach(), con_border_style(), con_border_style_rect(), con_descend_direction(), con_focus(), con_get_next(), con_is_floating(), con_minimum_size(), con_move_to_workspace(), con_new_skeleton(), con_next_focused(), con_on_remove_child(), con_orientation(), con_parent_with_orientation(), con_set_border_style(), con_set_layout(), con_set_urgency(), con_toggle_fullscreen(), con_toggle_layout(), configure_binding(), configure_notify(), contained_by_output(), create_workspace_on_output(), disable_randr(), DRAGGING_CB(), dump_node(), expose_event(), fake_absolute_configure_notify(), fake_outputs_init(), floating_drag_window(), floating_enable(), floating_fix_coordinates(), floating_maybe_reassign_ws(), floating_mod_on_tiled_client(), floating_raise_con(), floating_resize_window(), format_event(), get_binding_from_xcb_event(), get_output_containing(), get_output_next(), get_output_next_wrap(), grab_keycode_for_binding(), handle_button_press(), handle_client_message(), handle_configure_request(), handle_destroy_notify_event(), handle_enter_notify(), handle_expose_event(), handle_focus_in(), handle_hints(), handle_key_press(), handle_map_request(), handle_mapping_notify(), handle_motion_notify(), handle_normal_hints(), handle_output(), handle_screen_change(), handle_signal(), handle_transient_for(), handle_unmap_notify_event(), init_ws_for_output(), insert_con_into(), ipc_create_socket(), ipc_new_client(), ipc_receive_message(), ipc_send_barconfig_update_event(), ipc_send_window_event(), json_end_map(), json_int(), level_down(), main(), main_set_x11_cb(), manage_window(), maybe_auto_back_and_forth_workspace(), maybe_back_and_forth(), move_to_output_directed(), nagbar_exited(), open_placeholder_window(), output_change_mode(), output_init_con(), parse_command(), parse_config(), parse_file(), query_screens(), randr_query_outputs(), render_con(), render_l_output(), resize_find_tiling_participants(), resize_graphical_handler(), restore_geometry(), restore_handle_event(), restore_kill_placeholder(), restore_xcb_check_cb(), route_click(), run_assignments(), scratchpad_fix_resolution(), scratchpad_move(), scratchpad_show(), send_take_focus(), sig_handle_key_press(), start_nagbar(), startup_monitor_event(), startup_sequence_delete(), startup_sequence_get(), startup_workspace_for_window(), store_restart_layout(), switch_mode(), TAILQ_HEAD(), tiling_resize(), tiling_resize_for_border(), translate_keysyms(), tree_close(), tree_close_con(), tree_flatten(), tree_move(), tree_open_con(), tree_render(), tree_restore(), tree_split(), ungrab_all_keys(), window_update_class(), window_update_hints(), window_update_leader(), window_update_name(), window_update_name_legacy(), window_update_role(), window_update_strut_partial(), window_update_transient_for(), workspace_attach_to(), workspace_back_and_forth(), workspace_back_and_forth_get(), workspace_defer_update_urgent_hint_cb(), workspace_encapsulate(), workspace_get(), workspace_prev_on_output(), workspace_update_urgent_flag(), ws_force_orientation(), x_con_init(), x_draw_decoration(), x_move_win(), x_push_changes(), x_push_node(), x_push_node_unmaps(), x_reinit(), xcb_check_cb(), xcb_drag_check_cb(), xinerama_init(), and xkb_got_event().
#define ELOG | ( | fmt, | |
... | |||
) | errorlog("[libi3] ERROR: " fmt, ##__VA_ARGS__) |
Definition at line 81 of file libi3.h.
Referenced by CFGFUN(), check_crossing_screen_boundary(), check_for_duplicate_bindings(), CIRCLEQ_HEAD(), cmd_bar(), cmd_bar_hidden_state(), cmd_bar_mode(), cmd_border(), cmd_criteria_add(), cmd_focus(), cmd_focus_direction(), cmd_focus_level(), cmd_kill(), cmd_layout(), cmd_move_con_to_workspace(), cmd_move_con_to_workspace_name(), cmd_move_window_to_center(), cmd_move_window_to_position(), cmd_move_workspace_to_output(), cmd_workspace(), con_get_tree_representation(), con_minimum_size(), con_move_to_workspace(), configure_binding(), drag_pointer(), expose_event(), fake_outputs_init(), floating_enable(), floating_maybe_reassign_ws(), floating_reposition(), handle_button_press(), handle_screen_change(), IPC_HANDLER(), json_int(), json_string(), level_up(), load_configuration(), main(), mkdirp(), nagbar_exited(), parse_command(), parse_config(), parse_file(), query_screens(), randr_query_outputs(), regex_matches(), regex_new(), setup_signal_handler(), switch_mode(), translate_keysyms(), tree_append_json(), workspace_encapsulate(), x_move_win(), x_push_changes(), x_reinit(), x_reparent_child(), x_set_name(), xcursor_load_cursors(), and xkb_got_event().
#define I3STRING_FREE | ( | str | ) |
Securely i3string_free by setting the pointer to NULL to prevent accidentally using freed memory.
#define LOG | ( | fmt, | |
... | |||
) | verboselog("[libi3] " __FILE__ " " fmt, ##__VA_ARGS__) |
Definition at line 76 of file libi3.h.
Referenced by _workspace_show(), cmd_append_layout(), cmd_debuglog(), cmd_exit(), cmd_focus(), cmd_focus_output(), cmd_move_con_to_output(), cmd_move_con_to_workspace_name(), cmd_move_con_to_workspace_number(), cmd_move_workspace_to_output(), cmd_nop(), cmd_open(), cmd_reload(), cmd_rename_workspace(), cmd_resize_floating(), cmd_resize_tiling_direction(), cmd_resize_tiling_width_height(), cmd_restart(), cmd_shmlog(), cmd_split(), cmd_workspace_name(), cmd_workspace_number(), con_get_next(), con_move_to_workspace(), con_on_remove_child(), con_set_urgency(), con_toggle_fullscreen(), create_workspace_on_output(), detect_version(), floating_disable(), floating_enable(), handle_client_message(), handle_enter_notify(), handle_expose_event(), handle_unmap_notify_event(), i3_restart(), init_ws_for_output(), IPC_HANDLER(), json_bool(), json_double(), json_end_array(), json_end_map(), json_int(), json_key(), json_string(), main(), manage_window(), match_matches_window(), nagbar_cleanup(), parse_configuration(), parse_file(), regex_matches(), scratchpad_move(), scratchpad_show(), start_application(), TAILQ_HEAD(), tiling_resize_for_border(), toggle_floating_mode(), tree_append_json(), tree_move(), tree_restore(), window_update_class(), window_update_hints(), window_update_name(), window_update_name_legacy(), window_update_role(), workspace_get(), workspace_is_visible(), workspace_reassign_sticky(), x_window_kill(), and xcb_warp_pointer_rect().
typedef struct _i3String i3String |
uint32_t aio_get_mod_mask_for | ( | uint32_t | keysym, |
xcb_key_symbols_t * | symbols | ||
) |
All-in-one function which returns the modifier mask (XCB_MOD_MASK_*) for the given keysymbol, for example for XCB_NUM_LOCK (usually configured to mod2).
This function initiates one round-trip. Use get_mod_mask_for() directly if you already have the modifier mapping and key symbols.
Referenced by handle_mapping_notify(), main(), and xkb_got_event().
char* convert_ucs2_to_utf8 | ( | xcb_char2b_t * | text, |
size_t | num_glyphs | ||
) |
Converts the given string to UTF-8 from UCS-2 big endian.
The return value must be freed after use.
xcb_char2b_t* convert_utf8_to_ucs2 | ( | char * | input, |
size_t * | real_strlen | ||
) |
Converts the given string to UCS-2 big endian for use with xcb_image_text_16().
The amount of real glyphs is stored in real_strlen, a buffer containing the UCS-2 encoded string (16 bit per glyph) is returned. It has to be freed when done.
void debuglog | ( | char * | fmt, |
... | |||
) |
void draw_text | ( | i3String * | text, |
xcb_drawable_t | drawable, | ||
xcb_gcontext_t | gc, | ||
int | x, | ||
int | y, | ||
int | max_width | ||
) |
Draws text onto the specified X drawable (normally a pixmap) at the specified coordinates (from the top left corner of the leftmost, uppermost glyph) and using the provided gc.
Text must be specified as an i3String.
Referenced by sig_draw_window().
void draw_text_ascii | ( | const char * | text, |
xcb_drawable_t | drawable, | ||
xcb_gcontext_t | gc, | ||
int | x, | ||
int | y, | ||
int | max_width | ||
) |
ASCII version of draw_text to print static strings.
void errorlog | ( | char * | fmt, |
... | |||
) |
void fake_configure_notify | ( | xcb_connection_t * | conn, |
xcb_rectangle_t | r, | ||
xcb_window_t | window, | ||
int | border_width | ||
) |
Generates a configure_notify event and sends it to the given window Applications need this to think they’ve configured themselves correctly.
The truth is, however, that we will manage them.
Referenced by fake_absolute_configure_notify().
void free_font | ( | void | ) |
Frees the resources taken by the current font.
Referenced by load_configuration().
uint32_t get_colorpixel | ( | const char * | hex | ) | const |
Returns the colorpixel to use for the given hex color (think of HTML).
Only works for true-color (vast majority of cases) at the moment, avoiding a roundtrip to X11.
The hex_color has to start with #, for example #FF00FF.
NOTE that get_colorpixel() does NOT check the given color code for validity. This has to be done by the caller.
NOTE that this function may in the future rely on a global xcb_connection_t variable called 'conn' to be present.
Referenced by CFGFUN(), load_configuration(), and sig_draw_window().
char* get_exe_path | ( | const char * | argv0 | ) |
This function returns the absolute path to the executable it is running in.
The implementation follows http://stackoverflow.com/a/933996/712014
Returned value must be freed by the caller.
uint32_t get_mod_mask_for | ( | uint32_t | keysym, |
xcb_key_symbols_t * | symbols, | ||
xcb_get_modifier_mapping_reply_t * | modmap_reply | ||
) |
Returns the modifier mask (XCB_MOD_MASK_*) for the given keysymbol, for example for XCB_NUM_LOCK (usually configured to mod2).
This function does not initiate any round-trips.
char* get_process_filename | ( | const char * | prefix | ) |
Returns the name of a temporary file with the specified prefix.
Referenced by init_logging(), main(), and store_restart_layout().
xcb_visualtype_t* get_visualtype | ( | xcb_screen_t * | screen | ) |
Returns the visual type associated with the given screen.
const xcb_char2b_t* i3string_as_ucs2 | ( | i3String * | str | ) |
Returns the UCS-2 encoded version of the i3String.
const char* i3string_as_utf8 | ( | i3String * | str | ) |
Returns the UTF-8 encoded version of the i3String.
Referenced by dump_node(), handle_windowname_change(), handle_windowname_change_legacy(), match_matches_window(), window_name_changed(), window_update_name(), and window_update_name_legacy().
void i3string_free | ( | i3String * | str | ) |
Free an i3String.
Referenced by tree_close(), window_update_name(), and window_update_name_legacy().
i3String* i3string_from_ucs2 | ( | const xcb_char2b_t * | from_ucs2, |
size_t | num_glyphs | ||
) |
Build an i3String from an UCS-2 encoded string.
Returns the newly-allocated i3String.
i3String* i3string_from_utf8 | ( | const char * | from_utf8 | ) |
Build an i3String from an UTF-8 encoded string.
Returns the newly-allocated i3String.
Referenced by open_popups().
i3String* i3string_from_utf8_with_length | ( | const char * | from_utf8, |
size_t | num_bytes | ||
) |
Build an i3String from an UTF-8 encoded string with fixed length.
To be used when no proper NUL-terminaison is available. Returns the newly-allocated i3String.
Referenced by window_update_name(), and window_update_name_legacy().
size_t i3string_get_num_bytes | ( | i3String * | str | ) |
Returns the number of bytes (UTF-8 encoded) in an i3String.
size_t i3string_get_num_glyphs | ( | i3String * | str | ) |
Returns the number of glyphs in an i3String.
int ipc_connect | ( | const char * | socket_path | ) |
Connects to the i3 IPC socket and returns the file descriptor for the socket.
die()s if anything goes wrong.
int ipc_recv_message | ( | int | sockfd, |
uint32_t * | message_type, | ||
uint32_t * | reply_length, | ||
uint8_t ** | reply | ||
) |
Reads a message from the given socket file descriptor and stores its length (reply_length) as well as a pointer to its contents (reply).
Returns -1 when read() fails, errno will remain. Returns -2 when the IPC protocol is violated (invalid magic, unexpected message type, EOF instead of a message). Additionally, the error will be printed to stderr. Returns 0 on success.
Referenced by display_running_version(), ipc_receive_message(), and main().
int ipc_send_message | ( | int | sockfd, |
const uint32_t | message_size, | ||
const uint32_t | message_type, | ||
const uint8_t * | payload | ||
) |
Formats a message (payload) of the given size and type and sends it to i3 via the given socket file descriptor.
Returns -1 when write() fails, errno will remain. Returns 0 on success.
Referenced by display_running_version(), IPC_HANDLER(), ipc_send_event(), and main().
bool is_debug_build | ( | ) | const |
Returns true if this version of i3 is a debug build (anything which is not a release version), based on the git version number.
Referenced by main().
i3Font load_font | ( | const char * | pattern, |
const bool | fallback | ||
) |
Loads a font for usage, also getting its height.
If fallback is true, the fonts 'fixed' or '-misc-*' will be loaded instead of exiting.
Referenced by CFGFUN(), create_window(), load_configuration(), and xcb_set_root_cursor().
int logical_px | ( | const int | logical | ) |
Convert a logical amount of pixels (e.g.
2 pixels on a “standard” 96 DPI screen) to a corresponding amount of physical pixels on a standard or retina screen, e.g. 5 pixels on a 227 DPI MacBook Pro 13" Retina screen.
Referenced by load_configuration(), and resize_graphical_handler().
int predict_text_width | ( | i3String * | text | ) |
Predict the text width in pixels for the given text.
Text must be specified as an i3String.
Referenced by load_configuration(), and open_popups().
char* root_atom_contents | ( | const char * | atomname, |
xcb_connection_t * | provided_conn, | ||
int | screen | ||
) |
Try to get the contents of the given atom (for example I3_SOCKET_PATH) from the X11 root window and return NULL if it doesn’t work.
If the provided XCB connection is NULL, a new connection will be established.
The memory for the contents is dynamically allocated and has to be free()d by the caller.
Referenced by display_running_version(), and main().
int sasprintf | ( | char ** | strp, |
const char * | fmt, | ||
... | |||
) |
Safe-wrapper around asprintf which exits if it returns -1 (meaning that there is no more memory available)
Referenced by backtrace(), CFGFUN(), con_get_tree_representation(), create_workspace_on_output(), display_running_version(), exec_i3_utility(), fake_outputs_init(), floating_enable(), get_config_path(), handle_output(), json_string(), main(), manage_window(), open_logbuffer(), output_init_con(), parse_command(), parse_config(), parse_file(), push_string(), query_screens(), run_assignments(), run_binding(), switch_mode(), version_string(), and workspace_get().
void* scalloc | ( | size_t | size | ) |
Safe-wrapper around calloc which exits if malloc returns NULL (meaning that there is no more memory available)
Referenced by _workspace_show(), add_subscription(), CFGFUN(), con_new_skeleton(), configure_binding(), disable_randr(), fake_outputs_init(), handle_client_message(), handle_output(), i3_restart(), IPC_HANDLER(), ipc_new_client(), json_int(), json_key(), json_string(), load_configuration(), main(), manage_window(), mode_from_name(), open_placeholder_window(), output_init_con(), parse_command(), parse_config(), parse_file(), query_screens(), regex_new(), resolve_tilde(), restore_connect(), send_take_focus(), start_application(), x_con_init(), x_draw_decoration(), and x_window_kill().
void set_font | ( | i3Font * | font | ) |
Defines the font to be used for the forthcoming calls.
Referenced by CFGFUN(), and load_configuration().
void set_font_colors | ( | xcb_gcontext_t | gc, |
uint32_t | foreground, | ||
uint32_t | background | ||
) |
Defines the colors to be used for the forthcoming draw_text calls.
Referenced by sig_draw_window().
void* smalloc | ( | size_t | size | ) |
Safe-wrapper around malloc which exits if malloc returns NULL (meaning that there is no more memory available)
Referenced by append_argument(), CFGFUN(), con_get_fullscreen_con(), display_running_version(), main(), manage_existing_windows(), open_popups(), parse_command(), parse_config(), parse_file(), SLIST_HEAD(), start_nagbar(), TAILQ_HEAD(), and tree_append_json().
void* srealloc | ( | void * | ptr, |
size_t | size | ||
) |
Safe-wrapper around realloc which exits if realloc returns NULL (meaning that there is no more memory available).
Referenced by CFGFUN(), display_running_version(), main(), run_assignments(), translate_keysyms(), and x_push_changes().
char* sstrdup | ( | const char * | str | ) |
Safe-wrapper around strdup which exits if malloc returns NULL (meaning that there is no more memory available)
Referenced by _create___i3(), _workspace_show(), CFGFUN(), cmd_mark(), cmd_rename_workspace(), con_get_tree_representation(), configure_binding(), get_config_path(), handle_windowname_change(), handle_windowname_change_legacy(), ipc_create_socket(), load_configuration(), main(), mkdirp(), mode_from_name(), output_init_con(), parse_command(), parse_file(), push_string(), regex_new(), resolve_tilde(), run_binding(), single_line(), start_application(), tree_append_json(), window_update_class(), workspace_get(), and x_set_name().
void verboselog | ( | char * | fmt, |
... | |||
) |