How i3 Handles Multiple Monitors and Rotated Screens
Updated
i3 treats each monitor as a separate X virtual screen and assigns workspaces to those screens, so multi-monitor support is built into its core design rather than bolted on. According to the project's own description, i3 implements multi-monitor support "correctly, that is by assigning each workspace to a virtual screen," and it explicitly aims to make attaching and detaching monitors — such as video projectors — work during operation. Rotated monitors are also listed as supported. This applies to i3 on GNU/Linux and BSD, where the window manager runs on top of X11.
The core mechanism: one workspace, one screen
i3's model is straightforward:
- Each physical monitor is exposed to i3 as a virtual screen.
- Each workspace belongs to exactly one screen at a time.
- When you switch to a workspace, i3 displays it on the screen that workspace is assigned to.
This is why i3's multi-monitor behavior feels predictable: you are not stretching one desktop across several displays, you are moving whole workspaces between them. The project describes this as the "correct" approach and contrasts it with window managers that handle multiple monitors less cleanly.
Dynamic attach and detach
The project states that i3 is designed so that "attaching and detaching new monitors like video projectors works during operation and does the right thing." In practice this means you can plug in a projector or an external display while your session is running, and i3 will account for the new screen without requiring a restart of the window manager.
The same applies in reverse: unplugging a monitor is handled at runtime. Because workspaces are tied to screens, the important question after a detach is where the workspaces that lived on the removed screen end up — i3's screen-to-workspace assignment is what governs this.
Rotated monitors
Rotated monitors are listed among i3's supported features. Rotation itself is typically configured at the X level (for example through your display configuration), and i3 then treats the rotated output as a screen with the corresponding dimensions. The project's stated goal is that rotated monitors are supported alongside the normal multi-monitor case.
Extended Xinerama support
i3's description highlights "extended Xinerama support." Xinerama is the X11 mechanism for presenting multiple physical displays as separate screens to applications. i3 builds its multi-monitor behavior on this model, which is why each monitor maps to a virtual screen and why workspace-to-screen assignment is the central concept.
What this means for you
| Situation | i3's documented behavior |
|---|---|
| Multiple monitors connected | Each monitor is a virtual screen; workspaces are assigned to screens |
| Plug in a projector mid-session | Attaching a new monitor during operation is handled |
| Unplug a monitor mid-session | Detaching during operation is handled |
| Rotated display | Supported |
| Underlying X11 mechanism | Extended Xinerama support |
If your workflow depends on moving whole workspaces between displays, keeping a fixed layout per monitor, or connecting and disconnecting external screens without restarting your session, i3's design targets exactly those cases. The project positions itself as aimed primarily at advanced users and developers, so expect to configure display and workspace behavior yourself rather than relying on a graphical setup wizard.
For the authoritative details on configuring outputs and assigning workspaces to specific screens, the i3 User's Guide linked from i3wm.org is the reference to follow; the current release listed on the site is 4.25.1.