]> git.sur5r.net Git - i3/i3.github.io/blobdiff - docs/i3bar-protocol.html
Change copyright notice to show 2009-present
[i3/i3.github.io] / docs / i3bar-protocol.html
index 222543fed00ba229db2d47c55d5e4b6ec50cbb46..4c56ae6adcd76e4399fdd78a43201dc4bd8178aa 100644 (file)
@@ -2,15 +2,15 @@
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
 <head>\r
-<link rel="icon" type="image/png" href="/favicon.png">\r
+<link rel="icon" type="image/x-icon" href="/favicon.ico">\r
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.6.7" />\r
+<meta name="generator" content="AsciiDoc 8.6.10" />\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
 <script type="text/javascript">\r
 /*<![CDATA[*/\r
-window.onload = function(){asciidoc.footnotes();}\r
+document.addEventListener("DOMContentLoaded", function(){asciidoc.footnotes();}, false);\r
 /*]]>*/\r
 </script>\r
 <script type="text/javascript" src="/js/asciidoc-xhtml11.js"></script>\r
@@ -22,8 +22,9 @@ window.onload = function(){asciidoc.footnotes();}
                         <ul id="nav">\r
                                 <li><a style="border-bottom: 2px solid #fff" href="/docs">Docs</a></li>\r
                                 <li><a href="/screenshots">Screens</a></li>\r
+                                <li><a href="https://www.reddit.com/r/i3wm/">FAQ</a></li>\r
                                 <li><a href="/contact">Contact</a></li>\r
-                                <li><a href="http://bugs.i3wm.org/">Bugs</a></li>\r
+                                <li><a href="https://github.com/i3/i3/issues">Bugs</a></li>\r
                         </ul>\r
         <br style="clear: both">\r
 <div id="content">\r
@@ -40,7 +41,7 @@ provides support for colors, urgency, shortening and easy manipulation.</p></div
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="_rationale_for_chosing_json">1. Rationale for chosing JSON</h2>\r
+<h2 id="_rationale_for_choosing_json">1. Rationale for choosing JSON</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>Before describing the protocol, let’s cover why JSON is a building block of\r
 this protocol.</p></div>\r
@@ -103,7 +104,7 @@ consists of a single JSON hash:</p></div>
 <div class="paragraph"><p><strong>All features example</strong>:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>{ "version": 1, "stop_signal": 10, "cont_signal": 12 }</tt></pre>\r
+<pre><tt>{ "version": 1, "stop_signal": 10, "cont_signal": 12, "click_events": true }</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
@@ -144,7 +145,7 @@ i3status and others will output single statuslines in one line, separated by
 \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
+<a href="https://github.com/i3/i3/blob/next/contrib/trivial-bar-script.sh">https://github.com/i3/i3/blob/next/contrib/trivial-bar-script.sh</a></p></div>\r
 <div class="sect2">\r
 <h3 id="_header_in_detail">2.1. Header in detail</h3>\r
 <div class="dlist"><dl>\r
@@ -171,11 +172,20 @@ cont_signal
 </dt>\r
 <dd>\r
 <p>\r
-        Specify to i3bar the signal (as an integer)to send to continue your\r
+        Specify to i3bar the signal (as an integer) to send to continue your\r
         processing.\r
         The default value (if none is specified) is SIGCONT.\r
 </p>\r
 </dd>\r
+<dt class="hdlist1">\r
+click_events\r
+</dt>\r
+<dd>\r
+<p>\r
+        If specified and true i3bar will write an infinite array (same as above)\r
+        to your stdin.\r
+</p>\r
+</dd>\r
 </dl></div>\r
 </div>\r
 <div class="sect2">\r
@@ -186,9 +196,9 @@ full_text
 </dt>\r
 <dd>\r
 <p>\r
-        The most simple block you can think of is one which just includes the\r
-        only required key, the <tt>full_text</tt> key. i3bar will display the string\r
-        value and that’s it.\r
+        The <tt>full_text</tt> will be displayed by i3bar on the status line. This is the\r
+        only required key. If <tt>full_text</tt> is an empty string, the block will be\r
+        skipped.\r
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
@@ -221,6 +231,22 @@ color
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
+background\r
+</dt>\r
+<dd>\r
+<p>\r
+        Overrides the background color for this particular block.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+border\r
+</dt>\r
+<dd>\r
+<p>\r
+        Overrides the border color for this particular block.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
 min_width\r
 </dt>\r
 <dd>\r
@@ -241,7 +267,7 @@ align
 </dt>\r
 <dd>\r
 <p>\r
-        Align text on the <tt>center</tt> (default), <tt>right</tt> or <tt>left</tt> of the block, when\r
+        Align text on the <tt>center</tt>, <tt>right</tt> or <tt>left</tt> (default) of the block, when\r
         the minimum width of the latter, specified by the <tt>min_width</tt> key, is not\r
         reached.\r
 </p>\r
@@ -290,6 +316,17 @@ separator_block_width
         is 9 pixels), since the separator line is drawn in the middle.\r
 </p>\r
 </dd>\r
+<dt class="hdlist1">\r
+markup\r
+</dt>\r
+<dd>\r
+<p>\r
+        A string that indicates how the text of the block should be parsed. Set to\r
+        <tt>"pango"</tt> to use <a href="https://developer.gnome.org/pango/stable/PangoMarkupFormat.html">Pango markup</a>.\r
+        Set to <tt>"none"</tt> to not use any markup (default). Pango markup only works\r
+        if you use a pango font.\r
+</p>\r
+</dd>\r
 </dl></div>\r
 <div class="paragraph"><p>If you want to put in your own entries into a block, prefix the key with an\r
 underscore (_). i3bar will ignore all keys it doesn’t understand, and prefixing\r
@@ -321,6 +358,8 @@ used to set the minimum width:</p></div>
  "full_text": "E: 10.0.0.1 (1000 Mbit/s)",\r
  "short_text": "10.0.0.1",\r
  "color": "#00ff00",\r
+ "background": "#1c1c1c",\r
+ "border": "#ee0000",\r
  "min_width": 300,\r
  "align": "right",\r
  "urgent": false,\r
@@ -331,12 +370,95 @@ used to set the minimum width:</p></div>
 }</tt></pre>\r
 </div></div>\r
 </div>\r
+<div class="sect2">\r
+<h3 id="_click_events">2.3. Click events</h3>\r
+<div class="paragraph"><p>If enabled i3bar will send you notifications if the user clicks on a block and\r
+looks like this:</p></div>\r
+<div class="dlist"><dl>\r
+<dt class="hdlist1">\r
+name\r
+</dt>\r
+<dd>\r
+<p>\r
+        Name of the block, if set\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+instance\r
+</dt>\r
+<dd>\r
+<p>\r
+        Instance of the block, if set\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+x, y\r
+</dt>\r
+<dd>\r
+<p>\r
+        X11 root window coordinates where the click occurred\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+button\r
+</dt>\r
+<dd>\r
+<p>\r
+        X11 button ID (for example 1 to 3 for left/middle/right mouse button)\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+relative_x, relative_y\r
+</dt>\r
+<dd>\r
+<p>\r
+    Coordinates where the click occurred, with respect to the top left corner\r
+    of the block\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+width, height\r
+</dt>\r
+<dd>\r
+<p>\r
+    Width and height (in px) of the block\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+modifiers\r
+</dt>\r
+<dd>\r
+<p>\r
+    An array of the modifiers active when the click occurred. The order in which\r
+    modifiers are listed is not guaranteed.\r
+</p>\r
+</dd>\r
+</dl></div>\r
+<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>{\r
+ "name": "ethernet",\r
+ "instance": "eth0",\r
+ "button": 1,\r
+ "modifiers": ["Shift", "Mod1"],\r
+ "x": 1320,\r
+ "y": 1400,\r
+ "relative_x": 12,\r
+ "relative_y": 8,\r
+ "width": 50,\r
+ "height": 22\r
+}</tt></pre>\r
+</div></div>\r
+</div>\r
 </div>\r
 </div>\r
 </div>\r
 <div id="footnotes"><hr /></div>\r
 <div id="footer" lang="de">\r
-© 2009-2011 Michael Stapelberg, <a href="/impress.html">Impressum</a>\r
+    © 2009-present Michael Stapelberg,\r
+    <a href="/impress.html">Impressum</a>,\r
+    <a href="https://github.com/i3/i3.github.io">Source</a>\r
 </div>\r
 </body>\r
 </html>\r