1I3STATUS(1) i3 Manual I3STATUS(1)
2
3
4
6 i3status - Generates a status line for dzen2 or xmobar
7
9 i3status [-c configfile]
10
12 -c
13 Specifies an alternate configuration file path (default is
14 /etc/i3status.conf or ~/.i3status.conf).
15
17 i3status is a small program (less than 1000 SLOC) for generating a
18 status bar for dzen2, xmobar or similar programs. It is designed to be
19 very efficient by issuing a very small number of systemcalls, as one
20 generally wants to update such a status line every second. This ensures
21 that even under high load, your status bar is updated correctly. Also,
22 it saves a bit of energy by not hogging your CPU as much as spawning
23 the corresponding amount of shell commands would.
24
26 Since version 2, the configuration file for i3status will be parsed
27 using libconfuse. This makes configuration easier in the programmer’s
28 point of view and more flexible for the user at the same time.
29
30 The basic idea of i3status is that you can specify which "modules"
31 should be used (the order directive). You can then configure each
32 module with its own section. For every module, you can specify the
33 output format. See below for a complete reference.
34
35 Sample configuration.
36
37 general {
38 output_format = "dzen2"
39 colors = true
40 interval = 5
41 }
42
43 order = "ipv6"
44 order += "disk /"
45 order += "run_watch DHCP"
46 order += "run_watch VPN"
47 order += "wireless wlan0"
48 order += "ethernet eth0"
49 order += "battery 0"
50 order += "cpu_temperature 0"
51 order += "load"
52 order += "time"
53
54 wireless wlan0 {
55 format_up = "W: (%quality at %essid) %ip"
56 format_down = "W: down"
57 }
58
59 ethernet eth0 {
60 # if you use %speed, i3status requires the cap_net_admin capability
61 format = "E: %ip (%speed)"
62 }
63
64 battery 0 {
65 format = "%status %percentage %remaining"
66 }
67
68 run_watch DHCP {
69 pidfile = "/var/run/dhclient*.pid"
70 }
71
72 run_watch VPN {
73 pidfile = "/var/run/vpnc/pid"
74 }
75
76 time {
77 format = "%Y-%m-%d %H:%M:%S"
78 }
79
80 load {
81 format = "%5min"
82 }
83
84 cpu_temperature 0 {
85 format = "T: %degrees °C"
86 }
87
88 disk "/" {
89 format = "%free"
90 }
91
92
93 General
94 The colors directive will disable all colors if you set it to false.
95 interval is the time in seconds which i3status will sleep until
96 printing the next status line.
97
98 Using output_format you can chose which format strings i3status should
99 use in its output. Currently available are:
100
101 dzen2
102 Dzen is a general purpose messaging, notification and menuing
103 program for X11. It was designed to be scriptable in any language
104 and integrate well with window managers like dwm, wmii and xmonad
105 though it will work with any windowmanger
106
107 xmobar
108 xmobar is a minimalistic, text based, status bar. It was designed
109 to work with the xmonad Window Manager.
110
111 none
112 Does not use any color codes. Separates values by the pipe symbol.
113
114 IPv6
115 This module gets the IPv6 address used for outgoing connections (that
116 is, the best available public IPv6 address on your computer).
117
118 Example format_up: %ip
119
120 Example format_down no IPv6
121
122 Disk
123 Gets used, free and total amount of bytes on the given mounted
124 filesystem.
125
126 Example order: disk /mnt/usbstick
127
128 Example format: %free / %total
129
130 Run-watch
131 Expands the given path to a pidfile and checks if the process ID found
132 inside is valid (that is, if the process is running). You can use this
133 to check if a specific application, such as a VPN client or your DHCP
134 client is running.
135
136 Example order: run_watch DHCP
137
138 Wireless
139 Gets the link quality and ESSID of the given wireless network
140 interface. You can specify different format strings for the network
141 being connected or not connected.
142
143 Example order: wireless wlan0
144
145 Example format: W: (%quality at %essid) %ip
146
147 Ethernet
148 Gets the IP address and (if possible) the link speed of the given
149 ethernet interface. Getting the link speed requires the cap_net_admin
150 capability. Set it using setcap cap_net_admin=ep $(which i3status).
151
152 Example order: ethernet eth0
153
154 Example format: E: %ip (%speed)
155
156 Battery
157 Gets the status (charging, discharging, running), percentage and
158 remaining time of the given battery. If you want to use the last full
159 capacity instead of the design capacity (when using the design
160 capacity, it may happen that your battery is at 23% when fully charged
161 because it’s old. In general, I want to see it this way, because it
162 tells me how worn off my battery is.), just specify last_full_capacity
163 = true.
164
165 Example order: battery 0
166
167 Example format: %status %remaining
168
169 CPU-Temperature
170 Gets the temperature of the given thermal zone.
171
172 Example order: cpu_temperature 0
173
174 Example format: T: %degrees °C
175
176 Load
177 Gets the system load (number of processes waiting for CPU time in the
178 last 5, 10 and 15 minutes).
179
180 Example order: load
181
182 Example format: %5min %10min %15min
183
184 Time
185 Formats the current system time. See strftime(3) for the format.
186
187 Example order: time
188
189 Example format: %Y-%m-%d %H:%M:%S
190
192 After installing dzen2, you can directly use it with i3status:
193
194 Example for usage of i3status with dzen2:
195
196 i3status | dzen2 -fg white -ta r -w 1280 \
197 -fn "-misc-fixed-medium-r-normal--13-120-75-75-C-70-iso8859-1"
198
200 To get xmobar to start, you might need to copy the default
201 configuration file to ~/.xmobarrc.
202
203 Example for usage of i3status with xmobar:
204
205 i3status-xmobar | xmobar -o -t "%StdinReader%" -c "[Run StdinReader]"
206
208 strftime(3), date(1), glob(3), dzen2(1), xmobar(1)
209
211 Michael Stapelberg and contributors
212
213 Thorsten Toepper
214
215 Baptiste Daroussin
216
217
218
219i3status v2 04/10/2010 I3STATUS(1)