----------------------------------------------
focus left|right|down|up
focus parent|child|floating|tiling|mode_toggle
- focus output left|right|up|down|<output>
+ focus output left|right|up|down|primary|<output>
----------------------------------------------
*Examples*:
# Focus the big output
bindsym $mod+x focus output HDMI-2
+
+ # Focus the primary output
+ bindsym $mod+x focus output primary
-------------------------------------------------
+ -------------------------------
+ Note that you might not have a primary output configured yet. To do so, run:
+ -------------------------
+ xrandr --output <output> --primary
+ -------------------------
+
=== Moving containers
Use the +move+ command to move a container.
bindsym $mod+m move position mouse
-------------------------------------------------------
+=== Swapping containers
+
+Two containers can be swapped (i.e., move to each other's position) by using
+the +swap+ command. They will assume the position and geometry of the container
+they are swapped with.
+
+The first container to participate in the swapping can be selected through the
+normal command criteria process with the focused window being the usual
+fallback if no criteria are specified. The second container can be selected
+using one of the following methods:
+
++id+:: The X11 window ID of a client window.
++con_id+:: The i3 container ID of a container.
++mark+:: A container with the specified mark, see <<vim_like_marks>>.
+
+Note that swapping does not work with all containers. Most notably, swapping
+floating containers or containers that have a parent-child relationship to one
+another does not work.
+
+*Syntax*:
+----------------------------------------
+swap container with id|con_id|mark <arg>
+----------------------------------------
+
+*Examples*:
+-----------------------------------------------------------------
+# Swaps the focused container with the container marked »swapee«.
+swap container with mark swapee
+
+# Swaps container marked »A« and »B«
+[con_mark="^A$"] swap container with mark B
+-----------------------------------------------------------------
+
=== Sticky floating windows
If you want a window to stick to the glass, i.e., have it stay on screen even
*Syntax*:
------------------------------------------------------------
- move container to output left|right|down|up|current|<output>
- move workspace to output left|right|down|up|current|<output>
+ move container to output left|right|down|up|current|primary|<output>
+ move workspace to output left|right|down|up|current|primary|<output>
------------------------------------------------------------
*Examples*:
# Put this window on the presentation output.
bindsym $mod+x move container to output VGA1
+
+ # Put this window on the primary output.
+ bindsym $mod+x move container to output primary
--------------------------------------------------------
+ -------------------------------
+ Note that you might not have a primary output configured yet. To do so, run:
+ -------------------------
+ xrandr --output <output> --primary
+ -------------------------
+
=== Moving containers/windows to marks
To move a container to another container with a specific mark (see <<vim_like_marks>>),