LinuxCommandLibrary

i3

Tile and manage application windows

TLDR

Start i3 (Note that a pre-existing window manager must not be open when this command is run)

$ i3
copy

Open a new terminal window
$ <Super Enter>
copy

Move the focused window to a workspace
$ <Super Shift [Number]>
copy

Switch to a workspace
$ <Super [Number]>
copy

Split the next window horizontally
$ <Super h>
copy

Split the next window vertically
$ <Super v>
copy

Open an application launcher
$ <Super d>
copy

SYNOPSIS

i3 [-V] [-c configfile] [-C] [-d all|dccp|output|X11|wm] [-t name]

PARAMETERS

-V, --version
    Print version information and exit.

-c configfile, --config configfile
    Use the provided configuration file instead of default (~/.config/i3/config).

-C, --check-config
    Check the provided or default config file for errors and exit.

-d level, --disable-binding-level level
    Disable parts for debugging: all, dccp, output, X11, or wm.

-t socketpath, --socket socketpath
    Use specified path for IPC socket (default: environment-based).

-v, --verbose
    Enable verbose output for debugging.

DESCRIPTION

i3 is a popular, lightweight tiling window manager designed for X11 environments in Linux and Unix-like systems. It emphasizes simplicity, efficiency, and keyboard-driven workflows, automatically arranging windows in a non-overlapping, tiled layout to maximize screen usage. Users can easily switch between tiling modes (tabbed, stacked, split), resize windows with keyboard shortcuts, and manage multiple workspaces.

Unlike stacking window managers like Openbox or GNOME, i3 requires minimal resources and no mouse for most operations, making it ideal for power users, developers, and those seeking a distraction-free environment. Configuration is done via a plain-text file (~/.config/i3/config), allowing full customization of keybindings, colors, bars, and behaviors. It supports floating windows for dialogs and integrates with tools like i3bar for status bars and i3status or i3blocks for system monitoring.

i3 promotes productivity by focusing on speed and stability, with IPC (Inter-Process Communication) support for scripting via i3-msg. It's widely used in minimalistic setups like Arch Linux or Debian with minimal DEs.

CAVEATS

Requires X11 (not Wayland native; use sway for Wayland). May conflict with compositors like picom unless configured. Restart required for config changes (Mod+Shift+R).

GETTING STARTED

Install via package manager (e.g., apt install i3). Log out, select i3 session. Edit config for keybindings (default Mod: Win/Super). Use i3-msg restart to reload.

IPC USAGE

Communicate with running i3 via i3-msg, e.g., i3-msg workspace 2 or i3-msg exec firefox for scripting.

HISTORY

Created by Michael Stapelberg in 2010, inspired by wmii and xmonad. First release 4.0 in 2013; current stable ~4.23 (2023). Actively maintained on GitHub with focus on stability and IPC enhancements.

SEE ALSO

i3-msg(1), i3bar(1), i3status(1), i3lock(1), sway(1)

Copied to clipboard