X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=parser-specs%2Fcommands.spec;h=c0c32933c3a0f69c2fdde5fbe4b2933e757d0660;hb=65eb54c0ba73dea6d01a2cb42c3c9b40df8c6820;hp=68a2667f2cda1bf895fcd1bb36f924cb6dbccfd2;hpb=30c3729a24b77d348cb1c09cb63af26847740ff5;p=i3%2Fi3 diff --git a/parser-specs/commands.spec b/parser-specs/commands.spec index 68a2667f..c0c32933 100644 --- a/parser-specs/commands.spec +++ b/parser-specs/commands.spec @@ -38,6 +38,7 @@ state INITIAL: 'rename' -> RENAME 'nop' -> NOP 'scratchpad' -> SCRATCHPAD + 'swap' -> SWAP 'title_format' -> TITLE_FORMAT 'mode' -> MODE 'bar' -> BAR @@ -53,6 +54,8 @@ state CRITERIA: ctype = 'title' -> CRITERION ctype = 'urgent' -> CRITERION ctype = 'workspace' -> CRITERION + ctype = 'tiling', 'floating' + -> call cmd_criteria_add($ctype, NULL); CRITERIA ']' -> call cmd_criteria_match_windows(); INITIAL state CRITERION: @@ -83,18 +86,18 @@ state DEBUGLOG: # border normal|pixel [] # border none|1pixel|toggle state BORDER: - border_style = 'normal', 'pixel' + border_style = 'normal', 'pixel', 'toggle' -> BORDER_WIDTH - border_style = 'none', 'toggle' - -> call cmd_border($border_style, "0") - border_style = '1pixel' - -> call cmd_border($border_style, "1") + border_style = 'none' + -> call cmd_border($border_style, 0) + '1pixel' + -> call cmd_border("pixel", 1) state BORDER_WIDTH: end - -> call cmd_border($border_style, "2") - border_width = word - -> call cmd_border($border_style, $border_width) + -> call cmd_border($border_style, -1) + border_width = number + -> call cmd_border($border_style, &border_width) # layout default|stacked|stacking|tabbed|splitv|splith # layout toggle [split|all] @@ -108,7 +111,7 @@ state LAYOUT: state LAYOUT_TOGGLE: end -> call cmd_layout_toggle($toggle_mode) - toggle_mode = 'split', 'all' + toggle_mode = string -> call cmd_layout_toggle($toggle_mode) # append_layout @@ -191,9 +194,9 @@ state STICKY: action = 'enable', 'disable', 'toggle' -> call cmd_sticky($action) -# split v|h|vertical|horizontal +# split v|h|t|vertical|horizontal|toggle state SPLIT: - direction = 'horizontal', 'vertical', 'v', 'h' + direction = 'horizontal', 'vertical', 'toggle', 'v', 'h', 't' -> call cmd_split($direction) # floating enable|disable|toggle @@ -251,18 +254,32 @@ state RESIZE_TILING_FINAL: -> call cmd_resize($way, $direction, &resize_px, &resize_ppt) state RESIZE_SET: + 'height' + -> RESIZE_HEIGHT_GET_NUMBER + 'width' + -> width = number -> RESIZE_WIDTH state RESIZE_WIDTH: - 'px' + mode_width = 'px', 'ppt' -> + end + -> call cmd_resize_set(&width, $mode_width, 0, 0) + 'height' + -> RESIZE_HEIGHT_GET_NUMBER + height = number + -> RESIZE_HEIGHT + +state RESIZE_HEIGHT_GET_NUMBER: height = number -> RESIZE_HEIGHT state RESIZE_HEIGHT: - 'px', end - -> call cmd_resize_set(&width, &height) + mode_height = 'px', 'ppt' + -> + end + -> call cmd_resize_set(&width, $mode_width, &height, $mode_height) # rename workspace to # rename workspace to @@ -271,24 +288,28 @@ state RENAME: -> RENAME_WORKSPACE state RENAME_WORKSPACE: - old_name = 'to' + 'to' -> RENAME_WORKSPACE_LIKELY_TO old_name = word -> RENAME_WORKSPACE_TO state RENAME_WORKSPACE_LIKELY_TO: - 'to' - -> RENAME_WORKSPACE_NEW_NAME + 'to ' + -> RENAME_WORKSPACE_LIKELY_TO_NEW_NAME new_name = word -> call cmd_rename_workspace(NULL, $new_name) +state RENAME_WORKSPACE_LIKELY_TO_NEW_NAME: + new_name = string + -> call cmd_rename_workspace("to", $new_name) + end + -> call cmd_rename_workspace(NULL, "to") + state RENAME_WORKSPACE_TO: 'to' - -> RENAME_WORKSPACE_NEW_NAME + -> RENAME_WORKSPACE_TO_NEW_NAME -state RENAME_WORKSPACE_NEW_NAME: - end - -> call cmd_rename_workspace(NULL, "to") +state RENAME_WORKSPACE_TO_NEW_NAME: new_name = string -> call cmd_rename_workspace($old_name, $new_name) @@ -308,6 +329,8 @@ state MOVE: -> 'to' -> + no_auto_back_and_forth = '--no-auto-back-and-forth' + -> 'workspace' -> MOVE_WORKSPACE 'output' @@ -345,11 +368,11 @@ state MOVE_WORKSPACE: 'number' -> MOVE_WORKSPACE_NUMBER workspace = string - -> call cmd_move_con_to_workspace_name($workspace) + -> call cmd_move_con_to_workspace_name($workspace, $no_auto_back_and_forth) state MOVE_WORKSPACE_NUMBER: number = string - -> call cmd_move_con_to_workspace_number($number) + -> call cmd_move_con_to_workspace_number($number, $no_auto_back_and_forth) state MOVE_TO_OUTPUT: output = string @@ -385,7 +408,7 @@ state MOVE_TO_POSITION_X: state MOVE_TO_POSITION_Y: 'px', end - -> call cmd_move_window_to_position($method, &coord_x, &coord_y) + -> call cmd_move_window_to_position(&coord_x, &coord_y) # mode state MODE: @@ -402,6 +425,21 @@ state SCRATCHPAD: 'show' -> call cmd_scratchpad_show() +# swap [container] [with] id +# swap [container] [with] con_id +# swap [container] [with] mark +state SWAP: + 'container' + -> + 'with' + -> + mode = 'id', 'con_id', 'mark' + -> SWAP_ARGUMENT + +state SWAP_ARGUMENT: + arg = string + -> call cmd_swap($mode, $arg) + state TITLE_FORMAT: format = string -> call cmd_title_format($format)