# vim:ts=2:sw=2:expandtab
#
# i3 - an improved dynamic tiling window manager
-# © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE)
+# © 2009 Michael Stapelberg and contributors (see also: LICENSE)
#
# parser-specs/commands.spec: Specification file for generate-command-parser.pl
# which will generate the appropriate header files for our C parser.
'rename' -> RENAME
'nop' -> NOP
'scratchpad' -> SCRATCHPAD
+ 'title_format' -> TITLE_FORMAT
'mode' -> MODE
'bar' -> BAR
state CRITERIA:
- ctype = 'class' -> CRITERION
- ctype = 'instance' -> CRITERION
+ ctype = 'class' -> CRITERION
+ ctype = 'instance' -> CRITERION
ctype = 'window_role' -> CRITERION
- ctype = 'con_id' -> CRITERION
- ctype = 'id' -> CRITERION
- ctype = 'con_mark' -> CRITERION
- ctype = 'title' -> CRITERION
- ctype = 'urgent' -> CRITERION
+ ctype = 'con_id' -> CRITERION
+ ctype = 'id' -> CRITERION
+ ctype = 'window_type' -> CRITERION
+ ctype = 'con_mark' -> CRITERION
+ ctype = 'title' -> CRITERION
+ ctype = 'urgent' -> CRITERION
+ ctype = 'workspace' -> CRITERION
']' -> call cmd_criteria_match_windows(); INITIAL
state CRITERION:
argument = 'toggle', 'on', 'off'
-> call cmd_debuglog($argument)
-# border normal|none|1pixel|toggle|1pixel
+# border normal|pixel [<n>]
+# border none|1pixel|toggle
state BORDER:
border_style = 'normal', 'pixel'
-> BORDER_WIDTH
floating = 'enable', 'disable', 'toggle'
-> call cmd_floating($floating)
-# mark <mark>
+# mark [--toggle] <mark>
state MARK:
+ toggle = '--toggle'
+ ->
mark = string
- -> call cmd_mark($mark)
+ -> call cmd_mark($mark, $toggle)
# unmark [mark]
state UNMARK:
state RESIZE:
way = 'grow', 'shrink'
-> RESIZE_DIRECTION
+ set = 'set'
+ -> RESIZE_SET
state RESIZE_DIRECTION:
direction = 'up', 'down', 'left', 'right', 'width', 'height'
'ppt', end
-> call cmd_resize($way, $direction, $resize_px, $resize_ppt)
+state RESIZE_SET:
+ width = word
+ -> RESIZE_WIDTH
+
+state RESIZE_WIDTH:
+ 'px'
+ ->
+ height = word
+ -> RESIZE_HEIGHT
+
+state RESIZE_HEIGHT:
+ 'px', end
+ -> call cmd_size($width, $height)
+
# rename workspace <name> to <name>
# rename workspace to <name>
state RENAME:
# move <direction> [<pixels> [px]]
# move [window|container] [to] workspace [<str>|next|prev|next_on_output|prev_on_output|current]
# move [window|container] [to] output <str>
+# move [window|container] [to] mark <str>
# move [window|container] [to] scratchpad
# move workspace to [output] <str>
# move scratchpad
# move [window|container] [to] [absolute] position [ [<pixels> [px] <pixels> [px]] | center ]
+# move [window|container] [to] position mouse|cursor|pointer
state MOVE:
'window'
->
-> MOVE_WORKSPACE
'output'
-> MOVE_TO_OUTPUT
+ 'mark'
+ -> MOVE_TO_MARK
'scratchpad'
-> call cmd_move_scratchpad()
direction = 'left', 'right', 'up', 'down'
output = string
-> call cmd_move_con_to_output($output)
+state MOVE_TO_MARK:
+ mark = string
+ -> call cmd_move_con_to_mark($mark)
+
state MOVE_WORKSPACE_TO_OUTPUT:
'output'
->
state MOVE_TO_POSITION:
'center'
-> call cmd_move_window_to_center($method)
+ 'mouse', 'cursor', 'pointer'
+ -> call cmd_move_window_to_mouse()
coord_x = word
-> MOVE_TO_POSITION_X
'show'
-> call cmd_scratchpad_show()
+state TITLE_FORMAT:
+ format = string
+ -> call cmd_title_format($format)
+
# bar (hidden_state hide|show|toggle)|(mode dock|hide|invisible|toggle) [<bar_id>]
state BAR:
bar_type = 'hidden_state'