i3bar input protocol
====================
Michael Stapelberg <michael@i3wm.org>
-February 2012
+August 2012
This document explains the protocol in which i3bar expects its input. It
provides support for colors, urgency, shortening and easy manipulation.
{ "version": 1 }
----------------
+(Note that before i3 v4.3 the precise format had to be +{"version":1}+,
+byte-for-byte.)
+
What follows is an infinite array (so it should be parsed by a streaming JSON
parser, but as described above you can go for a simpler solution), whose
elements are one array per status line. A status line is one unit of
i3status and others will output single statuslines in one line, separated by
\n.
+You can find an example of a shell script which can be used as your
++status_command+ in the bar configuration at
+http://code.stapelberg.de/git/i3/tree/contrib/trivial-bar-script.sh?h=next
+
=== Blocks in detail
full_text::
<head>\r
<link rel="icon" type="image/png" href="/favicon.png">\r
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.6.4" />\r
+<meta name="generator" content="AsciiDoc 8.6.7" />\r
<title>i3: i3bar input protocol</title>\r
<link rel="stylesheet" href="/css/style.css" type="text/css" />\r
<link rel="stylesheet" href="/css/xhtml11.css" type="text/css" />\r
<h1>i3bar input protocol</h1>\r
<span id="author">Michael Stapelberg</span><br />\r
<span id="email"><tt><<a href="mailto:michael@i3wm.org">michael@i3wm.org</a>></tt></span><br />\r
-<span id="revdate">February 2012</span>\r
+<span id="revdate">August 2012</span>\r
</div>\r
<div id="preamble">\r
<div class="sectionbody">\r
<div class="content">\r
<pre><tt>{ "version": 1 }</tt></pre>\r
</div></div>\r
+<div class="paragraph"><p>(Note that before i3 v4.3 the precise format had to be <tt>{"version":1}</tt>,\r
+byte-for-byte.)</p></div>\r
<div class="paragraph"><p>What follows is an infinite array (so it should be parsed by a streaming JSON\r
parser, but as described above you can go for a simpler solution), whose\r
elements are one array per status line. A status line is one unit of\r
<div class="paragraph"><p>Please note that this example was pretty printed for human consumption.\r
i3status and others will output single statuslines in one line, separated by\r
\n.</p></div>\r
+<div class="paragraph"><p>You can find an example of a shell script which can be used as your\r
+<tt>status_command</tt> in the bar configuration at\r
+<a href="http://code.stapelberg.de/git/i3/tree/contrib/trivial-bar-script.sh?h=next">http://code.stapelberg.de/git/i3/tree/contrib/trivial-bar-script.sh?h=next</a></p></div>\r
<div class="sect2">\r
<h3 id="_blocks_in_detail">2.1. Blocks in detail</h3>\r
<div class="dlist"><dl>\r