i3
|
#include "commands_parser.h"
Go to the source code of this file.
Macros | |
#define | I3_CMD Match *current_match, struct CommandResultIR *cmd_output |
The beginning of the prototype for every cmd_ function. More... | |
Functions | |
void | cmd_criteria_init (I3_CMD) |
Initializes the specified 'Match' data structure and the initial state of commands.c for matching target windows of a command. More... | |
void | cmd_criteria_match_windows (I3_CMD) |
A match specification just finished (the closing square bracket was found), so we filter the list of owindows. More... | |
void | cmd_criteria_add (I3_CMD, char *ctype, char *cvalue) |
Interprets a ctype=cvalue pair and adds it to the current match specification. More... | |
void | cmd_move_con_to_workspace (I3_CMD, char *which) |
Implementation of 'move [window|container] [to] workspace next|prev|next_on_output|prev_on_output'. More... | |
void | cmd_move_con_to_workspace_back_and_forth (I3_CMD) |
Implementation of 'move [window|container] [to] workspace back_and_forth'. More... | |
void | cmd_move_con_to_workspace_name (I3_CMD, char *name) |
Implementation of 'move [window|container] [to] workspace <name>'. More... | |
void | cmd_move_con_to_workspace_number (I3_CMD, char *which) |
Implementation of 'move [window|container] [to] workspace number <number>'. More... | |
void | cmd_resize (I3_CMD, char *way, char *direction, char *resize_px, char *resize_ppt) |
Implementation of 'resize grow|shrink <direction> [<px> px] [or <ppt> ppt]'. More... | |
void | cmd_border (I3_CMD, char *border_style_str, char *border_width) |
Implementation of 'border normal|none|1pixel|toggle'. More... | |
void | cmd_nop (I3_CMD, char *comment) |
Implementation of 'nop <comment>'. More... | |
void | cmd_append_layout (I3_CMD, char *path) |
Implementation of 'append_layout <path>'. More... | |
void | cmd_workspace (I3_CMD, char *which) |
Implementation of 'workspace next|prev|next_on_output|prev_on_output'. More... | |
void | cmd_workspace_number (I3_CMD, char *which) |
Implementation of 'workspace number <number>'. More... | |
void | cmd_workspace_back_and_forth (I3_CMD) |
Implementation of 'workspace back_and_forth'. More... | |
void | cmd_workspace_name (I3_CMD, char *name) |
Implementation of 'workspace <name>'. More... | |
void | cmd_mark (I3_CMD, char *mark) |
Implementation of 'mark <mark>'. More... | |
void | cmd_unmark (I3_CMD, char *mark) |
Implementation of 'unmark [mark]'. More... | |
void | cmd_mode (I3_CMD, char *mode) |
Implementation of 'mode <string>'. More... | |
void | cmd_move_con_to_output (I3_CMD, char *name) |
Implementation of 'move [window|container] [to] output <str>'. More... | |
void | cmd_floating (I3_CMD, char *floating_mode) |
Implementation of 'floating enable|disable|toggle'. More... | |
void | cmd_move_workspace_to_output (I3_CMD, char *name) |
Implementation of 'move workspace to [output] <str>'. More... | |
void | cmd_split (I3_CMD, char *direction) |
Implementation of 'split v|h|vertical|horizontal'. More... | |
void | cmd_kill (I3_CMD, char *kill_mode_str) |
Implementation of 'kill [window|client]'. More... | |
void | cmd_exec (I3_CMD, char *nosn, char *command) |
Implementation of 'exec [–no-startup-id] <command>'. More... | |
void | cmd_focus_direction (I3_CMD, char *direction) |
Implementation of 'focus left|right|up|down'. More... | |
void | cmd_focus_window_mode (I3_CMD, char *window_mode) |
Implementation of 'focus tiling|floating|mode_toggle'. More... | |
void | cmd_focus_level (I3_CMD, char *level) |
Implementation of 'focus parent|child'. More... | |
void | cmd_focus (I3_CMD) |
Implementation of 'focus'. More... | |
void | cmd_fullscreen (I3_CMD, char *fullscreen_mode) |
Implementation of 'fullscreen [global]'. More... | |
void | cmd_move_direction (I3_CMD, char *direction, char *move_px) |
Implementation of 'move <direction> [<pixels> [px]]'. More... | |
void | cmd_layout (I3_CMD, char *layout_str) |
Implementation of 'layout default|stacked|stacking|tabbed|splitv|splith'. More... | |
void | cmd_layout_toggle (I3_CMD, char *toggle_mode) |
Implementation of 'layout toggle [all|split]'. More... | |
void | cmd_exit (I3_CMD) |
Implementation of 'exit'. More... | |
void | cmd_reload (I3_CMD) |
Implementation of 'reload'. More... | |
void | cmd_restart (I3_CMD) |
Implementation of 'restart'. More... | |
void | cmd_open (I3_CMD) |
Implementation of 'open'. More... | |
void | cmd_focus_output (I3_CMD, char *name) |
Implementation of 'focus output <output>'. More... | |
void | cmd_move_window_to_position (I3_CMD, char *method, char *x, char *y) |
Implementation of 'move [window|container] [to] [absolute] position <px> [px] <px> [px]. More... | |
void | cmd_move_window_to_center (I3_CMD, char *method) |
Implementation of 'move [window|container] [to] [absolute] position center. More... | |
void | cmd_move_scratchpad (I3_CMD) |
Implementation of 'move scratchpad'. More... | |
void | cmd_scratchpad_show (I3_CMD) |
Implementation of 'scratchpad show'. More... | |
void | cmd_rename_workspace (I3_CMD, char *old_name, char *new_name) |
Implementation of 'rename workspace <name> to <name>'. More... | |
void | cmd_bar (I3_CMD, char *bar_type, char *bar_value, char *bar_id) |
Implementation of 'bar (hidden_state hide|show|toggle)|(mode dock|hide|invisible|toggle) [<bar_id>]'. More... | |
void | cmd_shmlog (I3_CMD, char *argument) |
void | cmd_debuglog (I3_CMD, char *argument) |
#define I3_CMD Match *current_match, struct CommandResultIR *cmd_output |
The beginning of the prototype for every cmd_ function.
Definition at line 15 of file commands.h.
void cmd_append_layout | ( | I3_CMD | , |
char * | path | ||
) |
Implementation of 'append_layout <path>'.
Definition at line 883 of file commands.c.
References con_accepts_window(), croot, DLOG, focused, LOG, Con::parent, render_con(), restore_open_placeholder_windows(), tree_append_json(), Con::type, yerror, and ysuccess.
Referenced by GENERATED_call().
void cmd_bar | ( | I3_CMD | , |
char * | bar_type, | ||
char * | bar_value, | ||
char * | bar_id | ||
) |
Implementation of 'bar (hidden_state hide|show|toggle)|(mode dock|hide|invisible|toggle) [<bar_id>]'.
Definition at line 2045 of file commands.c.
References cmd_bar_hidden_state(), cmd_bar_mode(), ELOG, update_barconfig(), and ysuccess.
Referenced by GENERATED_call().
void cmd_border | ( | I3_CMD | , |
char * | border_style_str, | ||
char * | border_width | ||
) |
Implementation of 'border normal|none|1pixel|toggle'.
Definition at line 820 of file commands.c.
References Con::border_style, BS_NONE, BS_NORMAL, BS_PIXEL, owindow::con, con_set_border_style(), DLOG, ELOG, HANDLE_EMPTY_MATCH, Con::name, TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_criteria_add | ( | I3_CMD | , |
char * | ctype, | ||
char * | cvalue | ||
) |
Interprets a ctype=cvalue pair and adds it to the current match specification.
Definition at line 337 of file commands.c.
References Match::class, Match::con_id, current_match, DLOG, ELOG, Match::id, Match::instance, Match::mark, regex_new(), Match::title, Match::urgent, and Match::window_role.
Referenced by GENERATED_call().
void cmd_criteria_init | ( | I3_CMD | ) |
Initializes the specified 'Match' data structure and the initial state of commands.c for matching target windows of a command.
Referenced by GENERATED_call(), and parse_command().
void cmd_criteria_match_windows | ( | I3_CMD | ) |
A match specification just finished (the closing square bracket was found), so we filter the list of owindows.
Definition at line 288 of file commands.c.
References owindow::con, Match::con_id, current_match, DLOG, Match::mark, Con::mark, match_matches_window(), Con::name, regex_matches(), TAILQ_END, TAILQ_FIRST, TAILQ_FOREACH, TAILQ_INIT, TAILQ_INSERT_TAIL, TAILQ_NEXT, and Con::window.
Referenced by GENERATED_call().
void cmd_debuglog | ( | I3_CMD | , |
char * | argument | ||
) |
Definition at line 2098 of file commands.c.
References get_debug_logging(), LOG, set_debug_logging(), and ysuccess.
Referenced by GENERATED_call().
void cmd_exec | ( | I3_CMD | , |
char * | nosn, | ||
char * | command | ||
) |
Implementation of 'exec [–no-startup-id] <command>'.
Definition at line 1353 of file commands.c.
References DLOG, start_application(), and ysuccess.
Referenced by GENERATED_call().
void cmd_exit | ( | I3_CMD | ) |
Implementation of 'exit'.
Definition at line 1652 of file commands.c.
References config, conn, ipc_shutdown(), Config::ipc_socket_path, and LOG.
Referenced by GENERATED_call().
void cmd_floating | ( | I3_CMD | , |
char * | floating_mode | ||
) |
Implementation of 'floating enable|disable|toggle'.
Definition at line 1149 of file commands.c.
References owindow::con, DLOG, floating_disable(), floating_enable(), HANDLE_EMPTY_MATCH, Con::name, TAILQ_FOREACH, toggle_floating_mode(), and ysuccess.
Referenced by GENERATED_call().
void cmd_focus | ( | I3_CMD | ) |
Implementation of 'focus'.
Definition at line 1453 of file commands.c.
References owindow::con, con_focus(), con_fullscreen_permits_focusing(), con_get_workspace(), current_match, DLOG, ELOG, focused, LOG, match_is_empty(), Con::name, scratchpad_show(), TAILQ_FOREACH, workspace_get(), workspace_show(), yerror, and ysuccess.
Referenced by GENERATED_call().
void cmd_focus_direction | ( | I3_CMD | , |
char * | direction | ||
) |
Implementation of 'focus left|right|up|down'.
Definition at line 1367 of file commands.c.
References DLOG, ELOG, HORIZ, tree_next(), VERT, and ysuccess.
Referenced by GENERATED_call().
void cmd_focus_level | ( | I3_CMD | , |
char * | level | ||
) |
Implementation of 'focus parent|child'.
Definition at line 1425 of file commands.c.
References con_fullscreen_permits_focusing(), DLOG, ELOG, focused, level_down(), level_up(), Con::parent, and ysuccess.
Referenced by GENERATED_call().
void cmd_focus_output | ( | I3_CMD | , |
char * | name | ||
) |
Implementation of 'focus output <output>'.
Definition at line 1725 of file commands.c.
References owindow::con, xoutput::con, DLOG, get_output_from_string(), get_output_of_con(), GREP_FIRST, HANDLE_EMPTY_MATCH, LOG, Workspace_Assignment::output, output_get_content(), TAILQ_FOREACH, workspace_is_visible(), workspace_show(), and ysuccess.
Referenced by GENERATED_call().
void cmd_focus_window_mode | ( | I3_CMD | , |
char * | window_mode | ||
) |
Implementation of 'focus tiling|floating|mode_toggle'.
Definition at line 1393 of file commands.c.
References con_descend_focused(), con_focus(), con_get_workspace(), DLOG, focused, TAILQ_FIRST, TAILQ_FOREACH, Con::type, and ysuccess.
Referenced by GENERATED_call().
void cmd_fullscreen | ( | I3_CMD | , |
char * | fullscreen_mode | ||
) |
Implementation of 'fullscreen [global]'.
Definition at line 1529 of file commands.c.
References CF_GLOBAL, CF_OUTPUT, owindow::con, con_toggle_fullscreen(), DLOG, HANDLE_EMPTY_MATCH, Con::name, TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_kill | ( | I3_CMD | , |
char * | kill_mode_str | ||
) |
Implementation of 'kill [window|client]'.
Definition at line 1316 of file commands.c.
References owindow::con, current_match, DLOG, ELOG, KILL_CLIENT, KILL_WINDOW, match_is_empty(), Con::name, TAILQ_FOREACH, tree_close(), tree_close_con(), and ysuccess.
Referenced by GENERATED_call().
void cmd_layout | ( | I3_CMD | , |
char * | layout_str | ||
) |
Implementation of 'layout default|stacked|stacking|tabbed|splitv|splith'.
Definition at line 1583 of file commands.c.
References owindow::con, con_set_layout(), current_match, DLOG, ELOG, focused, L_DEFAULT, L_SPLITH, L_SPLITV, L_STACKED, L_TABBED, match_is_empty(), Con::name, TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_layout_toggle | ( | I3_CMD | , |
char * | toggle_mode | ||
) |
Implementation of 'layout toggle [all|split]'.
Definition at line 1625 of file commands.c.
References owindow::con, con_toggle_layout(), current_match, DLOG, focused, match_is_empty(), Con::name, TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_mark | ( | I3_CMD | , |
char * | mark | ||
) |
Implementation of 'mark <mark>'.
Definition at line 1027 of file commands.c.
References all_cons, owindow::con, DLOG, FREE, HANDLE_EMPTY_MATCH, Con::mark, Con::name, sstrdup(), TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_mode | ( | I3_CMD | , |
char * | mode | ||
) |
Implementation of 'mode <string>'.
Definition at line 1080 of file commands.c.
References DLOG, switch_mode(), and ysuccess.
Referenced by GENERATED_call().
void cmd_move_con_to_output | ( | I3_CMD | , |
char * | name | ||
) |
Implementation of 'move [window|container] [to] output <str>'.
Definition at line 1092 of file commands.c.
References owindow::con, xoutput::con, con_move_to_workspace(), D_DOWN, D_LEFT, D_RIGHT, D_UP, DLOG, get_output_by_name(), get_output_next_wrap(), get_output_of_con(), GREP_FIRST, HANDLE_EMPTY_MATCH, LOG, Con::name, output_get_content(), TAILQ_FOREACH, workspace_is_visible(), and ysuccess.
Referenced by GENERATED_call().
void cmd_move_con_to_workspace | ( | I3_CMD | , |
char * | which | ||
) |
Implementation of 'move [window|container] [to] workspace next|prev|next_on_output|prev_on_output'.
Definition at line 416 of file commands.c.
References owindow::con, con_get_workspace(), con_has_children(), con_move_to_workspace(), current_match, DLOG, ELOG, focused, HANDLE_EMPTY_MATCH, match_is_empty(), Con::name, TAILQ_EMPTY, TAILQ_FOREACH, Con::type, workspace_next(), workspace_next_on_output(), workspace_prev(), workspace_prev_on_output(), and ysuccess.
Referenced by GENERATED_call().
void cmd_move_con_to_workspace_back_and_forth | ( | I3_CMD | ) |
Implementation of 'move [window|container] [to] workspace back_and_forth'.
Definition at line 465 of file commands.c.
References owindow::con, con_move_to_workspace(), DLOG, HANDLE_EMPTY_MATCH, Con::name, TAILQ_FOREACH, workspace_back_and_forth_get(), yerror, and ysuccess.
Referenced by GENERATED_call().
void cmd_move_con_to_workspace_name | ( | I3_CMD | , |
char * | name | ||
) |
Implementation of 'move [window|container] [to] workspace <name>'.
Definition at line 492 of file commands.c.
References owindow::con, con_has_children(), con_move_to_workspace(), current_match, DLOG, ELOG, focused, HANDLE_EMPTY_MATCH, LOG, match_is_empty(), maybe_auto_back_and_forth_workspace(), Con::name, TAILQ_EMPTY, TAILQ_FOREACH, Con::type, workspace_get(), and ysuccess.
Referenced by GENERATED_call().
void cmd_move_con_to_workspace_number | ( | I3_CMD | , |
char * | which | ||
) |
Implementation of 'move [window|container] [to] workspace number <number>'.
Definition at line 536 of file commands.c.
References owindow::con, con_has_children(), con_move_to_workspace(), croot, current_match, DLOG, focused, GREP_FIRST, HANDLE_EMPTY_MATCH, LOG, match_is_empty(), maybe_auto_back_and_forth_workspace(), Con::name, Con::num, output_get_content(), TAILQ_EMPTY, TAILQ_FOREACH, Con::type, workspace_get(), yerror, and ysuccess.
Referenced by GENERATED_call().
void cmd_move_direction | ( | I3_CMD | , |
char * | direction, | ||
char * | move_px | ||
) |
Implementation of 'move <direction> [<pixels> [px]]'.
Definition at line 1551 of file commands.c.
References con_is_floating(), D_DOWN, D_LEFT, D_RIGHT, D_UP, DLOG, floating_reposition(), focused, Con::parent, Con::rect, tree_move(), Rect::x, Rect::y, and ysuccess.
Referenced by GENERATED_call().
void cmd_move_scratchpad | ( | I3_CMD | ) |
Implementation of 'move scratchpad'.
Definition at line 1841 of file commands.c.
References owindow::con, DLOG, HANDLE_EMPTY_MATCH, Con::name, scratchpad_move(), TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_move_window_to_center | ( | I3_CMD | , |
char * | method | ||
) |
Implementation of 'move [window|container] [to] [absolute] position center.
Definition at line 1804 of file commands.c.
References con_get_workspace(), con_is_floating(), croot, DLOG, ELOG, floating_maybe_reassign_ws(), floating_reposition(), focused, Rect::height, Con::parent, Con::rect, Rect::width, Rect::x, Rect::y, yerror, and ysuccess.
Referenced by GENERATED_call().
void cmd_move_window_to_position | ( | I3_CMD | , |
char * | method, | ||
char * | x, | ||
char * | y | ||
) |
Implementation of 'move [window|container] [to] [absolute] position <px> [px] <px> [px].
Definition at line 1767 of file commands.c.
References con_is_floating(), DLOG, ELOG, floating_maybe_reassign_ws(), floating_reposition(), focused, Con::parent, Con::rect, x, Rect::x, y, Rect::y, yerror, and ysuccess.
Referenced by GENERATED_call().
void cmd_move_workspace_to_output | ( | I3_CMD | , |
char * | name | ||
) |
Implementation of 'move workspace to [output] <str>'.
Definition at line 1180 of file commands.c.
References CALL, owindow::con, xoutput::con, con_attach(), con_detach(), con_get_workspace(), con_num_children(), create_workspace_on_output(), croot, DLOG, ELOG, floating_fix_coordinates(), get_output_from_string(), get_output_of_con(), GREP_FIRST, HANDLE_EMPTY_MATCH, ipc_send_event(), LOG, Workspace_Assignment::name, xoutput::name, Con::name, Workspace_Assignment::output, output_get_content(), Con::parent, Con::rect, TAILQ_FIRST, TAILQ_FOREACH, workspace_get(), workspace_is_visible(), workspace_show(), ws_assignments, and ysuccess.
Referenced by GENERATED_call().
void cmd_nop | ( | I3_CMD | , |
char * | comment | ||
) |
Implementation of 'nop <comment>'.
Definition at line 873 of file commands.c.
References LOG.
Referenced by GENERATED_call().
void cmd_open | ( | I3_CMD | ) |
Implementation of 'open'.
Definition at line 1705 of file commands.c.
References owindow::con, con_focus(), L_SPLITH, Con::layout, LOG, tree_open_con(), y, and ystr.
Referenced by GENERATED_call().
void cmd_reload | ( | I3_CMD | ) |
Implementation of 'reload'.
Definition at line 1666 of file commands.c.
References command_error_nagbar_pid, config_error_nagbar_pid, conn, ipc_send_event(), kill_nagbar(), load_configuration(), LOG, update_barconfig(), x_set_i3_atoms(), and ysuccess.
Referenced by GENERATED_call().
void cmd_rename_workspace | ( | I3_CMD | , |
char * | old_name, | ||
char * | new_name | ||
) |
Implementation of 'rename workspace <name> to <name>'.
Definition at line 1883 of file commands.c.
References con_attach(), con_detach(), con_focus(), con_get_workspace(), croot, focused, FREE, GREP_FIRST, ipc_send_event(), LOG, Con::name, Con::num, Workspace_Assignment::output, output_get_content(), Con::parent, sstrdup(), TAILQ_FOREACH, yerror, and ysuccess.
Referenced by GENERATED_call().
void cmd_resize | ( | I3_CMD | , |
char * | way, | ||
char * | direction, | ||
char * | resize_px, | ||
char * | resize_ppt | ||
) |
Implementation of 'resize grow|shrink <direction> [<px> px] [or <ppt> ppt]'.
Definition at line 775 of file commands.c.
References cmd_resize_floating(), cmd_resize_tiling_direction(), cmd_resize_tiling_width_height(), owindow::con, con_inside_floating(), current_match, DLOG, Window::dock, HANDLE_EMPTY_MATCH, TAILQ_FOREACH, Con::window, and ysuccess.
Referenced by GENERATED_call().
void cmd_restart | ( | I3_CMD | ) |
Implementation of 'restart'.
Definition at line 1685 of file commands.c.
References config, i3_restart(), ipc_shutdown(), Config::ipc_socket_path, LOG, purge_zerobyte_logfile(), and ysuccess.
Referenced by GENERATED_call().
void cmd_scratchpad_show | ( | I3_CMD | ) |
Implementation of 'scratchpad show'.
Definition at line 1861 of file commands.c.
References owindow::con, current_match, DLOG, match_is_empty(), Con::name, scratchpad_show(), TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_shmlog | ( | I3_CMD | , |
char * | argument | ||
) |
Definition at line 2067 of file commands.c.
References default_shmlog_size, init_logging(), LOG, shmlog_size, update_shmlog_atom(), and ysuccess.
Referenced by GENERATED_call().
void cmd_split | ( | I3_CMD | , |
char * | direction | ||
) |
Implementation of 'split v|h|vertical|horizontal'.
Definition at line 1294 of file commands.c.
References owindow::con, current_match, DLOG, focused, HORIZ, LOG, match_is_empty(), Con::name, TAILQ_FOREACH, tree_split(), VERT, and ysuccess.
Referenced by GENERATED_call().
void cmd_unmark | ( | I3_CMD | , |
char * | mark | ||
) |
Implementation of 'unmark [mark]'.
Definition at line 1055 of file commands.c.
References all_cons, owindow::con, DLOG, FREE, Con::mark, TAILQ_FOREACH, and ysuccess.
Referenced by GENERATED_call().
void cmd_workspace | ( | I3_CMD | , |
char * | which | ||
) |
Implementation of 'workspace next|prev|next_on_output|prev_on_output'.
Definition at line 924 of file commands.c.
References DLOG, ELOG, workspace_next(), workspace_next_on_output(), workspace_prev(), workspace_prev_on_output(), workspace_show(), and ysuccess.
Referenced by GENERATED_call().
void cmd_workspace_back_and_forth | ( | I3_CMD | ) |
Implementation of 'workspace back_and_forth'.
Definition at line 994 of file commands.c.
References workspace_back_and_forth(), and ysuccess.
Referenced by GENERATED_call().
void cmd_workspace_name | ( | I3_CMD | , |
char * | name | ||
) |
Implementation of 'workspace <name>'.
Definition at line 1006 of file commands.c.
References DLOG, LOG, maybe_back_and_forth(), workspace_show_by_name(), and ysuccess.
Referenced by GENERATED_call().
void cmd_workspace_number | ( | I3_CMD | , |
char * | which | ||
) |
Implementation of 'workspace number <number>'.
Definition at line 954 of file commands.c.
References croot, GREP_FIRST, LOG, maybe_back_and_forth(), Con::name, Con::num, output_get_content(), TAILQ_FOREACH, workspace_show(), workspace_show_by_name(), yerror, and ysuccess.
Referenced by GENERATED_call().