]> git.sur5r.net Git - i3/i3/blobdiff - parser-specs/commands.spec
Extend the fullscreen command
[i3/i3] / parser-specs / commands.spec
index 88fbfe6146a16d8748f467b7a1eb8c2f71600dd0..82348df79c9c47d6b5dc9f352eceaaabb4b5100f 100644 (file)
@@ -32,6 +32,7 @@ state INITIAL:
   'split' -> SPLIT
   'floating' -> FLOATING
   'mark' -> MARK
+  'unmark' -> UNMARK
   'resize' -> RESIZE
   'rename' -> RENAME
   'nop' -> NOP
@@ -155,12 +156,28 @@ state KILL:
   end
       -> call cmd_kill($kill_mode)
 
+# fullscreen enable|toggle [global]
+# fullscreen disable
 # fullscreen [global]
 state FULLSCREEN:
-  fullscreen_mode = 'global'
-      -> call cmd_fullscreen($fullscreen_mode)
+  action = 'disable'
+      -> call cmd_fullscreen($action, "output")
+  action = 'enable', 'toggle'
+      -> FULLSCREEN_MODE
+  action = ''
+      -> FULLSCREEN_COMPAT
+
+state FULLSCREEN_MODE:
+  mode = 'global'
+      -> call cmd_fullscreen($action, $mode)
   end
-      -> call cmd_fullscreen($fullscreen_mode)
+      -> call cmd_fullscreen($action, "output")
+
+state FULLSCREEN_COMPAT:
+  mode = 'global'
+      -> call cmd_fullscreen("toggle", $mode)
+  end
+      -> call cmd_fullscreen("toggle", "output")
 
 # split v|h|vertical|horizontal
 state SPLIT:
@@ -177,6 +194,13 @@ state MARK:
   mark = string
       -> call cmd_mark($mark)
 
+# unmark [mark]
+state UNMARK:
+  end
+      -> call cmd_unmark($mark)
+  mark = string
+      -> call cmd_unmark($mark)
+
 # resize
 state RESIZE:
   way = 'grow', 'shrink'
@@ -201,11 +225,11 @@ state RESIZE_TILING:
       -> call cmd_resize($way, $direction, $resize_px, "10")
 
 state RESIZE_TILING_OR:
-  'ppt'
-      ->
   resize_ppt = word
-      ->
-  end
+      -> RESIZE_TILING_FINAL
+
+state RESIZE_TILING_FINAL:
+  'ppt', end
       -> call cmd_resize($way, $direction, $resize_px, $resize_ppt)
 
 # rename workspace <name> to <name>