This document explains the protocol in which i3bar expects its input. It
provides support for colors, urgency, shortening and easy manipulation.
-== Rationale for chosing JSON
+== Rationale for choosing JSON
Before describing the protocol, let’s cover why JSON is a building block of
this protocol.
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
+https://github.com/i3/i3/blob/next/contrib/trivial-bar-script.sh
=== Header in detail
processing.
The default value (if none is specified) is SIGCONT.
click_events::
- If specified and true i3bar will write a infinite array (same as above)
+ If specified and true i3bar will write an infinite array (same as above)
to your stdin.
=== Blocks in detail
when it is associated.
Colors are specified in hex (like in HTML), starting with a leading
hash sign. For example, +#ff0000+ means red.
+background::
+ Overrides the background color for this particular block.
+border::
+ Overrides the border color for this particular block.
min_width::
The minimum width (in pixels) of the block. If the content of the
+full_text+ key take less space than the specified min_width, the block
markup::
A string that indicates how the text of the block should be parsed. Set to
+"pango"+ to use https://developer.gnome.org/pango/stable/PangoMarkupFormat.html[Pango markup].
- Set to +"none"+ to not use any markup (default).
+ Set to +"none"+ to not use any markup (default). Pango markup only works
+ if you use a pango font.
If you want to put in your own entries into a block, prefix the key with an
underscore (_). i3bar will ignore all keys it doesn’t understand, and prefixing
"full_text": "E: 10.0.0.1 (1000 Mbit/s)",
"short_text": "10.0.0.1",
"color": "#00ff00",
+ "background": "#1c1c1c",
+ "border": "#ee0000",
"min_width": 300,
"align": "right",
"urgent": false,
instance::
Instance of the block, if set
x, y::
- X11 root window coordinates where the click occured
+ X11 root window coordinates where the click occurred
button::
X11 button ID (for example 1 to 3 for left/middle/right mouse button)
+relative_x, relative_y::
+ Coordinates where the click occurred, with respect to the top left corner
+ of the block
+width, height::
+ Width and height (in px) of the block
*Example*:
------------------------------------------
"instance": "eth0",
"button": 1,
"x": 1320,
- "y": 1400
+ "y": 1400,
+ "relative_x": 12,
+ "relative_y": 8,
+ "width": 50,
+ "height": 22
}
------------------------------------------