i3 – Your Silent Window Manager

i3 is simple. i3 is fast.

A window manager for keyboard-oriented workflows.
It doesn’t substitute your desktop environment.
It doesn’t want to be your new GNOME or KDE.

It just helps to build a workflow. For speed. With clarity.

The Basic Tools

As i3 is simple, you have to take care of your tools.

Here is a curated Ghost Operations list of the useful applications:

NameFunction
alacrittyTerminal emulator
rofiApp switcher
thunarFile manager
dunstNotification daemon
copyqClipboard manager
flameshotScreenshot software
pavucontrolVolume control
arandrScreen & display manager
lxappearanceGTK theme switcher
fehImage viewer

Install them:

sudo apt install \
     i3 \
     i3lock \
     alacritty \
     rofi \
     thunar \
     dunst \
     copyq \
     flameshot \
     pavucontrol \
     arandr \
     lxappearance \
     feh

Basic Configuration

Start the most important tools and daemons.
Set up the wallpaper.

bindsym $mod+Return exec alacritty
bindsym $mod+d exec rofi -show drun
bindsym $mod+x exec i3lock -u -c 1c202e
exec --no-startup-id dunst
bindsym Print exec flameshot gui
exec_always --no-startup-id feh --bg-fill ~/Pictures/wallpaper.jpg

# Border style
hide_edge_borders smart
default_border normal 1

Adjust The Display Scaling

To set up the proper display scaling use the Xresources.

vim ~/.Xresources

Add the configuration to this file:

Xft.dpi: 120
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb

In the i3/config enable the configuration:

exec --no-startup-id xrandr --output DP-0 --mode 2560x1440 --scale 1x1
exec --no-startup-id xrdb -merge ~/.Xresources

The output name and resolution depend on your hardware.
Xft.dpi affects applications that honor this resource; it does not uniformly scale every application.

Sometimes the screen “tears” while scrolling.

You can install picom, a lightweight compositor:

sudo apt install picom

Create the config:

mkdir -p ~/.config/picom
vim ~/.config/picom/picom.conf

Add:

backend = "glx";
vsync = true;

Add it to the i3 config:

exec --no-startup-id picom

Configure The Status Bar

Move the global configuration to your local config and set it up for your taste.

mkdir -p ~/.config/i3status
cp /etc/i3status.conf ~/.config/i3status/config

i3status generates the status information, while i3bar displays it.
The bar block in your i3 configuration controls the status command.

Multiple Display Setup – ARandR or XRandR

xrandr --output HDMI-1 --primary --mode 1920x1080 \
       --output DP-1 --mode 1920x1080 --right-of HDMI-1

Or use arandr and save the presets.

Workspace Configuration

Inspect window properties and classes with xprop:

xprop

Assign classes to workspaces:

set $workspace1 "1: Terminals"
assign [class="Alacritty"] $workspace1

Audio – PipeWire

Install the PipeWire audio components:

sudo apt install pipewire pipewire-pulse wireplumber

NetworkManager

Install the network manager tool to manage your connection in i3:

sudo apt install network-manager network-manager-gnome
exec --no-startup-id nm-applet

Final Thoughts

i3 doesn’t want to be your GNOME or KDE.
i3 is like a nice, modular tool you can build up.

It’s for keyboard-based workflows.
Lean. Fast.


Discover more from Tom's IT Cafe

Subscribe to get the latest posts sent to your email.

Leave a signal

Discover more from Tom's IT Cafe

Subscribe now to keep reading and get access to the full archive.

Continue reading