LinuxCommandLibrary

i3status

Display system information in status bar

TLDR

Print the status line to stdout periodically, using the default configuration

$ i3status
copy

Print the status line to stdout periodically, using a specific configuration
$ i3status -c [path/to/i3status.conf]
copy

Display help and version
$ i3status -h
copy

SYNOPSIS

i3status [options]

PARAMETERS

-c , --config
    Specifies an alternative configuration file path instead of the default locations (e.g., ~/.config/i3status/config or /etc/i3status.conf).

-h, --help
    Displays a brief help message with command usage and exits.

-v, --version
    Shows the i3status version information and exits.

DESCRIPTION

i3status is a lightweight command-line utility designed to generate status information for the i3 window manager's status bar, i3bar, and its Wayland counterpart, Swaybar. It continuously monitors various system metrics such as CPU usage, memory consumption, disk space, network activity, battery status, date, and time.

This information is then formatted, typically as a JSON stream, and piped to i3bar or Swaybar for real-time display in a user's status line. The behavior and modules of i3status are highly configurable through a plain-text configuration file, allowing users to customize which information is displayed, its format, and update intervals. Its primary purpose is to provide essential system insights in a minimalist and efficient manner, integrating seamlessly into the i3 and Sway desktop environments.

CAVEATS

i3status is specifically designed for the i3 and Sway window managers and their respective bars. While its JSON output can be parsed by other tools, it's not a general-purpose system monitoring application for other desktop environments.

Its functionality is heavily reliant on a correct configuration file; misconfigurations can lead to no output or errors. Direct customization of modules is not possible via command-line arguments; all module-specific settings must be defined within the configuration file.

CONFIGURATION FILE

By default, i3status looks for its configuration file in ~/.config/i3status/config or /etc/i3status.conf. This file defines which modules (e.g., CPU, memory, disk, battery, time) are active, their display format, update intervals, and module-specific settings (e.g., paths for disk usage, network interfaces).

OUTPUT FORMAT

i3status primarily outputs a continuous stream of system information. The modern and recommended output format is JSON, which allows i3bar (and other parsers) to interpret the data structure efficiently. An older plain-text format is also supported but less flexible.

INTEGRATION WITH I3BAR

i3status is typically run by piping its output directly to i3bar. For example, in an i3 configuration file, a bar block might contain status_command i3status. This setup ensures that i3status continuously feeds updated information to the bar, which then renders it.

HISTORY

i3status was developed as an integral part of the i3 window manager project, created to provide a native, efficient, and minimalist status bar solution. Its development has focused on simplicity and stability, avoiding feature bloat while ensuring essential system information is readily available.

Initially, it supported plain text output, but later transitioned to a more robust and extensible JSON output format, which allows for more complex styling and interaction with i3bar. Its design philosophy aligns with i3's goal of being 'lean and mean,' making it a popular choice for users who prefer lightweight and highly customizable environments.

SEE ALSO

i3(1), i3bar(1), sway(1), swaybar(1), jq(1)

Copied to clipboard