Skip to main content
1 of 2
Ricardo Decal
  • 1.8k
  • 4
  • 16
  • 24

Moving focus between monitors works just like with one monitor. The focus will jump once you reach the "edge" of one monitor. The default binding is $mod+<arrow direction>.

For windows and workspaces, you need to define a binding in your i3 config. Note: windows are called "containers", and monitors are called "outputs".

For moving windows:

move container to output left|right|down|up|current|primary|<output>

For moving workspaces:

move workspace to output left|right|down|up|current|primary|<output>

Here's what I use in my config:

# move focused window between monitors
bindsym $mod+Shift+greater move container to output right
bindsym $mod+Shift+less move container to output left

# move focused workspace between monitors
bindsym $mod+Ctrl+greater move workspace to output right
bindsym $mod+Ctrl+less move workspace to output left

Strangely, I'd expect the $mod+Ctrl+greater to require me to hit Ctrl and Shift at the same time, since you need to press Shift to type < and >. However, pressing just mod, Ctrl, and , works, which is very nice.

Note, you can also set a keybinding to send things to a specific monitor by its name.

Ricardo Decal
  • 1.8k
  • 4
  • 16
  • 24