]> git.sur5r.net Git - i3/i3.github.io/blob - i3status/manpage.html
a64f59ebb9b2b56b3b092741acb27ff853623685
[i3/i3.github.io] / i3status / manpage.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 8.6.4" />\r
7 <title>i3status(1)</title>\r
8 <style type="text/css">\r
9 /* Sans-serif font. */\r
10 h1, h2, h3, h4, h5, h6,\r
11 div.title, caption.title,\r
12 thead, p.table.header,\r
13 div#toctitle,\r
14 span#author, span#revnumber, span#revdate, span#revremark,\r
15 div#footer {\r
16   font-family: Arial,Helvetica,sans-serif;\r
17 }\r
18 \r
19 /* Serif font. */\r
20 div.sectionbody {\r
21   font-family: Georgia,"Times New Roman",Times,serif;\r
22 }\r
23 \r
24 /* Monospace font. */\r
25 tt {\r
26   font-size: inherit;\r
27 }\r
28 \r
29 body {\r
30   margin: 1em 5% 1em 5%;\r
31 }\r
32 \r
33 a {\r
34   color: blue;\r
35   text-decoration: underline;\r
36 }\r
37 a:visited {\r
38   color: fuchsia;\r
39 }\r
40 \r
41 em {\r
42   font-style: italic;\r
43   color: navy;\r
44 }\r
45 \r
46 strong {\r
47   font-weight: bold;\r
48   color: #083194;\r
49 }\r
50 \r
51 tt {\r
52   font-size: inherit;\r
53   color: navy;\r
54 }\r
55 \r
56 h1, h2, h3, h4, h5, h6 {\r
57   color: #527bbd;\r
58   margin-top: 1.2em;\r
59   margin-bottom: 0.5em;\r
60   line-height: 1.3;\r
61 }\r
62 \r
63 h1, h2, h3 {\r
64   border-bottom: 2px solid silver;\r
65 }\r
66 h2 {\r
67   padding-top: 0.5em;\r
68 }\r
69 h3 {\r
70   float: left;\r
71 }\r
72 h3 + * {\r
73   clear: left;\r
74 }\r
75 \r
76 div.sectionbody {\r
77   margin-left: 0;\r
78 }\r
79 \r
80 hr {\r
81   border: 1px solid silver;\r
82 }\r
83 \r
84 p {\r
85   margin-top: 0.5em;\r
86   margin-bottom: 0.5em;\r
87 }\r
88 \r
89 ul, ol, li > p {\r
90   margin-top: 0;\r
91 }\r
92 ul > li     { color: #aaa; }\r
93 ul > li > * { color: black; }\r
94 \r
95 pre {\r
96   padding: 0;\r
97   margin: 0;\r
98 }\r
99 \r
100 span#author {\r
101   color: #527bbd;\r
102   font-weight: bold;\r
103   font-size: 1.1em;\r
104 }\r
105 span#email {\r
106 }\r
107 span#revnumber, span#revdate, span#revremark {\r
108 }\r
109 \r
110 div#footer {\r
111   font-size: small;\r
112   border-top: 2px solid silver;\r
113   padding-top: 0.5em;\r
114   margin-top: 4.0em;\r
115 }\r
116 div#footer-text {\r
117   float: left;\r
118   padding-bottom: 0.5em;\r
119 }\r
120 div#footer-badges {\r
121   float: right;\r
122   padding-bottom: 0.5em;\r
123 }\r
124 \r
125 div#preamble {\r
126   margin-top: 1.5em;\r
127   margin-bottom: 1.5em;\r
128 }\r
129 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
130 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
131 div.admonitionblock {\r
132   margin-top: 1.0em;\r
133   margin-bottom: 1.5em;\r
134 }\r
135 div.admonitionblock {\r
136   margin-top: 2.0em;\r
137   margin-bottom: 2.0em;\r
138   margin-right: 10%;\r
139   color: #606060;\r
140 }\r
141 \r
142 div.content { /* Block element content. */\r
143   padding: 0;\r
144 }\r
145 \r
146 /* Block element titles. */\r
147 div.title, caption.title {\r
148   color: #527bbd;\r
149   font-weight: bold;\r
150   text-align: left;\r
151   margin-top: 1.0em;\r
152   margin-bottom: 0.5em;\r
153 }\r
154 div.title + * {\r
155   margin-top: 0;\r
156 }\r
157 \r
158 td div.title:first-child {\r
159   margin-top: 0.0em;\r
160 }\r
161 div.content div.title:first-child {\r
162   margin-top: 0.0em;\r
163 }\r
164 div.content + div.title {\r
165   margin-top: 0.0em;\r
166 }\r
167 \r
168 div.sidebarblock > div.content {\r
169   background: #ffffee;\r
170   border: 1px solid #dddddd;\r
171   border-left: 4px solid #f0f0f0;\r
172   padding: 0.5em;\r
173 }\r
174 \r
175 div.listingblock > div.content {\r
176   border: 1px solid #dddddd;\r
177   border-left: 5px solid #f0f0f0;\r
178   background: #f8f8f8;\r
179   padding: 0.5em;\r
180 }\r
181 \r
182 div.quoteblock, div.verseblock {\r
183   padding-left: 1.0em;\r
184   margin-left: 1.0em;\r
185   margin-right: 10%;\r
186   border-left: 5px solid #f0f0f0;\r
187   color: #777777;\r
188 }\r
189 \r
190 div.quoteblock > div.attribution {\r
191   padding-top: 0.5em;\r
192   text-align: right;\r
193 }\r
194 \r
195 div.verseblock > pre.content {\r
196   font-family: inherit;\r
197   font-size: inherit;\r
198 }\r
199 div.verseblock > div.attribution {\r
200   padding-top: 0.75em;\r
201   text-align: left;\r
202 }\r
203 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */\r
204 div.verseblock + div.attribution {\r
205   text-align: left;\r
206 }\r
207 \r
208 div.admonitionblock .icon {\r
209   vertical-align: top;\r
210   font-size: 1.1em;\r
211   font-weight: bold;\r
212   text-decoration: underline;\r
213   color: #527bbd;\r
214   padding-right: 0.5em;\r
215 }\r
216 div.admonitionblock td.content {\r
217   padding-left: 0.5em;\r
218   border-left: 3px solid #dddddd;\r
219 }\r
220 \r
221 div.exampleblock > div.content {\r
222   border-left: 3px solid #dddddd;\r
223   padding-left: 0.5em;\r
224 }\r
225 \r
226 div.imageblock div.content { padding-left: 0; }\r
227 span.image img { border-style: none; }\r
228 a.image:visited { color: white; }\r
229 \r
230 dl {\r
231   margin-top: 0.8em;\r
232   margin-bottom: 0.8em;\r
233 }\r
234 dt {\r
235   margin-top: 0.5em;\r
236   margin-bottom: 0;\r
237   font-style: normal;\r
238   color: navy;\r
239 }\r
240 dd > *:first-child {\r
241   margin-top: 0.1em;\r
242 }\r
243 \r
244 ul, ol {\r
245     list-style-position: outside;\r
246 }\r
247 ol.arabic {\r
248   list-style-type: decimal;\r
249 }\r
250 ol.loweralpha {\r
251   list-style-type: lower-alpha;\r
252 }\r
253 ol.upperalpha {\r
254   list-style-type: upper-alpha;\r
255 }\r
256 ol.lowerroman {\r
257   list-style-type: lower-roman;\r
258 }\r
259 ol.upperroman {\r
260   list-style-type: upper-roman;\r
261 }\r
262 \r
263 div.compact ul, div.compact ol,\r
264 div.compact p, div.compact p,\r
265 div.compact div, div.compact div {\r
266   margin-top: 0.1em;\r
267   margin-bottom: 0.1em;\r
268 }\r
269 \r
270 div.tableblock > table {\r
271   border: 3px solid #527bbd;\r
272 }\r
273 thead, p.table.header {\r
274   font-weight: bold;\r
275   color: #527bbd;\r
276 }\r
277 tfoot {\r
278   font-weight: bold;\r
279 }\r
280 td > div.verse {\r
281   white-space: pre;\r
282 }\r
283 p.table {\r
284   margin-top: 0;\r
285 }\r
286 /* Because the table frame attribute is overriden by CSS in most browsers. */\r
287 div.tableblock > table[frame="void"] {\r
288   border-style: none;\r
289 }\r
290 div.tableblock > table[frame="hsides"] {\r
291   border-left-style: none;\r
292   border-right-style: none;\r
293 }\r
294 div.tableblock > table[frame="vsides"] {\r
295   border-top-style: none;\r
296   border-bottom-style: none;\r
297 }\r
298 \r
299 \r
300 div.hdlist {\r
301   margin-top: 0.8em;\r
302   margin-bottom: 0.8em;\r
303 }\r
304 div.hdlist tr {\r
305   padding-bottom: 15px;\r
306 }\r
307 dt.hdlist1.strong, td.hdlist1.strong {\r
308   font-weight: bold;\r
309 }\r
310 td.hdlist1 {\r
311   vertical-align: top;\r
312   font-style: normal;\r
313   padding-right: 0.8em;\r
314   color: navy;\r
315 }\r
316 td.hdlist2 {\r
317   vertical-align: top;\r
318 }\r
319 div.hdlist.compact tr {\r
320   margin: 0;\r
321   padding-bottom: 0;\r
322 }\r
323 \r
324 .comment {\r
325   background: yellow;\r
326 }\r
327 \r
328 .footnote, .footnoteref {\r
329   font-size: 0.8em;\r
330 }\r
331 \r
332 span.footnote, span.footnoteref {\r
333   vertical-align: super;\r
334 }\r
335 \r
336 #footnotes {\r
337   margin: 20px 0 20px 0;\r
338   padding: 7px 0 0 0;\r
339 }\r
340 \r
341 #footnotes div.footnote {\r
342   margin: 0 0 5px 0;\r
343 }\r
344 \r
345 #footnotes hr {\r
346   border: none;\r
347   border-top: 1px solid silver;\r
348   height: 1px;\r
349   text-align: left;\r
350   margin-left: 0;\r
351   width: 20%;\r
352   min-width: 100px;\r
353 }\r
354 \r
355 div.colist td {\r
356   padding-right: 0.5em;\r
357   padding-bottom: 0.3em;\r
358   vertical-align: top;\r
359 }\r
360 div.colist td img {\r
361   margin-top: 0.3em;\r
362 }\r
363 \r
364 @media print {\r
365   div#footer-badges { display: none; }\r
366 }\r
367 \r
368 div#toc {\r
369   margin-bottom: 2.5em;\r
370 }\r
371 \r
372 div#toctitle {\r
373   color: #527bbd;\r
374   font-size: 1.1em;\r
375   font-weight: bold;\r
376   margin-top: 1.0em;\r
377   margin-bottom: 0.1em;\r
378 }\r
379 \r
380 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {\r
381   margin-top: 0;\r
382   margin-bottom: 0;\r
383 }\r
384 div.toclevel2 {\r
385   margin-left: 2em;\r
386   font-size: 0.9em;\r
387 }\r
388 div.toclevel3 {\r
389   margin-left: 4em;\r
390   font-size: 0.9em;\r
391 }\r
392 div.toclevel4 {\r
393   margin-left: 6em;\r
394   font-size: 0.9em;\r
395 }\r
396 \r
397 span.aqua { color: aqua; }\r
398 span.black { color: black; }\r
399 span.blue { color: blue; }\r
400 span.fuchsia { color: fuchsia; }\r
401 span.gray { color: gray; }\r
402 span.green { color: green; }\r
403 span.lime { color: lime; }\r
404 span.maroon { color: maroon; }\r
405 span.navy { color: navy; }\r
406 span.olive { color: olive; }\r
407 span.purple { color: purple; }\r
408 span.red { color: red; }\r
409 span.silver { color: silver; }\r
410 span.teal { color: teal; }\r
411 span.white { color: white; }\r
412 span.yellow { color: yellow; }\r
413 \r
414 span.aqua-background { background: aqua; }\r
415 span.black-background { background: black; }\r
416 span.blue-background { background: blue; }\r
417 span.fuchsia-background { background: fuchsia; }\r
418 span.gray-background { background: gray; }\r
419 span.green-background { background: green; }\r
420 span.lime-background { background: lime; }\r
421 span.maroon-background { background: maroon; }\r
422 span.navy-background { background: navy; }\r
423 span.olive-background { background: olive; }\r
424 span.purple-background { background: purple; }\r
425 span.red-background { background: red; }\r
426 span.silver-background { background: silver; }\r
427 span.teal-background { background: teal; }\r
428 span.white-background { background: white; }\r
429 span.yellow-background { background: yellow; }\r
430 \r
431 span.big { font-size: 2em; }\r
432 span.small { font-size: 0.6em; }\r
433 </style>\r
434 <script type="text/javascript">\r
435 /*<![CDATA[*/\r
436 window.onload = function(){asciidoc.footnotes();}\r
437 var asciidoc = {  // Namespace.\r
438 \r
439 /////////////////////////////////////////////////////////////////////\r
440 // Table Of Contents generator\r
441 /////////////////////////////////////////////////////////////////////\r
442 \r
443 /* Author: Mihai Bazon, September 2002\r
444  * http://students.infoiasi.ro/~mishoo\r
445  *\r
446  * Table Of Content generator\r
447  * Version: 0.4\r
448  *\r
449  * Feel free to use this script under the terms of the GNU General Public\r
450  * License, as long as you do not remove or alter this notice.\r
451  */\r
452 \r
453  /* modified by Troy D. Hanson, September 2006. License: GPL */\r
454  /* modified by Stuart Rackham, 2006, 2009. License: GPL */\r
455 \r
456 // toclevels = 1..4.\r
457 toc: function (toclevels) {\r
458 \r
459   function getText(el) {\r
460     var text = "";\r
461     for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
462       if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.\r
463         text += i.data;\r
464       else if (i.firstChild != null)\r
465         text += getText(i);\r
466     }\r
467     return text;\r
468   }\r
469 \r
470   function TocEntry(el, text, toclevel) {\r
471     this.element = el;\r
472     this.text = text;\r
473     this.toclevel = toclevel;\r
474   }\r
475 \r
476   function tocEntries(el, toclevels) {\r
477     var result = new Array;\r
478     var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');\r
479     // Function that scans the DOM tree for header elements (the DOM2\r
480     // nodeIterator API would be a better technique but not supported by all\r
481     // browsers).\r
482     var iterate = function (el) {\r
483       for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
484         if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {\r
485           var mo = re.exec(i.tagName);\r
486           if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {\r
487             result[result.length] = new TocEntry(i, getText(i), mo[1]-1);\r
488           }\r
489           iterate(i);\r
490         }\r
491       }\r
492     }\r
493     iterate(el);\r
494     return result;\r
495   }\r
496 \r
497   var toc = document.getElementById("toc");\r
498   var entries = tocEntries(document.getElementById("content"), toclevels);\r
499   for (var i = 0; i < entries.length; ++i) {\r
500     var entry = entries[i];\r
501     if (entry.element.id == "")\r
502       entry.element.id = "_toc_" + i;\r
503     var a = document.createElement("a");\r
504     a.href = "#" + entry.element.id;\r
505     a.appendChild(document.createTextNode(entry.text));\r
506     var div = document.createElement("div");\r
507     div.appendChild(a);\r
508     div.className = "toclevel" + entry.toclevel;\r
509     toc.appendChild(div);\r
510   }\r
511   if (entries.length == 0)\r
512     toc.parentNode.removeChild(toc);\r
513 },\r
514 \r
515 \r
516 /////////////////////////////////////////////////////////////////////\r
517 // Footnotes generator\r
518 /////////////////////////////////////////////////////////////////////\r
519 \r
520 /* Based on footnote generation code from:\r
521  * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html\r
522  */\r
523 \r
524 footnotes: function () {\r
525   var cont = document.getElementById("content");\r
526   var noteholder = document.getElementById("footnotes");\r
527   var spans = cont.getElementsByTagName("span");\r
528   var refs = {};\r
529   var n = 0;\r
530   for (i=0; i<spans.length; i++) {\r
531     if (spans[i].className == "footnote") {\r
532       n++;\r
533       // Use [\s\S] in place of . so multi-line matches work.\r
534       // Because JavaScript has no s (dotall) regex flag.\r
535       note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
536       noteholder.innerHTML +=\r
537         "<div class='footnote' id='_footnote_" + n + "'>" +\r
538         "<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
539         n + "</a>. " + note + "</div>";\r
540       spans[i].innerHTML =\r
541         "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
542         "' title='View footnote' class='footnote'>" + n + "</a>]";\r
543       var id =spans[i].getAttribute("id");\r
544       if (id != null) refs["#"+id] = n;\r
545     }\r
546   }\r
547   if (n == 0)\r
548     noteholder.parentNode.removeChild(noteholder);\r
549   else {\r
550     // Process footnoterefs.\r
551     for (i=0; i<spans.length; i++) {\r
552       if (spans[i].className == "footnoteref") {\r
553         var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");\r
554         href = href.match(/#.*/)[0];  // Because IE return full URL.\r
555         n = refs[href];\r
556         spans[i].innerHTML =\r
557           "[<a href='#_footnote_" + n +\r
558           "' title='View footnote' class='footnote'>" + n + "</a>]";\r
559       }\r
560     }\r
561   }\r
562 }\r
563 \r
564 }\r
565 /*]]>*/\r
566 </script>\r
567 </head>\r
568 <body class="article">\r
569 <div id="header">\r
570 <h1>i3status(1)</h1>\r
571 <span id="author">Michael Stapelberg</span><br />\r
572 <span id="email"><tt>&lt;<a href="mailto:michael+i3@stapelberg.de">michael+i3@stapelberg.de</a>&gt;</tt></span><br />\r
573 <span id="revnumber">version 2.3,</span>\r
574 <span id="revdate">July 2011</span>\r
575 </div>\r
576 <div id="content">\r
577 <div class="sect1">\r
578 <h2 id="_name">NAME</h2>\r
579 <div class="sectionbody">\r
580 <div class="paragraph"><p>i3status - Generates a status line for dzen2 or xmobar</p></div>\r
581 </div>\r
582 </div>\r
583 <div class="sect1">\r
584 <h2 id="_synopsis">SYNOPSIS</h2>\r
585 <div class="sectionbody">\r
586 <div class="paragraph"><p>i3status [-c configfile] [-h] [-v]</p></div>\r
587 </div>\r
588 </div>\r
589 <div class="sect1">\r
590 <h2 id="_options">OPTIONS</h2>\r
591 <div class="sectionbody">\r
592 <div class="dlist"><dl>\r
593 <dt class="hdlist1">\r
594 -c\r
595 </dt>\r
596 <dd>\r
597 <p>\r
598 Specifies an alternate configuration file path. By default, i3status looks for\r
599 configuration files in the following order:\r
600 </p>\r
601 <div class="olist arabic"><ol class="arabic">\r
602 <li>\r
603 <p>\r
604 ~/.i3status.conf\r
605 </p>\r
606 </li>\r
607 <li>\r
608 <p>\r
609 ~/.config/i3status/config (or $XDG_CONFIG_HOME/i3status/config if set)\r
610 </p>\r
611 </li>\r
612 <li>\r
613 <p>\r
614 /etc/i3status.conf\r
615 </p>\r
616 </li>\r
617 <li>\r
618 <p>\r
619 /etc/xdg/i3status/config (or $XDG_CONFIG_DIRS/i3status/config if set)\r
620 </p>\r
621 </li>\r
622 </ol></div>\r
623 </dd>\r
624 </dl></div>\r
625 </div>\r
626 </div>\r
627 <div class="sect1">\r
628 <h2 id="_description">DESCRIPTION</h2>\r
629 <div class="sectionbody">\r
630 <div class="paragraph"><p>i3status is a small program (about 1500 SLOC) for generating a status bar for\r
631 i3bar, dzen2, xmobar or similar programs. It is designed to be very\r
632 efficient by issuing a very small number of system calls, as one generally\r
633 wants to update such a status line every second. This ensures that even under\r
634 high load, your status bar is updated correctly. Also, it saves a bit of energy\r
635 by not hogging your CPU as much as spawning the corresponding amount of shell\r
636 commands would.</p></div>\r
637 </div>\r
638 </div>\r
639 <div class="sect1">\r
640 <h2 id="_configuration">CONFIGURATION</h2>\r
641 <div class="sectionbody">\r
642 <div class="paragraph"><p>Since version 2, the configuration file for i3status will be parsed using\r
643 libconfuse. This makes configuration easier in the programmer’s point of\r
644 view and more flexible for the user at the same time.</p></div>\r
645 <div class="paragraph"><p>The basic idea of i3status is that you can specify which "modules" should\r
646 be used (the order directive). You can then configure each module with its\r
647 own section. For every module, you can specify the output format. See below\r
648 for a complete reference.</p></div>\r
649 <div class="listingblock">\r
650 <div class="title">Sample configuration</div>\r
651 <div class="content">\r
652 <pre><tt>general {\r
653         output_format = "dzen2"\r
654         colors = true\r
655         interval = 5\r
656 }\r
657 \r
658 order += "ipv6"\r
659 order += "disk /"\r
660 order += "run_watch DHCP"\r
661 order += "run_watch VPN"\r
662 order += "wireless wlan0"\r
663 order += "ethernet eth0"\r
664 order += "battery 0"\r
665 order += "cpu_temperature 0"\r
666 order += "load"\r
667 order += "time"\r
668 \r
669 wireless wlan0 {\r
670         format_up = "W: (%quality at %essid, %bitrate) %ip"\r
671         format_down = "W: down"\r
672 }\r
673 \r
674 ethernet eth0 {\r
675         # if you use %speed, i3status requires the cap_net_admin capability\r
676         format_up = "E: %ip (%speed)"\r
677         format_down = "E: down"\r
678 }\r
679 \r
680 battery 0 {\r
681         format = "%status %percentage %remaining"\r
682         path = "/sys/class/power_supply/BAT%d/uevent"\r
683 }\r
684 \r
685 run_watch DHCP {\r
686         pidfile = "/var/run/dhclient*.pid"\r
687 }\r
688 \r
689 run_watch VPN {\r
690         pidfile = "/var/run/vpnc/pid"\r
691 }\r
692 \r
693 time {\r
694         format = "%Y-%m-%d %H:%M:%S"\r
695 }\r
696 \r
697 load {\r
698         format = "%5min"\r
699 }\r
700 \r
701 cpu_temperature 0 {\r
702         format = "T: %degrees °C"\r
703         path = "/sys/devices/platform/coretemp.0/temp1_input"\r
704 }\r
705 \r
706 disk "/" {\r
707         format = "%free"\r
708 }</tt></pre>\r
709 </div></div>\r
710 <div class="sect2">\r
711 <h3 id="_general">General</h3>\r
712 <div class="paragraph"><p>The <tt>colors</tt> directive will disable all colors if you set it to <tt>false</tt>. You can\r
713 also specify the colors that will be used to display "good", "degraded" or "bad"\r
714 values using the <tt>color_good</tt>, <tt>color_degraded</tt> or <tt>color_bad</tt> directives,\r
715 respectively. Those directives are only used if color support is not disabled by\r
716 the <tt>colors</tt> directive. The input format for color values is the canonical RGB\r
717 hexadecimal triplet (with no separators between the colors), prefixed by a hash\r
718 character ("#").</p></div>\r
719 <div class="paragraph"><p><strong>Example configuration</strong>:</p></div>\r
720 <div class="listingblock">\r
721 <div class="content">\r
722 <pre><tt>color_good = "#00FF00"</tt></pre>\r
723 </div></div>\r
724 <div class="paragraph"><p>Likewise, you can use the <tt>color_separator</tt> directive to specify the color that\r
725 will be used to paint the separator bar. The separator is always output in\r
726 color, even when colors are disabled by the <tt>colors</tt> directive.</p></div>\r
727 <div class="paragraph"><p>The <tt>interval</tt> directive specifies the time in seconds for which i3status will\r
728 sleep before printing the next status line.</p></div>\r
729 <div class="paragraph"><p>Using <tt>output_format</tt> you can chose which format strings i3status should\r
730 use in its output. Currently available are:</p></div>\r
731 <div class="dlist"><dl>\r
732 <dt class="hdlist1">\r
733 dzen2\r
734 </dt>\r
735 <dd>\r
736 <p>\r
737 Dzen is a general purpose messaging, notification and menuing program for X11.\r
738 It was designed to be scriptable in any language and integrate well with window\r
739 managers like dwm, wmii and xmonad though it will work with any windowmanger\r
740 </p>\r
741 </dd>\r
742 <dt class="hdlist1">\r
743 xmobar\r
744 </dt>\r
745 <dd>\r
746 <p>\r
747 xmobar is a minimalistic, text based, status bar. It was designed to work\r
748 with the xmonad Window Manager.\r
749 </p>\r
750 </dd>\r
751 <dt class="hdlist1">\r
752 none\r
753 </dt>\r
754 <dd>\r
755 <p>\r
756 Does not use any color codes. Separates values by the pipe symbol. This should\r
757 be used with i3bar and can be used for custom scripts.\r
758 </p>\r
759 </dd>\r
760 </dl></div>\r
761 </div>\r
762 <div class="sect2">\r
763 <h3 id="_ipv6">IPv6</h3>\r
764 <div class="paragraph"><p>This module gets the IPv6 address used for outgoing connections (that is, the\r
765 best available public IPv6 address on your computer).</p></div>\r
766 <div class="paragraph"><p><strong>Example format_up</strong>: <tt>%ip</tt></p></div>\r
767 <div class="paragraph"><p><strong>Example format_down</strong> <tt>no IPv6</tt></p></div>\r
768 </div>\r
769 <div class="sect2">\r
770 <h3 id="_disk">Disk</h3>\r
771 <div class="paragraph"><p>Gets used, free, available and total amount of bytes on the given mounted filesystem.</p></div>\r
772 <div class="paragraph"><p><strong>Example order</strong>: <tt>disk /mnt/usbstick</tt></p></div>\r
773 <div class="paragraph"><p><strong>Example format</strong>: <tt>%free (%avail)/ %total</tt></p></div>\r
774 </div>\r
775 <div class="sect2">\r
776 <h3 id="_run_watch">Run-watch</h3>\r
777 <div class="paragraph"><p>Expands the given path to a pidfile and checks if the process ID found inside\r
778 is valid (that is, if the process is running). You can use this to check if\r
779 a specific application, such as a VPN client or your DHCP client is running.</p></div>\r
780 <div class="paragraph"><p><strong>Example order</strong>: <tt>run_watch DHCP</tt></p></div>\r
781 </div>\r
782 <div class="sect2">\r
783 <h3 id="_wireless">Wireless</h3>\r
784 <div class="paragraph"><p>Gets the link quality and ESSID of the given wireless network interface. You\r
785 can specify different format strings for the network being connected or not\r
786 connected.</p></div>\r
787 <div class="paragraph"><p><strong>Example order</strong>: <tt>wireless wlan0</tt></p></div>\r
788 <div class="paragraph"><p><strong>Example format</strong>: <tt>W: (%quality at %essid, %bitrate) %ip</tt></p></div>\r
789 </div>\r
790 <div class="sect2">\r
791 <h3 id="_ethernet">Ethernet</h3>\r
792 <div class="paragraph"><p>Gets the IP address and (if possible) the link speed of the given ethernet\r
793 interface. Getting the link speed requires the cap_net_admin capability. Set\r
794 it using <tt>setcap cap_net_admin=ep $(which i3status)</tt>.</p></div>\r
795 <div class="paragraph"><p><strong>Example order</strong>: <tt>ethernet eth0</tt></p></div>\r
796 <div class="paragraph"><p><strong>Example format</strong>: <tt>E: %ip (%speed)</tt></p></div>\r
797 </div>\r
798 <div class="sect2">\r
799 <h3 id="_battery">Battery</h3>\r
800 <div class="paragraph"><p>Gets the status (charging, discharging, running), percentage and remaining\r
801 time of the given battery. If you want to use the last full capacity instead\r
802 of the design capacity (when using the design capacity, it may happen that\r
803 your battery is at 23% when fully charged because it’s old. In general, I\r
804 want to see it this way, because it tells me how worn off my battery is.),\r
805 just specify <tt>last_full_capacity = true</tt>.</p></div>\r
806 <div class="paragraph"><p>If your battery is represented in a non-standard path in /sys, be sure to\r
807 modify the "path" property accordingly. The first occurence of %d gets replaced\r
808 with the battery number, but you can just hard-code a path as well.</p></div>\r
809 <div class="paragraph"><p><strong>Example order</strong>: <tt>battery 0</tt></p></div>\r
810 <div class="paragraph"><p><strong>Example format</strong>: <tt>%status %remaining</tt></p></div>\r
811 </div>\r
812 <div class="sect2">\r
813 <h3 id="_cpu_temperature">CPU-Temperature</h3>\r
814 <div class="paragraph"><p>Gets the temperature of the given thermal zone.</p></div>\r
815 <div class="paragraph"><p><strong>Example order</strong>: <tt>cpu_temperature 0</tt></p></div>\r
816 <div class="paragraph"><p><strong>Example format</strong>: <tt>T: %degrees °C</tt></p></div>\r
817 </div>\r
818 <div class="sect2">\r
819 <h3 id="_cpu_usage">CPU Usage</h3>\r
820 <div class="paragraph"><p>Gets the percentual CPU usage from <tt>/proc/stat</tt>.</p></div>\r
821 <div class="paragraph"><p><strong>Example order</strong>: <tt>cpu_usage</tt></p></div>\r
822 <div class="paragraph"><p><strong>Example format</strong>: <tt>%usage</tt></p></div>\r
823 </div>\r
824 <div class="sect2">\r
825 <h3 id="_load">Load</h3>\r
826 <div class="paragraph"><p>Gets the system load (number of processes waiting for CPU time in the last\r
827 1, 5 and 15 minutes).</p></div>\r
828 <div class="paragraph"><p><strong>Example order</strong>: <tt>load</tt></p></div>\r
829 <div class="paragraph"><p><strong>Example format</strong>: <tt>%1min %5min %15min</tt></p></div>\r
830 </div>\r
831 <div class="sect2">\r
832 <h3 id="_time">Time</h3>\r
833 <div class="paragraph"><p>Formats the current system time. See <tt>strftime(3)</tt> for the format.</p></div>\r
834 <div class="paragraph"><p><strong>Example order</strong>: <tt>time</tt></p></div>\r
835 <div class="paragraph"><p><strong>Example format</strong>: <tt>%Y-%m-%d %H:%M:%S</tt></p></div>\r
836 </div>\r
837 <div class="sect2">\r
838 <h3 id="_ddate">DDate</h3>\r
839 <div class="paragraph"><p>Outputs the current discordian date in user-specified format. See <tt>ddate(1)</tt> for\r
840 details on the format string.\r
841 <strong>Note</strong>: Neither <strong>%.</strong> nor <strong>%X</strong> are implemented yet.</p></div>\r
842 <div class="paragraph"><p><strong>Example order</strong>: <tt>ddate</tt></p></div>\r
843 <div class="paragraph"><p><strong>Example format</strong>: <tt>%{%a, %b %d%}, %Y%N - %H</tt></p></div>\r
844 </div>\r
845 <div class="sect2">\r
846 <h3 id="_volume">Volume</h3>\r
847 <div class="paragraph"><p>Outputs the volume of the specified mixer on the specified device. Works only\r
848 on Linux because it uses ALSA.</p></div>\r
849 <div class="paragraph"><p><strong>Example order</strong>: <tt>volume master</tt></p></div>\r
850 <div class="paragraph"><p><strong>Example format</strong>: <tt>♪: %volume</tt></p></div>\r
851 <div class="paragraph"><p><strong>Example configuration</strong>:</p></div>\r
852 <div class="listingblock">\r
853 <div class="content">\r
854 <pre><tt>volume master {\r
855         format = "♪: %volume"\r
856         device = "default"\r
857         mixer = "Master"\r
858         mixer_idx = 0\r
859 }</tt></pre>\r
860 </div></div>\r
861 </div>\r
862 </div>\r
863 </div>\r
864 <div class="sect1">\r
865 <h2 id="_using_i3status_with_dzen2">Using i3status with dzen2</h2>\r
866 <div class="sectionbody">\r
867 <div class="paragraph"><p>After installing dzen2, you can directly use it with i3status. Just ensure that\r
868 <tt>output_format</tt> is set to <tt>dzen2</tt>.</p></div>\r
869 <div class="paragraph"><p><strong>Example for usage of i3status with dzen2</strong>:</p></div>\r
870 <div class="listingblock">\r
871 <div class="content">\r
872 <pre><tt>i3status | dzen2 -fg white -ta r -w 1280 \\r
873 -fn "-misc-fixed-medium-r-normal--13-120-75-75-C-70-iso8859-1"</tt></pre>\r
874 </div></div>\r
875 </div>\r
876 </div>\r
877 <div class="sect1">\r
878 <h2 id="_using_i3status_with_xmobar">Using i3status with xmobar</h2>\r
879 <div class="sectionbody">\r
880 <div class="paragraph"><p>To get xmobar to start, you might need to copy the default configuration\r
881 file to <tt>~/.xmobarrc</tt>. Also, ensure that the <tt>output_format</tt> option for i3status\r
882 is set to <tt>xmobar</tt>.</p></div>\r
883 <div class="paragraph"><p><strong>Example for usage of i3status with xmobar</strong>:</p></div>\r
884 <div class="listingblock">\r
885 <div class="content">\r
886 <pre><tt>i3status | xmobar -o -t "%StdinReader%" -c "[Run StdinReader]"</tt></pre>\r
887 </div></div>\r
888 </div>\r
889 </div>\r
890 <div class="sect1">\r
891 <h2 id="_external_scripts_programs_with_i3status">External scripts/programs with i3status</h2>\r
892 <div class="sectionbody">\r
893 <div class="paragraph"><p>In i3status, we don’t want to implement process management again. Therefore,\r
894 there is no module to run arbitrary scripts or commands. Instead, you should\r
895 use your shell, for example like this:</p></div>\r
896 <div class="paragraph"><p><strong>Example for prepending the i3status output</strong>:</p></div>\r
897 <div class="listingblock">\r
898 <div class="content">\r
899 <pre><tt>#!/bin/sh\r
900 # shell script to prepend i3status with more stuff\r
901 \r
902 i3status | while :\r
903 do\r
904         read line\r
905         echo "mystuff | $line"\r
906 done</tt></pre>\r
907 </div></div>\r
908 <div class="paragraph"><p>Put that in some script, say <tt>.bin/my_i3status.sh</tt> and execute that instead of i3status.</p></div>\r
909 </div>\r
910 </div>\r
911 <div class="sect1">\r
912 <h2 id="_see_also">SEE ALSO</h2>\r
913 <div class="sectionbody">\r
914 <div class="paragraph"><p><tt>strftime(3)</tt>, <tt>date(1)</tt>, <tt>glob(3)</tt>, <tt>dzen2(1)</tt>, <tt>xmobar(1)</tt></p></div>\r
915 </div>\r
916 </div>\r
917 <div class="sect1">\r
918 <h2 id="_authors">AUTHORS</h2>\r
919 <div class="sectionbody">\r
920 <div class="paragraph"><p>Michael Stapelberg and contributors</p></div>\r
921 <div class="paragraph"><p>Thorsten Toepper</p></div>\r
922 <div class="paragraph"><p>Baptiste Daroussin</p></div>\r
923 <div class="paragraph"><p>Axel Wagner</p></div>\r
924 <div class="paragraph"><p>Fernando Tarlá Cardoso Lemos</p></div>\r
925 </div>\r
926 </div>\r
927 </div>\r
928 <div id="footnotes"><hr /></div>\r
929 <div id="footer">\r
930 <div id="footer-text">\r
931 Version 2.3<br />\r
932 Last updated 2011-11-26 19:50:43 CET\r
933 </div>\r
934 </div>\r
935 </body>\r
936 </html>\r