In a multiple monitor set-up, is there a way to transfer entire workspaces (as opposed to single applications) to a different monitor?


2 Answers 2


You can define a binding in your i3 config. Note: windows are called "containers", and monitors are called "outputs".

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

Here's what I use in my config:

# 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.

  • is there a way to do this using the workspace name/number? Instead of the active workspace
    – Thayne
    Dec 14, 2018 at 5:29
  • Good question. I don't know.
    – crypdick
    Dec 19, 2018 at 14:39

The workspace can be explicitly specified by name like this, for values of workspace_name and output_name:

i3-msg '[workspace="workspace_name"]' move workspace to output output_index

Note that if you name your workspaces like 1:first, you use 1 not first.

  • Handy for one-off moves
    – Reuben
    Oct 9, 2020 at 2:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.