i3status(1)
===========
Michael Stapelberg <michael@i3wm.org>
-v2.11, January 2017
+v2.12, May 2018
== NAME
== DESCRIPTION
-i3status is a small program (about 1500 SLOC) for generating a status bar for
-i3bar, dzen2, xmobar, lemonbar or similar programs. It is designed to be very
-efficient by issuing a very small number of system calls, as one generally
-wants to update such a status line every second. This ensures that even under
-high load, your status bar is updated correctly. Also, it saves a bit of energy
-by not hogging your CPU as much as spawning the corresponding amount of shell
-commands would.
+i3status is a small program for generating a status bar for i3bar, dzen2,
+xmobar, lemonbar or similar programs. It is designed to be very efficient by
+issuing a very small number of system calls, as one generally wants to update
+such a status line every second. This ensures that even under high load, your
+status bar is updated correctly. Also, it saves a bit of energy by not hogging
+your CPU as much as spawning the corresponding amount of shell commands would.
== CONFIGURATION
order += "ethernet eth0"
order += "battery 0"
order += "cpu_temperature 0"
+order += "memory"
order += "load"
order += "tztime local"
order += "tztime berlin"
path = "/sys/devices/platform/coretemp.0/temp1_input"
}
+memory {
+ format = "%used"
+ threshold_degraded = "10%"
+ format_degraded = "MEMORY: %free"
+}
+
disk "/" {
format = "%free"
}
The +interval+ directive specifies the time in seconds for which i3status will
sleep before printing the next status line.
-Using +output_format+ you can chose which format strings i3status should
+Using +output_format+ you can choose which format strings i3status should
use in its output. Currently available are:
i3bar::
dzen2::
Dzen is a general purpose messaging, notification and menuing program for X11.
It was designed to be scriptable in any language and integrate well with window
-managers like dwm, wmii and xmonad though it will work with any windowmanger
+managers like dwm, wmii and xmonad though it will work with any window manager
xmobar::
xmobar is a minimalistic, text based, status bar. It was designed to work
with the xmonad Window Manager.
If you don't fancy the vertical separators between modules i3status/i3bar
uses by default, you can employ the +separator+ directive to configure how
-modules are separated. You can either disable the default separator altogether
+modules are separated. You can also disable the default separator altogether by
setting it to the empty string. You might then define separation as part of a
module's format string. This is your only option when using the i3bar output
format as the separator is drawn by i3bar directly otherwise. For the other
output formats, the provided non-empty string will be automatically enclosed
with the necessary coloring bits if color support is enabled.
-i3bar supports Pango markup, allowing your format strings to specify font
+i3bar supports Pango markup, allowing your format strings to specify font,
color, size, etc. by setting the +markup+ directive to "pango". Note that the
ampersand ("&"), less-than ("<"), greater-than (">"), single-quote ("'"), and
double-quote (""") characters need to be replaced with "`&`", "`<`",
for generated content (e.g. wireless ESSID, time).
*Example configuration*:
+
-------------------------------------------------------------
general {
output_format = "xmobar"
=== Ethernet
Gets the IP address and (if possible) the link speed of the given ethernet
-interface. Getting the link speed requires the cap_net_admin capability. Set
-it using +setcap cap_net_admin=ep $(which i3status)+.
+interface. If no IPv4 address is available and an IPv6 address is, it will be
+displayed. Getting the link speed requires the cap_net_admin capability.
+Set it using +setcap cap_net_admin=ep $(which i3status)+.
The special interface name `_first_` will be replaced by the first non-wireless
network interface found on the system (excluding devices starting with "lo").
*Example format_above_degraded_threshold*: +Warning above degraded threshold: %usage+
+=== Memory
+
+Gets the memory usage from system on a Linux system from +/proc/meminfo+. Other
+systems are currently not supported.
+
+As format placeholders, +total+, +used+, +free+, +available+ and +shared+ are
+available. These will print human readable values. It's also possible to prefix
+the placeholders with +percentage_+ to get a value in percent.
+
+It's possible to define a +threshold_degraded+ and a +threshold_critical+ to
+color the status bar output in yellow or red, if the available memory falls
+below the given threshold. Possible values of the threshold can be any integer,
+suffixed with an iec symbol (+T+, +G+, +M+, +K+). Alternatively, the integer
+can be suffixed by a percent sign, which then rets evaluated relatively to
+total memory.
+
+If the +format_degraded+ parameter is given and either the critical or the
+degraded threshold applies, +format_degraded+ will get used as format string.
+It acts equivalently to +format+.
+
+As Linux' meminfo doesn't expose the overall memory in use, there are multiple
+methods to distinguish the actually used memory.
+
+*Example memory_used_method*: +memavailable+ ("total memory" - "MemAvailable", matches +free+ command)
+
+*Example memory_used_method*: +classical+ ("total memory" - "free" - "buffers" - "cache", matches gnome system monitor)
+
+*Example order*: +memory+
+
+*Example format*: +%free %available (%used) / %total+
+
+*Example format*: +%percentage_used used, %percentage_free free, %percentage_shared shared+
+
+*Example threshold_degraded*: +10%+
+
+*Example threshold_critical*: +5%+
+
+*Example format_degraded*: +Memory LOW: %free+
+
=== Load
Gets the system load (number of processes waiting for CPU time in the last