]> git.sur5r.net Git - i3/i3status/blobdiff - man/i3status.man
Add a "format" example for run_watch
[i3/i3status] / man / i3status.man
index a93f90d49da861133340f330ea0eb794207d2859..f232e2a33407605f2ffebf004c51330d9ecf7beb 100644 (file)
@@ -1,7 +1,7 @@
 i3status(1)
 ===========
 Michael Stapelberg <michael+i3@stapelberg.de>
-v2.1, April 2010
+v2.4, December 2011
 
 == NAME
 
@@ -9,22 +9,28 @@ i3status - Generates a status line for dzen2 or xmobar
 
 == SYNOPSIS
 
-i3status [-c configfile]
+i3status [-c configfile] [-h] [-v]
 
 == OPTIONS
 
 -c::
-Specifies an alternate configuration file path (default is /etc/i3status.conf
-or ~/.i3status.conf).
+Specifies an alternate configuration file path. By default, i3status looks for
+configuration files in the following order:
+
+1. ~/.i3status.conf
+2. ~/.config/i3status/config (or $XDG_CONFIG_HOME/i3status/config if set)
+3. /etc/i3status.conf
+4. /etc/xdg/i3status/config (or $XDG_CONFIG_DIRS/i3status/config if set)
 
 == DESCRIPTION
 
-i3status is a small program (less than 1000 SLOC) for generating a status bar
-for dzen2, xmobar 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 (about 1500 SLOC) for generating a status bar for
+i3bar, dzen2, xmobar 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
 
@@ -45,7 +51,7 @@ general {
         interval = 5
 }
 
-order  = "ipv6"
+order += "ipv6"
 order += "disk /"
 order += "run_watch DHCP"
 order += "run_watch VPN"
@@ -63,11 +69,13 @@ wireless wlan0 {
 
 ethernet eth0 {
         # if you use %speed, i3status requires the cap_net_admin capability
-        format = "E: %ip (%speed)"
+        format_up = "E: %ip (%speed)"
+        format_down = "E: down"
 }
 
 battery 0 {
         format = "%status %percentage %remaining"
+        path = "/sys/class/power_supply/BAT%d/uevent"
 }
 
 run_watch DHCP {
@@ -88,6 +96,7 @@ load {
 
 cpu_temperature 0 {
        format = "T: %degrees °C"
+       path = "/sys/devices/platform/coretemp.0/temp1_input"
 }
 
 disk "/" {
@@ -105,7 +114,10 @@ the +colors+ directive. The input format for color values is the canonical RGB
 hexadecimal triplet (with no separators between the colors), prefixed by a hash
 character ("#").
 
-*Example color_good*: +#00FF00+
+*Example configuration*:
+-------------------------------------------------------------
+color_good = "#00FF00"
+-------------------------------------------------------------
 
 Likewise, you can use the +color_separator+ directive to specify the color that
 will be used to paint the separator bar. The separator is always output in
@@ -125,7 +137,8 @@ xmobar::
 xmobar is a minimalistic, text based, status bar. It was designed to work
 with the xmonad Window Manager.
 none::
-Does not use any color codes. Separates values by the pipe symbol.
+Does not use any color codes. Separates values by the pipe symbol. This should
+be used with i3bar and can be used for custom scripts.
 
 === IPv6
 
@@ -152,6 +165,8 @@ a specific application, such as a VPN client or your DHCP client is running.
 
 *Example order*: +run_watch DHCP+
 
+*Example format*: +%title %status+
+
 === Wireless
 
 Gets the link quality and ESSID of the given wireless network interface. You
@@ -181,6 +196,10 @@ your battery is at 23% when fully charged because it’s old. In general, I
 want to see it this way, because it tells me how worn off my battery is.),
 just specify +last_full_capacity = true+.
 
+If your battery is represented in a non-standard path in /sys, be sure to
+modify the "path" property accordingly. The first occurence of %d gets replaced
+with the battery number, but you can just hard-code a path as well.
+
 *Example order*: +battery 0+
 
 *Example format*: +%status %remaining+
@@ -193,14 +212,22 @@ Gets the temperature of the given thermal zone.
 
 *Example format*: +T: %degrees °C+
 
+=== CPU Usage
+
+Gets the percentual CPU usage from +/proc/stat+.
+
+*Example order*: +cpu_usage+
+
+*Example format*: +%usage+
+
 === Load
 
 Gets the system load (number of processes waiting for CPU time in the last
-5, 10 and 15 minutes).
+1, 5 and 15 minutes).
 
 *Example order*: +load+
 
-*Example format*: +%5min %10min %15min+
+*Example format*: +%1min %5min %15min+
 
 === Time
 
@@ -241,7 +268,8 @@ volume master {
 
 == Using i3status with dzen2
 
-After installing dzen2, you can directly use it with i3status:
+After installing dzen2, you can directly use it with i3status. Just ensure that
++output_format+ is set to +dzen2+.
 
 *Example for usage of i3status with dzen2*:
 --------------------------------------------------------------
@@ -252,13 +280,34 @@ i3status | dzen2 -fg white -ta r -w 1280 \
 == Using i3status with xmobar
 
 To get xmobar to start, you might need to copy the default configuration
-file to +~/.xmobarrc+.
+file to +~/.xmobarrc+. Also, ensure that the +output_format+ option for i3status
+is set to +xmobar+.
 
 *Example for usage of i3status with xmobar*:
 ---------------------------------------------------------------------
-i3status-xmobar | xmobar -o -t "%StdinReader%" -c "[Run StdinReader]"
+i3status | xmobar -o -t "%StdinReader%" -c "[Run StdinReader]"
 ---------------------------------------------------------------------
 
+== External scripts/programs with i3status
+
+In i3status, we don’t want to implement process management again. Therefore,
+there is no module to run arbitrary scripts or commands. Instead, you should
+use your shell, for example like this:
+
+*Example for prepending the i3status output*:
+--------------------------------------------------------------
+#!/bin/sh
+# shell script to prepend i3status with more stuff
+
+i3status | while :
+do
+       read line
+       echo "mystuff | $line"
+done
+--------------------------------------------------------------
+
+Put that in some script, say +.bin/my_i3status.sh+ and execute that instead of i3status.
+
 == SEE ALSO
 
 +strftime(3)+, +date(1)+, +glob(3)+, +dzen2(1)+, +xmobar(1)+
@@ -270,3 +319,7 @@ Michael Stapelberg and contributors
 Thorsten Toepper
 
 Baptiste Daroussin
+
+Axel Wagner
+
+Fernando Tarlá Cardoso Lemos