I3STATUS-RS(1)

NAME
i3status-rs - Generates a status line for i3bar(1)-compatible bars

SYNOPSIS
i3status-rs [-h] [-V] [--exit-on-error] [CONFIGFILE]

DESCRIPTION
A feature-rich and resource-friendly replacement for i3status(1), written in Rust. The i3status-rs program writes a stream of configurable “blocks” of system information (time, battery status, volume, etc.) to standard output in the JSON format understood by i3bar(1) and sway-bar(5).

OPTIONS

-h, --help
    Print help message and exit.

-V, --version
    Print version information and exit.

--exit-on-error
    Exit rather than printing errors to the bar and continuing. Useful for debugging in the console.

CONFIGFILE
    Read the configuration from this file. Otherwise, we fall back on $XDG_CONFIG_HOME/i3status-rust/config.toml.

CONFIGURATION
i3status-rs uses a TOML-based format for specifying an array of “blocks”. There are also a small number of top-level theme and icon settings. A simple configuration might look as follows:

      theme = "solarized-dark"
      icons = "awesome"
      [[block]]
      block = "cpu"
      interval = 1
      [[block]]
      block = "load"
      interval = 1
      format = "{1m}"
      [[block]]
      block = "sound"

For available blocks, see BLOCKS. For theme and icon configuration, see THEMES.

BLOCKS

  Backlight

Creates a block to display screen brightness. This is a simplified version of the Xrandr block that reads brightness information directly from the filesystem, so it works under Wayland. The block uses inotify to listen for changes in the device’s brightness directly, so there is no need to set an update interval.

When there is no device specified, this block will display information from the first device found in the /sys/class/backlight directory. If you only have one display, this approach should find it correctly.

It is possible to set the brightness using this block as well – see below for details.

  Examples

Show brightness for a specific device:

    [[block]]
    block = "backlight"
    device = "intel_backlight"

Show brightness for the default device:

    [[block]]
    block = "backlight"

  Options

Key | Values | Required | Default
device | The /sys/class/backlight device to read brightness information from. | No | Default device
step_width | The brightness increment to use when scrolling, in percent. | No | 5

  Setting Brightness with the Mouse Wheel

The block allows for setting brightness with the mouse wheel. However, depending on how you installed i3status-rust, it may not have the appropriate permissions to modify these files, and will fail silently. To remedy this you can write a udev rule for your system (if you are comfortable doing so).

First, check that your user is a member of the “video” group using the groups command. Then add a rule in the /etc/udev/rules.d/ directory containing the following, for example in backlight.rules:

    ACTION=="add", SUBSYSTEM=="backlight", GROUP="video", MODE="0664"

This will allow the video group to modify all backlight devices. You will also need to restart for this rule to take effect.

  Battery

Creates a block which displays the current battery state (Full, Charging or Discharging), percentage charged and estimate time until (dis)charged.

The battery block collapses when the battery is fully charged – or, in the case of some Thinkpad batteries, when it reports “Not charging”.

The battery block supports reading charging and status information from either sysfs or the UPower (https://upower.freedesktop.org/) D-Bus interface. These “drivers” have largely identical features, but UPower does include support for device = "DisplayDevice", which treats all physical power sources as a single logical battery. This is particularly useful if your system has multiple batteries.

  Examples

Update the battery state every ten seconds, and show the time remaining until (dis)charging is complete:

    [[block]]
    block = "battery"
    interval = 10
    format = "{percentage}% {time}"

Rely on Upower for battery updates and information:

    [[block]]
    block = "battery"
    driver = "upower"
    format = "{percentage}% {time}"

  Options

Key | Values | Required | Default
device | The device in /sys/class/power_supply/ to read from. When using UPower, this can also be "DisplayDevice". | No | "BAT0"
driver | One of "sysfs" or "upower". | No | "sysfs"
interval | Update interval, in seconds. Only relevant for driver = "sysfs". | No | 10
format | A format string. See below for available placeholders. | No | "{percentage}%"
show | Deprecated in favour of format. Show remaining "time", "percentage" or "both" | No | "percentage"
upower | Deprecated in favour of device. When true, use the Upower D-Bus driver. | No | false

The show option is deprecated, and will be removed in future versions. In the meantime, it will override the format option when present.

  Format string

Placeholder | Description
{percentage} | Battery level, in percent.
{time} | Time remaining until (dis)charge is complete.
{power} | Power consumption (in watts) by the battery or from the power supply when charging.

  Bluetooth

Creates a block which displays the connectivity of a given Bluetooth device, or the battery level if this is supported. Relies on the Bluez D-Bus API, and is therefore asynchronous.

When the device can be identified as an audio headset, a keyboard, joystick, or mouse, use the relevant icon. Otherwise, fall back on the generic Bluetooth symbol.

Right-clicking the block will attempt to connect (or disconnect) the device.

  Examples

A block for a Bluetooth device with the given MAC address:

    [[block]]
    block = "bluetooth"
    mac = "A0:8A:F5:B8:01:FD"
    label = " Rowkin"

  Options

Key | Values | Required | Default
mac | MAC address of the Bluetooth device. | Yes | None
label | Text label to display next to the icon. | No | None

  CPU Utilization

Creates a block which displays the overall CPU utilization, calculated from /proc/stat.

  Examples

Update CPU usage every second:

    [[block]]
    block = "cpu"
    interval = 1
    format = "{barchart} {utilization}% {frequency}GHz"

  Options

Key | Values | Required | Default
info | Minimum usage, where state is set to info. | No | 30
warning | Minimum usage, where state is set to warning. | No | 60
critical | Minimum usage, where state is set to critical. | No | 90
interval | Update interval, in seconds. | No | 1
format | A format string. Possible placeholders: {barchart} (barchart of each CPU’s core utilization), {utilization} (average CPU utilization in percent) and {frequency} (CPU frequency). | No | "{utilization}%"
frequency | Deprecated in favour of format. Sets format to {utilization}% {frequency}GHz | No | false

  Custom

Creates a block that display the output of custom shell commands.

  Examples

    [[block]]
    block = "custom"
    command = "uname"
    interval = 100

    [[block]]
    block = "custom"
    cycle = ["echo ON", "echo OFF"]
    on_click = "<command>"
    interval = 1

  Options

Note that command and cycle are mutually exclusive.

Key | Values | Required | Default
command | Shell command to execute & display. | No | None
on_click | Command to execute when the button is clicked. The command will be passed to whatever is specified in your $SHELL variable and - if not set - fallback to sh. | No | None
cycle | Commands to execute and change when the button is clicked. | No | None
interval | Update interval, in seconds. | No | 10

  Disk Space

Creates a block which displays disk space information.

  Examples

    [[block]]
    block = "disk_space"
    path = "/"
    alias = "/"
    info_type = "available"
    unit = "GB"
    interval = 20

  Options

Key | Values | Required | Default
path | Path to collect information from | No | "/"
alias | Alias that is displayed for path | No | "/"
info_type | Currently supported options are available and free | No | "available"
unit | Unit that is used to display disk space. Options are MB, MiB, GB, GiB, TB and TiB | No | "GB"
interval | Update interval, in seconds. | No | 20
show_percentage | Show percentage of used/available disk space depending on info_type. | No | false

  Focused Window

Creates a block which displays the title of the currently focused window. Uses push updates from i3 IPC, so no need to worry about resource usage. The block only updates when the focused window changes title or the focus changes. Also works with sway, due to it having compatibility with i3’s IPC.

  Examples

    [[block]]
    block = "focused_window"
    max_width = 21

  Options

Key | Values | Required | Default
max_width | Truncates titles to this length. | No | 21

  IBus

Creates a block which displays the current global engine set in IBus (https://wiki.archlinux.org/index.php/IBus). Updates are instant as D-Bus signalling is used.

  Examples

    [[block]]
    block = "ibus"

  Keyboard Layout

Creates a block to display the current keyboard layout.

This block polls setxkbmap for the current layout by default, also can be configured to read asynchronous updates from the systemd org.freedesktop.locale1 D-Bus path or kbdd. Which of these methods is appropriate will depend on your system setup.

  Examples

Check setxkbmap every 15 seconds:

    [[block]]
    block = "keyboard_layout"
    driver = "setxkbmap"
    interval = 15

Listen to D-Bus for changes:

    [[block]]
    block = "keyboard_layout"
    driver = "localebus"

Listen to kbdd for changes:

    [[block]]
    block = "keyboard_layout"
    driver = "kbddbus"

  Options

Key | Values | Required | Default
driver | One of "setxkbmap", "localebus" or "kbddbus", depending on your system. | No | "setxkbmap"
interval | Update interval, in seconds. Only used by the "setxkbmap" driver. | No | 60

  Load

Creates a block which displays the system load average.

  Examples

Display the 1-minute and 5-minute load averages, updated once per second:

    [[block]]
    block = "load"
    format = "{1m} {5m}"
    interval = 1

  Options

Key | Values | Required | Default
info | Minimum load, where state is set to info. | No | 0.3
warning | Minimum load, where state is set to warning. | No | 0.6
critical | Minimum load, where state is set to critical. | No | 0.9
format | Format string. You can use the placeholders 1m 5m and 15m, e.g. "1min avg: {1m}". | No | "{1m}"
interval | Update interval, in seconds. | No | 3

  Maildir

Creates a block which shows unread mails. Only supports maildir format.

  Examples

    [[block]]
    block = "maildir"
    interval = 60
    inboxes = ["/home/user/mail/local", "/home/user/mail/gmail/Inbox"]
    threshold_warning = 1
    threshold_critical = 10
    display_type = "new"

  Options

Key | Values | Required | Default
inboxes | List of maildir inboxes to look for mails in | Yes | None
threshold_warning | Number of unread mails where state is set to warning | No | 1
threshold_critical | Number of unread mails where state is set to critical | No | 10
interval | Update interval, in seconds. | No | 5
display_type | Which part of the maildir to count. One of “new”, “cur”, or “all” | No | "new"
icon | Whether or not to prepend the output with the mail icon | No | true

  Memory

Creates a block displaying memory and swap usage.

By default, the format of this module is “: {MFm}MB/{MTm}MB({Mp}%)” (Swap values accordingly). That behaviour can be changed within your config.

This module keeps track of both Swap and Memory. By default, a click switches between them.

  Examples

    [[block]]
    block = "memory"
    format_mem = "{Mum}MB/{MTm}MB({Mup}%)"
    format_swap = "{SUm}MB/{STm}MB({SUp}%)"
    display_type = "memory"
    icons = true
    clickable = true
    interval = 5
    warning_mem = 80
    warning_swap = 80
    critical_mem = 95
    critical_swap = 95

  Options

Key | Values | Required | Default
format_mem | Format string for Memory view. All format values are described below. | No | "{MFm}MB/{MTm}MB({Mp}%)"
format_swap | Format string for Swap view. | No | "{SFm}MB/{STm}MB({Sp}%)"
display_type | Default view displayed on startup. Options are memory, swap | No | "memory"
icons | Whether the format string should be prepended with Icons. | No | true
clickable | Whether the view should switch between memory and swap on click. | No | true
warning_mem | Percentage of memory usage, where state is set to warning. | No | 80.0
warning_swap | Percentage of swap usage, where state is set to warning. | No | 80.0
critical_mem | Percentage of memory usage, where state is set to critical. | No | 95.0
critical_swap | Percentage of swap usage, where state is set to critical. | No | 95.0
interval | The delay in seconds between an update. If clickable, an update is triggered on click. Integer values only. | No | 5

  Format string specification

Key | Value
{MTg} | Memory total (GiB).
{MTm} | Memory total (MiB).
{MAg} | Available memory, including cached memory and buffers (GiB).
{MAm} | Available memory, including cached memory and buffers (MiB).
{MAp} | Available memory, including cached memory and buffers (%).
{MApi} | Available memory, including cached memory and buffers (%) as integer.
{MFg} | Memory free (GiB).
{MFm} | Memory free (MiB).
{MFp} | Memory free (%).
{MFpi} | Memory free (%) as integer.
{Mug} | Memory used, excluding cached memory and buffers; similar to htop’s green bar (GiB).
{Mum} | Memory used, excluding cached memory and buffers; similar to htop’s green bar (MiB).
{Mup} | Memory used, excluding cached memory and buffers; similar to htop’s green bar (%).
{Mupi} | Memory used, excluding cached memory and buffers; similar to htop’s green bar (%) as integer.
{MUg} | Total memory used (GiB).
{MUm} | Total memory used (MiB).
{MUp} | Total memory used (%).
{MUpi} | Total memory used (%) as integer.
{Cg} | Cached memory, similar to htop’s yellow bar (GiB).
{Cm} | Cached memory, similar to htop’s yellow bar (MiB).
{Cp} | Cached memory, similar to htop’s yellow bar (%).
{Cpi} | Cached memory, similar to htop’s yellow bar (%) as integer.
{Bg} | Buffers, similar to htop’s blue bar (GiB).
{Bm} | Buffers, similar to htop’s blue bar (MiB).
{Bp} | Buffers, similar to htop’s blue bar (%).
{Bpi} | Buffers, similar to htop’s blue bar (%) as integer.
{STg} | Swap total (GiB).
{STm} | Swap total (MiB).
{SFg} | Swap free (GiB).
{SFm} | Swap free (MiB).
{SFp} | Swap free (%).
{SFpi} | Swap free (%) as integer.
{SUg} | Swap used (GiB).
{SUm} | Swap used (MiB).
{SUp} | Swap used (%).
{SUpi} | Swap used (%) as integer.

  Music

Creates a block to display the current song title and artist in a fixed-width marquee. Also provides buttons for play/pause, previous and next.

Supports all music players that implement the MediaPlayer2 Interface (https://specifications.freedesktop.org/mpris-spec/latest/Player_Interface.html). This includes:

•   Spotify

•   VLC

•   mpd (via mpDris2 (https://github.com/eonpatapon/mpDris2))

and many others.

The block can be configured to drive a specific music player by name or automatically discover the currently active one.

  Examples

Show the currently playing song on Spotify only, with play & next buttons:

    [[block]]
    block = "music"
    player = "spotify"
    buttons = ["play", "next"]

Same thing for any compatible player, takes the first active on the bus:

    [[block]]
    block = "music"
    buttons = ["play", "next"]

Start Spotify if the block is clicked whilst it’s collapsed:

    [[block]]
    block = "music"
    on_collapsed_click = "spotify"

  Options

Key | Values | Required | Default
player | Name of the music player. Must be the same name the player is registered with the MediaPlayer2 Interface. If unset, it will automatically discover the active player. | Yes | None
max_width | Max width of the block in characters, not including the buttons | No | 21
marquee | Bool to specify if a marquee style rotation should be used if the title + artist is longer than max-width | No | true
marquee_interval | Marquee interval in seconds. This is the delay between each rotation. | No | 10
marquee_speed | Marquee speed in seconds. This is the scrolling time used per character. | No | 0.5
buttons | Array of control buttons to be displayed. Options are prev (previous title), play (play/pause) and next (next title) | No | []
on_collapsed_click | Shell command to run when the music block is clicked while collapsed. | No | None

  Net

Creates a block which displays the upload and download throughput for a network interface. Units are by default in bytes per second (kB/s, MB/s, etc), but the `use_bits' flag can be set to true to convert the units to bps (little b).

  Examples

    [[block]]
    block = "net"
    device = "wlp2s0"
    ssid = true
    signal_strength = true
    ip = true
    speed_up = false
    graph_up = true
    interval = 5
    use_bits = false

  Options

Key | Values | Required | Default
device | Network interface to moniter (name from /sys/class/net) | Yes | lo (loopback interface)
ssid | Display network SSID (wireless only). | No | false
signal_strength | Display WiFi signal strength (wireless only). | No | false
bitrate | Display connection bitrate. | No | false
ip | Display connection IP address. | No | false
speed_up | Display upload speed. | No | true
speed_down | Display download speed. | No | true
graph_up | Display a bar graph for upload speed. | No | false
graph_down | Display a bar graph for download speed. | No | false
interval | Update interval, in seconds. | No | 1
hide_missing | Whether to hide networks that are down/inactive completely. | No | false
hide_inactive | Whether to hide networks that are missing. | No | false

  Notmuch

Creates a block which queries a notmuch database and displays the count of messages.

The simplest configuration will return the total count of messages in the notmuch database stored at $HOME/.mail

NOTE: This block can only be used if you build with cargo build --features=notmuch

  Examples

    [[block]]
    block = "notmuch"
    query = "tag:alert and not tag:trash"
    threshold_warning = 1
    threshold_critical = 10
    name = "A"

  Options

Key | Values | Required | Default
maildir | Path to the directory containing the notmuch database | No | $HOME/.mail
query | Query to run on the database | No | ""
threshold_critical | Mail count that triggers critical state | No | 99999
threshold_warning | Mail count that triggers warning state | No | 99999
threshold_good | Mail count that triggers good state | No | 99999
threshold_info | Mail count that triggers info state | No | 99999
name | Label to show before the mail count | No | ""
no_icon | Disable the mail icon | No | false

  Nvidia Gpu

Proprietary nvidia driver required.

Creates a block which displays the Nvidia GPU utilization, temperature, used and total memory, fan speed, gpu clocks. You can set gpu label, that displayed by default.

Clicking the left button on the icon changes the output of the label to the output of the gpu name. Same with memory: used/total.

Clicking the left button on the fans turns on the mode of changing the speed of the fans using the wheel. Press again to turn off the mode. For this opportunity you need nvidia-settings!

  Examples

    [[block]]
    block = "nvidia_gpu"
    label = "GT 1030"
    show_memory = false
    show_clocks = true
    interval = 1

  Options

Key | Values | Required | Default
gpu_id | GPU id in system | No | 0
label | Display custom gpu label | No | ""
interval | Update interval, in seconds. | No | 1
show_utilization | Display gpu utilization. In percents. | No | true
show_memory | Display memory information. | No | true
show_temperature | Display gpu temperature. | No | true
show_fan_speed | Display fan speed. | No | false
show_clocks | Display gpu clocks. | No | false

  Pacman

Creates a block which displays the pending updates available on pacman.

  Examples

Update the list of pending updates every ten seconds:

    [[block]]
    block = "pacman"
    interval = 10
    format = "{count} updates available"
    format_singular = "{count} update available"
    format_up_to_date = "system up to date"

  Options

Key | Values | Required | Default
interval | Update interval, in seconds. | No | 600 (10min)
format | Format override | No | "{count}"
format_singular | Format override if exactly one update is available | No | "{count}"
format_up_to_date | Format override if no updates are available | No | "{count}"

  Available Format Keys

Key | Value
{count} | Number of updates available

  Sound

Creates a block which displays the volume level (according to PulseAudio or ALSA). Right click to toggle mute, scroll to adjust volume.

Requires a PulseAudio installation or alsa-utils for ALSA.

PulseAudio support is a feature and can be turned on (--features "pulseaudio") / off (--no-default-features) during build with cargo. If PulseAudio support is enabled the "auto" driver will first try to connect to PulseAudio and then fallback to ALSA on error.

Note that if you are using PulseAudio commands (such as pactl) to control your volume, you should select the "pulseaudio" (or "auto") driver to see volume changes that exceed 100%.

  Examples

Change the default scrolling step width to 3 percent:

    [[block]]
    block = "sound"
    step_width = 3

  Options

Key | Values | Required | Default
driver | "auto", "pulseaudio", "alsa" | No | "auto" (Pulseaudio with ALSA fallback)
name | PulseAudio / ALSA device name | No | Default Device (@DEFAULT_SINK@ / Master)
step_width | The percent volume level is increased/decreased for the selected audio device when scrolling. Capped automatically at 50. | No | 5
on_click | Shell command to run when the sound block is clicked. | No | None
show_volume_when_muted | Show the volume even if it is currently muted. | No | false

  Speed Test

Creates a block which uses speedtest-cli (https://github.com/sivel/speedtest-cli) to measure your ping, download, and upload speeds.

  Examples

    [[block]]
    block = "speedtest"
    bytes = true
    interval = 1800

  Options

Key | Values | Required | Default
bytes | Whether to use bytes or bits in the display (true for bytes, false for bits). | No | false
interval | Update interval, in seconds. | No | 1800

  Temperature

Creates a block which displays the system temperature, based on lm_sensors’ sensors -u output. The block has two modes: “collapsed”, which uses only colour as an indicator, and “expanded”, which shows the content of a format string.

Requires lm_sensors and appropriate kernel modules for your hardware.

The average, minimum, and maximum temperatures are computed using all sensors displayed by sensors -u, or the subset matching the chip name, if chip is specified.

Note that the colour of the block is always determined by the maximum temperature across all sensors, not the average. You may need to keep this in mind if you have a misbehaving sensor.

  Examples

    [[block]]
    block = "temperature"
    collapsed = false
    interval = 10
    format = "{min}° min, {max}° max, {average}° avg"
    chip = "*-isa-*"

  Options

Key | Values | Required | Default
interval | Update interval, in seconds. | No | 5
collapsed | Whether the block will be collapsed by default. | No | true
good | Maximum temperature to set state to good. | No | 20
idle | Maximum temperature to set state to idle. | No | 45
info | Maximum temperature to set state to info. | No | 60
warning | Maximum temperature to set state to warning. Beyond this temperature, state is set to critical. | No | 80
chip | Narrows the results to a given chip name. * may be used as a wildcard. | No | None

  Available Format Keys

Key | Value
{min} | Minimum temperature among all sensors.
{average} | Average temperature among all sensors.
{max} | Maximum temperature among all sensors.

  Time

Creates a block which display the current time.

  Examples

    [[block]]
    block = "time"
    format = "%a %d/%m %R"
    timezone = "US/Pacific"
    interval = 60

  Options

Key | Values | Required | Default
format | Format string. See the chrono docs (https://docs.rs/chrono/0.3.0/chrono/format/strftime/index.html#specifiers) for all options. | No | "%a %d/%m %R"
on_click | Shell command to run when the time block is clicked. | No | None
interval | Update interval, in seconds. | No | 5
timezone | A timezone specifier (e.g. “Europe/Lisbon”) | No | Local timezone

  Toggle

Creates a toggle block. You can add commands to be executed to disable the toggle (command_off), and to enable it (command_on). You also need to specify a command to determine the (initial) state of the toggle (command_state). When the command outputs nothing, the toggle is disabled, otherwise enabled. By specifying the interval property you can let the command_state be executed continuously.

  Examples

This is what I use to toggle my external monitor configuration:

    [[block]]
    block = "toggle"
    text = "4k"
    command_state = "xrandr | grep DP1\\ connected\\ 38 | grep -v eDP1"
    command_on = "~/.screenlayout/4kmon_default.sh"
    command_off = "~/.screenlayout/builtin.sh"
    interval = 5

  Options

Key | Values | Required | Default
text | Label to include next to the toggle icon. | No | ""
command_on | Shell Command to enable the toggle | Yes | None
command_off | Shell Command to disable the toggle | Yes | None
command_state | Shell Command to determine toggle state. Empty output => off. Any output => on. | Yes | None
icon_on | Icon override for the toggle button while on. | No | "toggle_on"
icon_off | Icon override for the toggle button while off. | No | "toggle_off"
interval | Update interval, in seconds. | No | None

  Weather

Creates a block which displays local weather and temperature information. In order to use this block, you will need access to a supported weather API service. At the time of writing, OpenWeatherMap is the only supported service.

Configuring the Weather block requires configuring a weather service, which may require API keys and other parameters.

  Examples

Show detailed weather in San Francisco through the OpenWeatherMap service:

    [[block]]
    block = "weather"
    format = "{weather} ({location}) {temp}°, {wind} m/s {direction}"
    service = { name = "openweathermap", api_key = "XXX", city_id = "5398563", units = "metric" }

  Options

Key | Values | Required | Default
format | The text format of the weather display. | No | "{weather} {temp}°"
service | The configuration of a weather service (see below). | Yes | None
interval | Update interval, in seconds. | No | 600

  OpenWeatherMap Options

To use the service you will need a (free) API key.

Key | Values | Required | Default
name | openweathermap | Yes | None
api_key | Your OpenWeatherMap API key. | Yes | None
city_id | OpenWeatherMap’s ID for the city. | Yes | None
units | One of metric or imperial. | Yes | None

The options api_key and/or city_id can be omitted from configuration, in which case they must be provided in the environment variables OPENWEATHERMAP_API_KEY and/or OPENWEATHERMAP_CITY_ID.

  Available Format Keys

Key | Value
{location} | Location name (exact format depends on the service).
{temp} | Temperature.
{weather} | Textual description of the weather, e.g. “Raining”.
{wind} | Wind speed.
{direction} | Wind direction, e.g. “NE”.

  Uptime

Creates a block which displays system uptime. The block will always display the 2 biggest units, so minutes and seconds, or hours and minutes or days and hours or weeks and days.

  Examples

    [[block]]
    block = "uptime"

  Options

None

  Xrandr

Creates a block which shows screen information (name, brightness, resolution). With a click you can toggle through your active screens and with wheel up and down you can adjust the selected screens brightness.

  Examples

    [[block]]
    block = "xrandr"
    icons = true
    resolution = true
    interval = 2

  Options

Key | Values | Required | Default
icons | Show icons for brightness and resolution (needs awesome fonts support) | No | true
resolution | Shows the screens resolution | No | false
step_width | The steps brightness is in/decreased for the selected screen (When greater than 50 it gets limited to 50) | No | 5
interval | Update interval, in seconds. | No | 5

  Docker

Creates a block which shows the local docker daemon status (containers running, paused, stopped, total and image count).

  Examples

    [[block]]
    block = "docker"
    interval = 2
    format = "{running}/{total}"

  Options

Key | Values | Required | Default
interval | Update interval, in seconds. | No | 5
format | A format string. See below for available placeholders. | No | "{running}"

  Available Format Keys

Key | Value
{total} | Total containers on the host.
{running} | Containers running on the host.
{stopped} | Containers stopped on the host.
{paused} | Containers paused on the host.
{images} | Total images on the host.

  Pomodoro

Creates a block which runs a pomodoro timer (https://en.wikipedia.org/wiki/Pomodoro_Technique).

  Examples

    [[block]]
    block = "pomodoro"
    length = 25
    break_length = 5
    message = "Take a break!"
    break_message = "Back to work!"
    use_nag = false

  Options

Key | Values | Required | Default
length | Timer duration in minutes. | No | 25
break_length | Break duration in minutes. | No | 5
use_nag | i3-nagbar enabled | No | false
message | i3-nagbar message when timer expires. | No | Pomodoro over! Take a break!
break_message | i3-nagbar message when break is over. | No | Break over! Time to work!

THEMES

The bar can be themed either by specifying a pre-complied theme or overriding defaults in the configuration.
We differentiate between themes and icon sets.

  Choosing your theme and icon set

To use a theme or icon set other than the default, add them to your configuration file like so:

    theme = "solarized-dark"
    icons = "awesome"

  Available themes:

•   plain (default)

•   solarized-dark

•   solarized-light

•   slick

•   modern

•   bad-wolf

•   gruvbox-light

•   gruvbox-dark

  Available icon sets:

•   none (default)

•   awesome

•   material

    Note: In order to use the material icon set, you need a patched material icons font which can be found here (https://gist.github.com/draoncc/3c20d8d4262892ccd2e227eefeafa8ef/raw/3e6e12c213fba1ec28aaa26430c3606874754c30/MaterialIcons-Regular-for-inline.ttf). Make sure to pass it in your i3 configuration bar block.

  Overriding themes and icon sets

Create a block in the configuration called theme or icons like so:

    [theme]
    name = "solarized-dark"
    [theme.overrides]
    idle_bg = "#123456"
    idle_fg = "#abcdef"
    [icons]
    name = "awesome"
    [icons.overrides]
    bat = " | | "
    bat_full = " |X| "
    bat_charging = " |^| "
    bat_discharging = " |v| "

Example configurations can be found as example_theme.toml and example_icon.toml.

  Available theme overrides

•   idle_bg

•   idle_fg

•   info_bg

•   info_fg

•   good_bg

•   good_fg

•   warning_bg

•   warning_fg

•   critical_bg

•   critical_fg

•   separator

•   separator_bg

•   separator_fg

•   alternating_tint_bg

•   alternating_tint_fg

  Available icon overrides

•   time

•   music

•   music_play

•   music_pause

•   music_next

•   music_prev

•   cogs

•   memory_mem

•   memory_swap

•   cpu

•   bat

•   bat_full

•   bat_charging

•   bat_discharging

•   update

•   toggle_off

•   toggle_on

•   volume_full

•   volume_half

•   volume_empty

•   volume_muted

•   thermometer

•   xrandr

•   net_up

•   net_down

•   net_wireless

•   net_wired

•   ping

•   backlight_empty

•   backlight_partial1

•   backlight_partial2

•   backlight_partial3

•   backlight_full

•   weather_sun

•   weather_snow

•   weather_thunder

•   weather_clouds

•   weather_rain

•   weather_default

•   uptime

•   gpu

•   mail

CONFORMING TO
The JSON output produced by this program and understood by compatible bars is described at <https://i3wm.org/docs/i3bar-protocol.html> and in swaybar-protocol(7).

SEE ALSO
i3status(1), i3bar(1), sway-bar(5), swaybar-protocol(7)