How to Install and Use i3 Window Manager on Linux

Written in C language, the i3wm ( i3 Windows Manager ) is a lightweight, easy-to-configure, and hugely popular tiling windows manager. Unlike the conventional desktop environment, a tiling manager provides just sufficient functionality to arrange windows on your screen in an easy and appealing manner suited for your workflow.

i3 is a minimalist tiling manager that intelligently arranges the windows on your screen in a seamless non-overlapping manner. Other tiling managers include xmonad and wmii.

In this guide, we will explain how to install and use the i3 Windows manager on Linux desktop systems.

Benefits of i3 Windows Manager

Unlike X windows managers such as Fluxbox, KWin, and enlightenment, i3 comes with a bag of goodies that we have listed below for a smooth desktop experience.

1. Resource Friendly

Unlike the fully-featured desktop environments such as GNOME, i3 windows manager is quite minimalistic and is designed for simplicity and efficiency. With low resource utilization, it makes up for a fast tiling Windows manager and leaves your system with plenty of RAM and CPU for other applications.

2. Flexibility

Apart from having the ability to automatically arrange windows in a neat and organized manner, i3 is fully configurable and you can tweak a few settings to match your preferred screen layout. Using external tools, you can enhance the appearance by selecting the background image, adjusting the transparency and window fading effect, and enabling desktop notifications.

3. Easy to Navigate Between Workspaces

The i3 tiling manager provides an easy and quick way to switch between workspaces thanks to a wide array of keyboard shortcuts that you can easily configure. You can seamlessly group Windows to suit your workflow, which enhances your productivity.

Installing i3 Window Manager on Linux

The i3 tiling manager is available in Debian, Ubuntu, and Linux Mint repositories and can be installed using the apt package manager as follows.

$ sudo apt update
$ sudo apt install i3

On Fedora distribution, you can install i3 using dnf package manager as shown.

$ sudo apt update
$ sudo dnf install i3

Once installed, you will need to restart your system and click on the small gear wheel at the login window and select the ‘i3’ option as shown.

Select i3 Window Manager
Select i3 Window Manager

Once logged in, you will be prompted to either generate the config file which will be saved in your home directory ~/.config/i3/config, or use the defaults which will save the file in the /etc/i3 directory.

In this guide, we will go with the first option so we are going to hit ENTER to place the configuration file in our home directory.

Create i3 Configuration File
Create i3 Configuration File

Next, you will be required to define the i3 wm modifier key also known as the $mod key which can either be the Windows Logo key or the Alt Key. Use the arrow up or down keys to select your preferred modifier key.

Set i3 Modifier Key
Set i3 Modifier Key

Once you are done with the initial setup. There isn’t much to do with the default i3 window, it saves as a blank screen with a status bar at the very bottom of the screen.

i3 Window Status Bar
i3 Window Status Bar

How to Use i3 Window Manager in Linux

Having installed the i3 tiling manager, here are a few keyboard combinations that you can use to get off the ground and use the tiling manager with ease.

Launch a terminal: $mod + ENTER.

Launching application using the menu: $mod + d – This opens up a menu at the top of your screen that allows you to search a specific application by typing a keyword at the text field provided.

Launch Applications in i3 Window
Launch Applications in i3 Window
  • Enter a fullscreen mode – on and off: $mod + f.
  • Exiting an application window; $mod + Shift + q.
  • Restarting i3: $mod + Shift + r.
  • Exiting i3 windows manager: $mod + Shift + e.

Manipulating Windows

When launching applications, they are usually tiles as shown below. Obviously, the workspace looks so cramped with multiple tiled windows and makes you feel overwhelmed.

Manipulating Windows i3 Window Manager
Manipulating Windows i3 Window Manager

For a better experience, you can detach a window and bring it into the foreground to have a ‘floating’ experience. This can be achieved by pressing the $mod + Shift + Space combination.

In the example below, the terminal window is seen in the foreground instead of being tiled.

Detach Window in Foreground
Detach Window in Foreground

Additionally, you can make the window go fullscreen by hitting the $mod + f combination and repeating the same to revert to the tiling mode.

i3 Status Bar

This is one of the most important yet overlooked section of the i3 tiling manager. It displays information such as the available disk space, IP address & bandwidth rate, Battery level, date, and time.

i3 Window Status Bar
i3 Window Status Bar

i3 Basic Configurations

If you didn’t generate the configuration file in your home directory, you can find it in the /etc/i3/config path. To copy it to your home directory

$ sudo cp /etc/i3/config ~/.config/i3

Then change the ownership to your user

$ sudo chown user:group ~/.config/i3

The configuration file comes with numerous settings that you can tweak to your preference to alter the look and feel of the tiling manager. You can change the colors of workspaces, change the layout of windows, as well as resize windows. We will not dwell so much on that or now. The aim of this guide was to give you a decent introduction to the i3 tiling manager and the basic functionalities to get you started.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

James Kiarie
This is James, a certified Linux administrator and a tech enthusiast who loves keeping in touch with emerging trends in the tech world. When I'm not running commands on the terminal, I'm taking listening to some cool music. taking a casual stroll or watching a nice movie.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

5 Comments

Leave a Reply
  1. I created a micro-project (nano-project actually) to launch i3 on top of a virtual TigerVNC server.

    This allows to have different i3 desktops per server (maybe for different users) and access them remotely (or locally from a standard Gnome desktop). And of course, it is open-source and can be easily be extended adapted for different scenarios:

    https://github.com/earizon/tigervnc_remote_desktop

    Hope you enjoy it!

    Reply
  2. Thanks for answering the namespace switching question. The other question is what is the fastest way to switch between applications or windows of an application (like multiple browser windows)? I think one could use one namespace per app but then you will have to remember the app to namespace mapping. Currently what I do with Gnome is set to keyboard shortcuts and use the jump app to switch using shortcuts, it works flawlessly mostly, but I am interested in i3wm

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.