NAME
i3xrocks - A minimalist scheduler for your status line scripts
SYNOPSIS
i3xrocks [OPTION]…
DESCRIPTION
The i3xrocks(1) command generates a status line for i3bar(1). It schedules command lines described in a simple configuration file at specified time intervals, upon signal reception or on clicks.
OPTIONS
- -h
-
Show the help message and exit.
- -c CONFIGFILE
-
Specifies an alternate configuration file path.
- -v
-
Increase log level. This option is a cumulative. By default only fatal errors are shown in the status bar. Passing this option once will show error messages as well. Using -vv and more will show more debug output on standard error.
CONFIGURATION
i3xrocks must be defined as the status line command of the bar block described in your i3(1) configuration file:
bar {
status_command i3xrocks
}
By default, i3xrocks looks for a configuration file in the following order (note that /etc may be prefixed with /usr/local depending on the compilation flags):
-
$XDG_CONFIG_HOME/i3xrocks/config (or ~/.config/i3xrocks/config)
-
~/.i3xrocks.conf
-
$XDG_CONFIG_DIRS/i3xrocks/config (or /etc/xdg/i3xrocks/config)
-
/etc/i3xrocks.conf
The configuration file uses a simplified INI format. Each section describes a new block to be displayed in the status bar. A line beginning with a # sign is a comment, and empty lines are ignored. A property is one key=value pair per line, without spaces surrounding the equal sign. Properties declared outside a block (i.e. at the beginning of the file) describe global settings and are merged into every block definitions.
You must refer to http://i3wm.org/docs/i3bar-protocol.html to know what properties are understood by i3bar(1).
The following properties are interpreted by i3xrocks to describe how the optional command must be scheduled.
command
The command line to be invoked with sh -c
.
It can be relative to the configuration file where it is defined.
Data read from the standard output of the command is used to update the block properties. Data is interpreted depending of the specified format.
interval
If it is a positive integer, then the block is spawned on startup and the value is used as a time interval in seconds to schedule future updates. If undefined or 0, the block won’t be executed on startup (which is useful to simulate buttons).
If once (or -1), the block will be scheduled only on startup (note that a click or signal will still trigger an update).
If repeat (or -2), the block will be scheduled on startup, and as soon as it terminates (useful to repeat blocking commands).
If persist (or -3), the block will be scheduled only on startup, and updated as soon as it outputs a line. Updates are thus limited to single lines.
signal
The signal number used to update the block. All the real-time (think prioritized and queueable) signals are available to the user. The number is valid between 1 and N, where SIGRTMIN+N=SIGRTMAX. (Note that there are 31 real-time signals in Linux.) For instance, signal=10 means that this block will be updated when i3xrocks receives the SIGRTMIN+10 signal.
format
This property specifies the format of the output text.
When undefined, the raw format is assumed. In this format, each non-empty line of the output is used to update an i3bar key, in the order of definition found in the i3bar protocol:
-
full_text
-
short_text
-
color
-
background
Excess lines are considered an error.
If json (or 1) is used, the block output is read as a JSON object and will be merged into the block properties.
SEE ALSO
i3(1), i3bar(1), i3status(1)
AUTHORS
i3xrocks is written by Vivien Didelot and other contributors.
RESOURCES
Project web site: https://vivien.github.io/i3xrocks
Git source repository and issue tracker: https://github.com/vivien/i3xrocks
Official collection of scripts for i3xrocks: https://github.com/vivien/i3xrocks-contrib
i3bar protocol: http://i3wm.org/docs/i3bar-protocol.html
COPYING
Copyright © Vivien Didelot. Free use of this software is granted under the terms of the GPLv3+ License.