How to organize windows and workspaces in Linux with i3wm
Learn how to configure advanced shortcuts, automatic app placement rules, and multi-monitor setups in i3wm to supercharge your workflow.
Summary
- The i3wm window manager tiles applications automatically to eliminate unnecessary mouse usage.
- Custom window rules direct specific apps to dedicated workspaces without manual intervention.
- Multi-monitor management requires mapping video outputs correctly in the configuration file.
- Mod-key based shortcuts turn window navigation into a nearly instantaneous process.
- Deep customization of the i3/config file ensures a lightweight, stable, and tailored development environment.
Why choose a tiling window manager for your daily workflow
If you have ever spent hours resizing overlapping windows on traditional operating systems, you know how much mental energy it drains. In the Linux ecosystem, i3wm emerges as a radical and extremely efficient alternative: a tiling window manager. In practice, this means every opened application automatically takes up an exact fraction of the screen, organizing itself into grids or columns without overlapping. This approach eliminates the need to grab the mouse to drag borders, keeping your hands firmly on the keyboard.
For those accustomed to heavy desktop environments like GNOME or KDE, transitioning to i3wm requires a mindset shift. Here, there are no conventional taskbars or close buttons in the corner. Everything is controlled by highly customizable keyboard shortcuts. If you wish to build foundational organization skills in Linux before diving into pure tiling, you might want to review our guide on how to organize windows and workspaces in Ubuntu with shortcuts.
The main advantage of this architecture is the intelligent use of visual space. Modern monitors are wide, and stacking windows side by side maximizes the amount of useful information visible at once. Whether you are coding, monitoring servers, or writing documents, i3wm ensures zero wasted pixels on decorative margins or unnecessary floating bars.
Configuring the control file and core shortcuts
All the magic of i3wm happens through a single plain text file located in your home folder, usually at ~/.config/i3/config. This is where you define the behavior of every key and the visual appearance of your environment. The file uses a straightforward syntax based on commands and modifiers, where the Mod key is typically mapped to the Super key (the Windows key) or Alt.
To alter the default behavior and create custom shortcuts that fit your brain, you edit this text file and reload the configuration using the manager's internal command. The snippet below demonstrates how to remap directional keys to the Vim standard (h, j, k, l) and bind opening a terminal to a quick key combination:
# Setting the Mod key as the Super (Windows) key set $mod Mod4 # Shortcut to open default terminal (Alacritty or Kitty) bindsym $mod+Return exec kitty # Window focus using Vim standard bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus rightMastering these basic commands drastically decreases daily friction. When moving between code editors, browsers, and consoles becomes muscle memory, your concentration capacity rises surprisingly, allowing for much longer and more productive work sessions.
Automatic application placement rules
One of the biggest frustrations when adopting a tiling manager is having to manually reposition the exact same programs every time the system starts. The browser opens on the secondary monitor, the chat client lands on the wrong workspace, and you lose precious seconds fixing the layout. Fortunately, i3wm lets you create strict automatic assignment rules using the for_window command.
To configure these rules, you need to identify the window class or title of your target app, which can be easily done by running the xprop tool in the terminal and clicking on the target window. With this information ready, your config file directs your workflow completely autonomously, sending each tool exactly where it belongs.
The following example illustrates how to instruct the manager to send the Firefox browser to workspace 2 and force the volume manager to float on screen:
# Automatically assign Firefox to workspace 2 assign [class='Firefox'] $ws2 # Force volume control settings to open as floating windows for_window [class='Pavucontrol'] floating enableWith these guidelines active, computer startup transforms into an instant event. Upon turning on the machine and restoring sessions, your entire software ecosystem reorganizes itself, leaving your environment ready for immediate action without repetitive manual intervention.
Mastering multiple monitors and workspaces
Working with more than one monitor on traditional managers is often full of lags and lost windows. In i3wm, multi-display management is handled robustly by precisely identifying connected video outputs like HDMI-1 or DP-1. You can bind specific workspaces to specific physical monitors, creating fixed working zones.
This spatial segmentation prevents windows from jumping randomly across screens when focus shifts. If you use an ultrawide monitor or a dual-screen desk setup, defining these anchors ensures your development station maintains a consistent topology throughout the operational day.
Below is a practical example of how to associate numeric workspaces with specific video outputs in the i3 configuration file:
# Mapping workspaces to specific monitors set $ws1 "1: Code" set $ws2 "2: Web" workspace $ws1 output DP-1 workspace $ws2 output HDMI-1This structured organization is indispensable for professionals dealing with intense data flows who need to quickly toggle between source code, technical documentation, and communication tools without losing their train of thought. To complement this implementation in production environments, see our related technical analyses on How to test and replace SMD IC with hot air station and How to monitor HTTP/3 and QUIC traffic in Linux terminal.
Final Considerations
Adopting i3wm and configuring its shortcut and workspace architecture is a watershed moment in how you interact with your operating system. By trading the chaos of floating windows for a deterministic mosaic, you regain total control over your digital workspace, reducing distractions and accelerating all everyday interactions.
The initial learning curve pays off manifold in the first few weeks when keyboard navigation becomes natural and unconscious. Take time to refine your configuration file, adapt shortcuts to your personal ergonomics, and discover a new level of efficiency and fluidity in your daily Linux workflow.