43

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

0

3 Answers 3

67

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

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

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.

4
  • 2
    is there a way to do this using the workspace name/number? Instead of the active workspace Commented Dec 14, 2018 at 5:29
  • Good question. I don't know. Commented Dec 19, 2018 at 14:39
  • It works perfectly. Commented Nov 29, 2022 at 9:23
  • @Thayne Looks like you need to focus the appropriate workspace first (using something like focus output primary or other options at i3wm.org/docs/userguide.html#_focusing_moving_containers ). Then you can move the workspace. Commented Feb 22, 2024 at 16:38
20

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.

2
  • Handy for one-off moves Commented Oct 9, 2020 at 2:39
  • 1
    You can get the workspace name using i3-msg -t get_workspaces and the monitor name using xrandr. To move workspace 2 to monitor DP-1, use i3-msg '[workspace="2"]' move workspace to output "DP-1" Commented Aug 27, 2024 at 5:13
11

To move to the next workspace, you can use:

bindsym $mod+Ctrl+greater move workspace to output next

docs

This has the advantage of being agnostic as to the position of the workspace - it just cycles through them, no matter if they are up or down or whatever.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.