i3status
Display system information in status bar
TLDR
Print the status line to stdout periodically, using the default configuration
Print the status line to stdout periodically, using a specific configuration
Display help and version
SYNOPSIS
i3status [-c configfile] [-d] [-h] [-s signal] [-v]
PARAMETERS
-c configfile
Specifies the configuration file (default: ~/.config/i3status/config or /etc/i3status.conf)
-d
Disable runtime signals (useful for debugging)
-h, --help
Display help message and exit
-s signal
Send a signal (like SIGUSR1) to refresh status
-v, --version
Output version information and exit
DESCRIPTION
i3status is a minimalist tool designed specifically for the i3 window manager's status bar, i3bar. It generates a continuous stream of system status information in JSON format, which i3bar consumes and displays. Unlike heavier alternatives, i3status prioritizes efficiency, using low CPU and memory while providing essential metrics.
Users configure it via a simple text file specifying modules like network interfaces (wireless, ethernet), battery levels, CPU usage, load averages, disk usage, memory, sound volume, and custom timezones. Modules can be reordered, formatted, and conditionally shown (e.g., only low battery). It supports click events for interactivity, like volume control via mouse clicks passed from i3bar.
i3status runs as a standalone process, outputting JSON objects to stdout every interval (default 1 second). It's signal-aware for dynamic updates, such as on battery changes or network events. Ideal for minimalists, it avoids dependencies and graphical libraries, making it fast and reliable on Linux systems. Commonly invoked in i3 config: bar { status_command i3status }.
CAVEATS
Outputs only to stdout in JSON; must be piped to i3bar. Config syntax errors cause silent failure. No built-in GUI config editor; modules require precise naming (e.g., 'BAT0'). High-frequency updates may increase CPU on slow systems.
COMMON CONFIG EXAMPLE
order += "cpu_usage" order += "load" order += "wireless _first_" order += "ethernet _first_" order += "battery 0" order += "tztime local"
INVOCATION IN I3
In ~/.config/i3/config:
bar {
status_command i3status
}
HISTORY
Developed by Michael Stapelberg starting in 2010 as part of the i3 project. Evolved from simple scripts to a full-featured status generator. Current stable releases (v2.14+) support more modules and JSON improvements. Maintained on GitHub with community contributions.
SEE ALSO
i3(1), i3bar(1), i3blocks(1)


