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 [options]
PARAMETERS
-c
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.