Bloat is the bane of modern computing. Have you ever uninstalled apps or disabled services just to put your system on a diet? i3 is like a desktop on a diet, a lean, simple, yet powerful system that improves my workflow efficiency dramatically—and it’s notjustfor experts either.

Lean and Lightweight, i3 Doesn’t Drain Resources

i3 has no flashy graphics, no CPU- or GPU-intensive processes, and it doesn’t hog too much RAM. It does one thing, and it does it well: tiling.

In contrast, a large part of the desktop environment experience is subtle and smooth animations. When you move or resize a window, it doesn’t suddenlypop.Instead, there’s a succession of movements, and it must rendereachframe. Rendering frames takes resources, including battery power.

An i3 desktop that displays 2 tiled windows: a terminal on the left and a browser window on the right.

i3 is not the lightest window manager in terms of RAM, but it’s still light, and its ease of use makes it a serious contender.

Changing workspaces is instantaneous; in fact, if it were physically possible, I could switch between workspaces faster than my fingers could press the buttons. There are no sluggish delays or huge spikes in CPU usage. It’s indispensable for those whowant a really lightweight desktop experience.

An i3 desktop that displays 6 tiled windows: 1 on the left and 5 on the right.

Efficient and Rapid, Everything Mapped Directly to My Fingertips

When working with a vast number of windows, do you find switching between them taxing? When I used a desktop environment, I had a vaguely defined workflow, but generally I dumped windows into random workspaces. Without a well-defined workflow, I spent far too much time cycling through the wrong windows. It was exhausting; my workspaces felt more like a junk drawer than a desktop.

The culprits are a lack of organization and a lack of muscle memory. With the junk drawer approach, you have to constantly think about how to access the correct window—thousands of times per day. With i3—through its rigid rules and practice—I press the correct buttons quicker than I can think.

Mygolden rule is, if the applications or windows work well side-by-side, then I group them into the same workspace. For example, my notes and research browser go into one workspace; my general browser goes into another. For development, each application goes into a separate workspace. Since i3 strictly enforces assignment rules, I know which workspace they go into beforehand. It’s like having a set of well-organized drawers; when I need something, I know exactly where it is.

Effortless Layouts: i3 Does Window Snapping for Free

Sticking with the aforementioned junk drawer analogy for a moment, wouldn’t it be brilliant if you could throw items into it, and they neatly organize themselves? This is what tiling window managers do: newly opened windows snap flush with their siblings. You can open as many windows as you wish, move them around, and change their layout—each time they snap flush.

Snapping is thetilingpart of tiling window managers; they arrange themselves in a tile-like fashion. Tiling is a critical feature when I work with intense focus because it removes the costly distraction of window placement. Such a burden is negligible in isolation, but when it’s hundreds of times a day, it becomes tiresome. It’s such an important feature for me that I would not go back to a desktop environment.

Simplicity: Easy for Beginners; Easy for Experts

You might think that i3 seems complex, but it’s not; it’s suitable for beginners because code is not mandatory. The configuration is simple and declarative. Here’s a snippet:

This snippet creates two keymaps; both activate a different workspace calledfooandbar—to activate them, press the Windows key and A or B. Here’s another example:

This assigns newly created Firefox windows to a workspace calledfoo, using its X Window class to identify it.

A balance of simplicity, expressiveness, and advanced features is why it’s suitable for either beginners or experts. You choose the level that you’re comfortable with, and learning it is not like scaling a brick wall.

No Strings Attached, Remote Control Grants You Full Autonomy

It’s possible to control i3 via its Inter-Process Communication (IPC) interface: a special file called aUnix domain socket. We use thei3-msgcommand to do just that. For example, to change to workspace 3:

With the IPC interface, I can send commands and listen for events—such as workspace or window change events. The beauty of i3 may be its declarative simplicity, but because I can script, I can still leverage substantial power, overcoming the limitations of its purely declarative configuration file. Even if you’re not a programmer,you should probably learn to script; doing so opens a world of customization possibilities.

Most window managers provide an IPC interface, and it’s thesmartway to control them because it’sdecoupled, which meansloosely connected.I can write one script that applies tomanywindow managers. I highly recommend this approach because it gives me the freedom to roam between window managers in the future.

i3 is a simple declarative tiling manager: suitable for beginners, without hindering experienced users.Simplicityis the key ingredient. I get a lot of power for very little configuration, a quality that also appeals to beginners.

If you’re looking to install i3, you should check your distribution’s repositories; i3 is universal and packaged almost everywhere. If you’re looking for an out-of-the-box experience,Regolithuses i3 by default, and it’s a core part of the user experience. Either way, you will want to learn i3 is and how to use it.