]> git.sur5r.net Git - i3/i3status/blob - man/i3status.man
786271e35093d3aedacf15b3245565952210ab70
[i3/i3status] / man / i3status.man
1 i3status(1)
2 ===========
3 Michael Stapelberg <michael+i3@stapelberg.de>
4 v2.2, September 2010
5
6 == NAME
7
8 i3status - Generates a status line for dzen2 or xmobar
9
10 == SYNOPSIS
11
12 i3status [-c configfile] [-h] [-v]
13
14 == OPTIONS
15
16 -c::
17 Specifies an alternate configuration file path. By default, i3status looks for
18 configuration files in the following order:
19
20 1. ~/.i3status/config
21 2. ~/.config/i3status/config (or $XDG_CONFIG_HOME/i3status/config if set)
22 3. /etc/i3status/config
23 4. /etc/xdg/i3status/config (or $XDG_CONFIG_DIRS/i3status/config if set)
24
25 == DESCRIPTION
26
27 i3status is a small program (less than 1000 SLOC) for generating a status bar
28 for dzen2, xmobar or similar programs. It is designed to be very efficient by
29 issuing a very small number of system calls, as one generally wants to update
30 such a status line every second. This ensures that even under high load, your
31 status bar is updated correctly. Also, it saves a bit of energy by not hogging
32 your CPU as much as spawning the corresponding amount of shell commands would.
33
34 == CONFIGURATION
35
36 Since version 2, the configuration file for i3status will be parsed using
37 libconfuse. This makes configuration easier in the programmer’s point of
38 view and more flexible for the user at the same time.
39
40 The basic idea of i3status is that you can specify which "modules" should
41 be used (the order directive). You can then configure each module with its
42 own section. For every module, you can specify the output format. See below
43 for a complete reference.
44
45 .Sample configuration
46 -------------------------------------------------------------
47 general {
48         output_format = "dzen2"
49         colors = true
50         interval = 5
51 }
52
53 order  = "ipv6"
54 order += "disk /"
55 order += "run_watch DHCP"
56 order += "run_watch VPN"
57 order += "wireless wlan0"
58 order += "ethernet eth0"
59 order += "battery 0"
60 order += "cpu_temperature 0"
61 order += "load"
62 order += "time"
63
64 wireless wlan0 {
65         format_up = "W: (%quality at %essid, %bitrate) %ip"
66         format_down = "W: down"
67 }
68
69 ethernet eth0 {
70         # if you use %speed, i3status requires the cap_net_admin capability
71         format_up = "E: %ip (%speed)"
72         format_down = "E: down"
73 }
74
75 battery 0 {
76         format = "%status %percentage %remaining"
77 }
78
79 run_watch DHCP {
80         pidfile = "/var/run/dhclient*.pid"
81 }
82
83 run_watch VPN {
84         pidfile = "/var/run/vpnc/pid"
85 }
86
87 time {
88         format = "%Y-%m-%d %H:%M:%S"
89 }
90
91 load {
92         format = "%5min"
93 }
94
95 cpu_temperature 0 {
96         format = "T: %degrees °C"
97         path = "/sys/devices/platform/coretemp.0/temp1_input"
98 }
99
100 disk "/" {
101         format = "%free"
102 }
103 -------------------------------------------------------------
104
105 === General
106
107 The +colors+ directive will disable all colors if you set it to +false+. You can
108 also specify the colors that will be used to display "good", "degraded" or "bad"
109 values using the +color_good+, +color_degraded+ or +color_bad+ directives,
110 respectively. Those directives are only used if color support is not disabled by
111 the +colors+ directive. The input format for color values is the canonical RGB
112 hexadecimal triplet (with no separators between the colors), prefixed by a hash
113 character ("#").
114
115 *Example color_good*: +#00FF00+
116
117 Likewise, you can use the +color_separator+ directive to specify the color that
118 will be used to paint the separator bar. The separator is always output in
119 color, even when colors are disabled by the +colors+ directive.
120
121 The +interval+ directive specifies the time in seconds for which i3status will
122 sleep before printing the next status line.
123
124 Using +output_format+ you can chose which format strings i3status should
125 use in its output. Currently available are:
126
127 dzen2::
128 Dzen is a general purpose messaging, notification and menuing program for X11.
129 It was designed to be scriptable in any language and integrate well with window
130 managers like dwm, wmii and xmonad though it will work with any windowmanger
131 xmobar::
132 xmobar is a minimalistic, text based, status bar. It was designed to work
133 with the xmonad Window Manager.
134 none::
135 Does not use any color codes. Separates values by the pipe symbol.
136
137 === IPv6
138
139 This module gets the IPv6 address used for outgoing connections (that is, the
140 best available public IPv6 address on your computer).
141
142 *Example format_up*: +%ip+
143
144 *Example format_down* +no IPv6+
145
146 === Disk
147
148 Gets used, free, available and total amount of bytes on the given mounted filesystem.
149
150 *Example order*: +disk /mnt/usbstick+
151
152 *Example format*: +%free (%avail)/ %total+
153
154 === Run-watch
155
156 Expands the given path to a pidfile and checks if the process ID found inside
157 is valid (that is, if the process is running). You can use this to check if
158 a specific application, such as a VPN client or your DHCP client is running.
159
160 *Example order*: +run_watch DHCP+
161
162 === Wireless
163
164 Gets the link quality and ESSID of the given wireless network interface. You
165 can specify different format strings for the network being connected or not
166 connected.
167
168 *Example order*: +wireless wlan0+
169
170 *Example format*: +W: (%quality at %essid, %bitrate) %ip+
171
172 === Ethernet
173
174 Gets the IP address and (if possible) the link speed of the given ethernet
175 interface. Getting the link speed requires the cap_net_admin capability. Set
176 it using +setcap cap_net_admin=ep $(which i3status)+.
177
178 *Example order*: +ethernet eth0+
179
180 *Example format*: +E: %ip (%speed)+
181
182 === Battery
183
184 Gets the status (charging, discharging, running), percentage and remaining
185 time of the given battery. If you want to use the last full capacity instead
186 of the design capacity (when using the design capacity, it may happen that
187 your battery is at 23% when fully charged because it’s old. In general, I
188 want to see it this way, because it tells me how worn off my battery is.),
189 just specify +last_full_capacity = true+.
190
191 *Example order*: +battery 0+
192
193 *Example format*: +%status %remaining+
194
195 === CPU-Temperature
196
197 Gets the temperature of the given thermal zone.
198
199 *Example order*: +cpu_temperature 0+
200
201 *Example format*: +T: %degrees °C+
202
203 === CPU Usage
204
205 Gets the percentual CPU usage from +/proc/stat+.
206
207 *Example order*: +cpu_usage+
208
209 *Example format*: +%usage+
210
211 === Load
212
213 Gets the system load (number of processes waiting for CPU time in the last
214 5, 10 and 15 minutes).
215
216 *Example order*: +load+
217
218 *Example format*: +%5min %10min %15min+
219
220 === Time
221
222 Formats the current system time. See +strftime(3)+ for the format.
223
224 *Example order*: +time+
225
226 *Example format*: +%Y-%m-%d %H:%M:%S+
227
228 === DDate
229
230 Outputs the current discordian date in user-specified format. See +ddate(1)+ for
231 details on the format string.
232 *Note*: Neither *%.* nor *%X* are implemented yet.
233
234 *Example order*: +ddate+
235
236 *Example format*: +%{%a, %b %d%}, %Y%N - %H+
237
238 === Volume
239
240 Outputs the volume of the specified mixer on the specified device. Works only
241 on Linux because it uses ALSA.
242
243 *Example order*: +volume master+
244
245 *Example format*: +♪: %volume+
246
247 *Example configuration*:
248 -------------------------------------------------------------
249 volume master {
250         format = "♪: %volume"
251         device = "default"
252         mixer = "Master"
253         mixer_idx = 0
254 }
255 -------------------------------------------------------------
256
257 == Using i3status with dzen2
258
259 After installing dzen2, you can directly use it with i3status. Just ensure that
260 +output_format+ is set to +dzen2+.
261
262 *Example for usage of i3status with dzen2*:
263 --------------------------------------------------------------
264 i3status | dzen2 -fg white -ta r -w 1280 \
265 -fn "-misc-fixed-medium-r-normal--13-120-75-75-C-70-iso8859-1"
266 --------------------------------------------------------------
267
268 == Using i3status with xmobar
269
270 To get xmobar to start, you might need to copy the default configuration
271 file to +~/.xmobarrc+. Also, ensure that the +output_format+ option for i3status
272 is set to +xmobar+.
273
274 *Example for usage of i3status with xmobar*:
275 ---------------------------------------------------------------------
276 i3status | xmobar -o -t "%StdinReader%" -c "[Run StdinReader]"
277 ---------------------------------------------------------------------
278
279 == SEE ALSO
280
281 +strftime(3)+, +date(1)+, +glob(3)+, +dzen2(1)+, +xmobar(1)+
282
283 == AUTHORS
284
285 Michael Stapelberg and contributors
286
287 Thorsten Toepper
288
289 Baptiste Daroussin