2009-10-12 07:57:42 +00:00
|
|
|
|
i3status(1)
|
|
|
|
|
===========
|
2012-10-03 11:42:01 +00:00
|
|
|
|
Michael Stapelberg <michael@i3wm.org>
|
2021-11-09 07:26:49 +00:00
|
|
|
|
v2.14, November 2021
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
== NAME
|
|
|
|
|
|
2015-10-02 06:28:53 +00:00
|
|
|
|
i3status - Generates a status line for i3bar, dzen2, xmobar or lemonbar
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
== SYNOPSIS
|
|
|
|
|
|
2022-06-11 18:24:14 +00:00
|
|
|
|
i3status [-c configfile] [-h] [-v] [--run-once]
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
== OPTIONS
|
|
|
|
|
|
2022-06-11 18:24:14 +00:00
|
|
|
|
-c --config::
|
2010-09-22 22:12:48 +00:00
|
|
|
|
Specifies an alternate configuration file path. By default, i3status looks for
|
|
|
|
|
configuration files in the following order:
|
|
|
|
|
|
2016-06-15 21:13:40 +00:00
|
|
|
|
1. ~/.config/i3status/config (or $XDG_CONFIG_HOME/i3status/config if set)
|
|
|
|
|
2. /etc/xdg/i3status/config (or $XDG_CONFIG_DIRS/i3status/config if set)
|
|
|
|
|
3. ~/.i3status.conf
|
|
|
|
|
4. /etc/i3status.conf
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2022-06-11 18:24:14 +00:00
|
|
|
|
-h --help::
|
|
|
|
|
Print the verison and a minimal syntax.
|
|
|
|
|
|
|
|
|
|
-v --version::
|
|
|
|
|
Print the version and any build configuration.
|
|
|
|
|
|
|
|
|
|
--run-once::
|
|
|
|
|
Only run once instead of looping.
|
|
|
|
|
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
== DESCRIPTION
|
|
|
|
|
|
2018-02-02 19:05:46 +00:00
|
|
|
|
i3status is a small program for generating a status bar for i3bar, dzen2,
|
|
|
|
|
xmobar, lemonbar or similar programs. It is designed to be very efficient by
|
|
|
|
|
issuing a very small number of system calls, as one generally wants to update
|
|
|
|
|
such a status line every second. This ensures that even under high load, your
|
|
|
|
|
status bar is updated correctly. Also, it saves a bit of energy by not hogging
|
|
|
|
|
your CPU as much as spawning the corresponding amount of shell commands would.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
== CONFIGURATION
|
|
|
|
|
|
|
|
|
|
The basic idea of i3status is that you can specify which "modules" should
|
|
|
|
|
be used (the order directive). You can then configure each module with its
|
|
|
|
|
own section. For every module, you can specify the output format. See below
|
|
|
|
|
for a complete reference.
|
|
|
|
|
|
|
|
|
|
.Sample configuration
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
general {
|
2009-10-27 19:27:15 +00:00
|
|
|
|
output_format = "dzen2"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
colors = true
|
2009-10-27 19:27:15 +00:00
|
|
|
|
interval = 5
|
2009-10-12 07:57:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
2011-10-10 19:29:44 +00:00
|
|
|
|
order += "ipv6"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
order += "disk /"
|
|
|
|
|
order += "run_watch DHCP"
|
2013-11-12 19:51:23 +00:00
|
|
|
|
order += "run_watch VPNC"
|
|
|
|
|
order += "path_exists VPN"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
order += "wireless wlan0"
|
|
|
|
|
order += "ethernet eth0"
|
|
|
|
|
order += "battery 0"
|
|
|
|
|
order += "cpu_temperature 0"
|
2018-03-20 14:35:28 +00:00
|
|
|
|
order += "memory"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
order += "load"
|
2013-01-13 13:18:38 +00:00
|
|
|
|
order += "tztime local"
|
|
|
|
|
order += "tztime berlin"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
wireless wlan0 {
|
2010-09-22 17:59:48 +00:00
|
|
|
|
format_up = "W: (%quality at %essid, %bitrate) %ip"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
format_down = "W: down"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ethernet eth0 {
|
2011-01-05 23:09:03 +00:00
|
|
|
|
format_up = "E: %ip (%speed)"
|
|
|
|
|
format_down = "E: down"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
battery 0 {
|
2012-04-26 19:51:15 +00:00
|
|
|
|
format = "%status %percentage %remaining %emptytime"
|
2013-03-07 20:21:54 +00:00
|
|
|
|
format_down = "No battery"
|
2016-01-12 14:07:33 +00:00
|
|
|
|
status_chr = "⚡ CHR"
|
|
|
|
|
status_bat = "🔋 BAT"
|
2016-03-21 22:41:22 +00:00
|
|
|
|
status_unk = "? UNK"
|
2014-10-07 14:14:16 +00:00
|
|
|
|
status_full = "☻ FULL"
|
2011-11-26 18:50:44 +00:00
|
|
|
|
path = "/sys/class/power_supply/BAT%d/uevent"
|
2012-05-25 07:57:03 +00:00
|
|
|
|
low_threshold = 10
|
2009-10-12 07:57:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
run_watch DHCP {
|
|
|
|
|
pidfile = "/var/run/dhclient*.pid"
|
|
|
|
|
}
|
|
|
|
|
|
2013-11-12 19:51:23 +00:00
|
|
|
|
run_watch VPNC {
|
|
|
|
|
# file containing the PID of a vpnc process
|
2009-10-12 07:57:42 +00:00
|
|
|
|
pidfile = "/var/run/vpnc/pid"
|
|
|
|
|
}
|
|
|
|
|
|
2013-11-12 19:51:23 +00:00
|
|
|
|
path_exists VPN {
|
|
|
|
|
# path exists when a VPN tunnel launched by nmcli/nm-applet is active
|
|
|
|
|
path = "/proc/sys/net/ipv4/conf/tun0"
|
|
|
|
|
}
|
|
|
|
|
|
2013-01-13 13:18:38 +00:00
|
|
|
|
tztime local {
|
|
|
|
|
format = "%Y-%m-%d %H:%M:%S"
|
2018-11-15 21:27:23 +00:00
|
|
|
|
hide_if_equals_localtime = true
|
2013-01-13 13:18:38 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tztime berlin {
|
|
|
|
|
format = "%Y-%m-%d %H:%M:%S %Z"
|
|
|
|
|
timezone = "Europe/Berlin"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
load {
|
|
|
|
|
format = "%5min"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cpu_temperature 0 {
|
|
|
|
|
format = "T: %degrees °C"
|
2011-01-06 17:23:56 +00:00
|
|
|
|
path = "/sys/devices/platform/coretemp.0/temp1_input"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
2018-03-20 14:35:28 +00:00
|
|
|
|
memory {
|
|
|
|
|
format = "%used"
|
2018-04-16 16:18:50 +00:00
|
|
|
|
threshold_degraded = "10%"
|
|
|
|
|
format_degraded = "MEMORY: %free"
|
2018-03-20 14:35:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
disk "/" {
|
|
|
|
|
format = "%free"
|
|
|
|
|
}
|
2019-02-21 14:34:32 +00:00
|
|
|
|
|
|
|
|
|
read_file uptime {
|
|
|
|
|
path = "/proc/uptime"
|
|
|
|
|
}
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
=== General
|
|
|
|
|
|
2010-06-30 22:56:30 +00:00
|
|
|
|
The +colors+ directive will disable all colors if you set it to +false+. You can
|
|
|
|
|
also specify the colors that will be used to display "good", "degraded" or "bad"
|
|
|
|
|
values using the +color_good+, +color_degraded+ or +color_bad+ directives,
|
|
|
|
|
respectively. Those directives are only used if color support is not disabled by
|
|
|
|
|
the +colors+ directive. The input format for color values is the canonical RGB
|
|
|
|
|
hexadecimal triplet (with no separators between the colors), prefixed by a hash
|
|
|
|
|
character ("#").
|
|
|
|
|
|
2011-05-08 18:43:35 +00:00
|
|
|
|
*Example configuration*:
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
color_good = "#00FF00"
|
|
|
|
|
-------------------------------------------------------------
|
2010-06-30 22:56:30 +00:00
|
|
|
|
|
|
|
|
|
Likewise, you can use the +color_separator+ directive to specify the color that
|
|
|
|
|
will be used to paint the separator bar. The separator is always output in
|
2014-06-07 13:48:11 +00:00
|
|
|
|
color, even when colors are disabled by the +colors+ directive. This option has
|
|
|
|
|
no effect when +output_format+ is set to +i3bar+ or +none+.
|
2010-06-30 22:56:30 +00:00
|
|
|
|
|
|
|
|
|
The +interval+ directive specifies the time in seconds for which i3status will
|
|
|
|
|
sleep before printing the next status line.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2017-12-09 11:24:11 +00:00
|
|
|
|
Using +output_format+ you can choose which format strings i3status should
|
2009-10-27 19:27:15 +00:00
|
|
|
|
use in its output. Currently available are:
|
|
|
|
|
|
2012-04-30 11:10:13 +00:00
|
|
|
|
i3bar::
|
|
|
|
|
i3bar comes with i3 and provides a workspace bar which does the right thing in
|
|
|
|
|
multi-monitor situations. It also comes with tray support and can display the
|
|
|
|
|
i3status output. This output type uses JSON to pass as much meta-information to
|
|
|
|
|
i3bar as possible (like colors, which blocks can be shortened in which way,
|
|
|
|
|
etc.).
|
2009-10-27 19:27:15 +00:00
|
|
|
|
dzen2::
|
|
|
|
|
Dzen is a general purpose messaging, notification and menuing program for X11.
|
|
|
|
|
It was designed to be scriptable in any language and integrate well with window
|
2018-06-14 20:09:03 +00:00
|
|
|
|
managers like dwm, wmii and xmonad though it will work with any window manager
|
2009-10-27 19:27:15 +00:00
|
|
|
|
xmobar::
|
|
|
|
|
xmobar is a minimalistic, text based, status bar. It was designed to work
|
|
|
|
|
with the xmonad Window Manager.
|
2015-10-02 06:28:53 +00:00
|
|
|
|
lemonbar::
|
|
|
|
|
lemonbar is a lightweight bar based entirely on XCB. It has full UTF-8 support
|
|
|
|
|
and is EWMH compliant.
|
2013-05-16 20:49:13 +00:00
|
|
|
|
term::
|
|
|
|
|
Use ANSI Escape sequences to produce a terminal-output as close as possible to
|
|
|
|
|
the graphical outputs. This makes debugging your config file a little bit
|
|
|
|
|
easier because the terminal-output of i3status becomes much more readable, but
|
|
|
|
|
should only used for such quick glances, because it will only support very
|
|
|
|
|
basic output-features (for example you only get 3 bits of color depth).
|
2009-10-27 19:27:15 +00:00
|
|
|
|
none::
|
2014-03-01 08:55:29 +00:00
|
|
|
|
Does not use any color codes. Separates values by the pipe symbol by default.
|
|
|
|
|
This should be used with i3bar and can be used for custom scripts.
|
2009-10-27 19:27:15 +00:00
|
|
|
|
|
2020-03-29 23:11:14 +00:00
|
|
|
|
It's also possible to use the +color_good+, +color_degraded+, +color_bad+
|
|
|
|
|
directives to define specific colors per module. If one of these directives is
|
|
|
|
|
defined in a module section its value will override the value defined in the
|
|
|
|
|
general section just for this module.
|
2012-10-18 20:55:41 +00:00
|
|
|
|
|
2014-03-01 08:55:29 +00:00
|
|
|
|
If you don't fancy the vertical separators between modules i3status/i3bar
|
|
|
|
|
uses by default, you can employ the +separator+ directive to configure how
|
2017-12-09 11:24:11 +00:00
|
|
|
|
modules are separated. You can also disable the default separator altogether by
|
2014-03-01 08:55:29 +00:00
|
|
|
|
setting it to the empty string. You might then define separation as part of a
|
|
|
|
|
module's format string. This is your only option when using the i3bar output
|
|
|
|
|
format as the separator is drawn by i3bar directly otherwise. For the other
|
|
|
|
|
output formats, the provided non-empty string will be automatically enclosed
|
|
|
|
|
with the necessary coloring bits if color support is enabled.
|
|
|
|
|
|
2017-12-09 11:24:11 +00:00
|
|
|
|
i3bar supports Pango markup, allowing your format strings to specify font,
|
2015-10-05 08:10:01 +00:00
|
|
|
|
color, size, etc. by setting the +markup+ directive to "pango". Note that the
|
|
|
|
|
ampersand ("&"), less-than ("<"), greater-than (">"), single-quote ("'"), and
|
|
|
|
|
double-quote (""") characters need to be replaced with "`&`", "`<`",
|
|
|
|
|
"`>`", "`'`", and "`"`" respectively. This is done automatically
|
|
|
|
|
for generated content (e.g. wireless ESSID, time).
|
|
|
|
|
|
2014-03-01 08:55:29 +00:00
|
|
|
|
*Example configuration*:
|
2018-04-16 16:18:50 +00:00
|
|
|
|
|
2014-03-01 08:55:29 +00:00
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
general {
|
|
|
|
|
output_format = "xmobar"
|
|
|
|
|
separator = " "
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
order += "load"
|
|
|
|
|
order += "disk /"
|
|
|
|
|
|
|
|
|
|
load {
|
|
|
|
|
format = "[ load: %1min, %5min, %15min ]"
|
|
|
|
|
}
|
|
|
|
|
disk "/" {
|
|
|
|
|
format = "%avail"
|
|
|
|
|
}
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
=== IPv6
|
|
|
|
|
|
|
|
|
|
This module gets the IPv6 address used for outgoing connections (that is, the
|
|
|
|
|
best available public IPv6 address on your computer).
|
|
|
|
|
|
2010-04-05 14:13:43 +00:00
|
|
|
|
*Example format_up*: +%ip+
|
|
|
|
|
|
2014-01-05 22:36:18 +00:00
|
|
|
|
*Example format_down*: +no IPv6+
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
=== Disk
|
|
|
|
|
|
2010-06-24 23:19:09 +00:00
|
|
|
|
Gets used, free, available and total amount of bytes on the given mounted filesystem.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2020-03-29 23:29:28 +00:00
|
|
|
|
These values can also be expressed in percentages with the +percentage_used+,
|
|
|
|
|
+percentage_free+, +percentage_avail+ and +percentage_used_of_avail+ formats.
|
2012-08-31 12:16:58 +00:00
|
|
|
|
|
disk: Distinguish between IEC, SI and custom prefixes
* IEC: Ki, Mi, Gi, Ti (powers of 1024)
* SI: k, M, G, T (powers of 1000)
* custom: K, M, G, T (powers of 1024)
2013-12-05 21:12:17 +00:00
|
|
|
|
Byte sizes are presented in a human readable format using a set of prefixes
|
|
|
|
|
whose type can be specified via the "prefix_type" option. Three sets of
|
|
|
|
|
prefixes are available:
|
|
|
|
|
|
|
|
|
|
binary::
|
|
|
|
|
IEC prefixes (Ki, Mi, Gi, Ti) represent multiples of powers of 1024.
|
|
|
|
|
This is the default.
|
|
|
|
|
decimal::
|
|
|
|
|
SI prefixes (k, M, G, T) represent multiples of powers of 1000.
|
|
|
|
|
custom::
|
|
|
|
|
The custom prefixes (K, M, G, T) represent multiples of powers of 1024.
|
|
|
|
|
|
2020-03-29 23:29:28 +00:00
|
|
|
|
It is possible to define a +low_threshold+ that causes the disk text to be
|
|
|
|
|
displayed using +color_bad+. The +low_threshold+ type can be of +threshold_type+
|
2014-03-07 23:24:42 +00:00
|
|
|
|
"bytes_free", "bytes_avail", "percentage_free", or "percentage_avail", where
|
|
|
|
|
the former two can be prepended by a generic prefix (k, m, g, t) having
|
2020-03-29 23:29:28 +00:00
|
|
|
|
prefix_type. So, if you configure +low_threshold+ to 2, +threshold_type+ to
|
2014-03-07 23:24:42 +00:00
|
|
|
|
"gbytes_avail", and prefix_type to "binary", and the remaining available disk
|
2020-03-29 23:29:28 +00:00
|
|
|
|
space is below 2 GiB, it will be colored bad. If not specified, +threshold_type+
|
|
|
|
|
is assumed to be "percentage_avail" and +low_threshold+ to be set to 0, which
|
2016-11-19 14:02:10 +00:00
|
|
|
|
implies no coloring at all. You can customize the output format when below
|
2020-03-29 23:29:28 +00:00
|
|
|
|
+low_threshold+ with +format_below_threshold.+
|
2014-03-07 23:24:42 +00:00
|
|
|
|
|
2015-02-22 17:25:12 +00:00
|
|
|
|
You can define a different format with the option "format_not_mounted"
|
2016-08-16 07:29:08 +00:00
|
|
|
|
which is used if the path does not exist or is not a mount point. Defaults to "".
|
2015-02-22 17:25:12 +00:00
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
*Example order*: +disk /mnt/usbstick+
|
|
|
|
|
|
2010-06-24 23:19:09 +00:00
|
|
|
|
*Example format*: +%free (%avail)/ %total+
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2012-08-31 12:16:58 +00:00
|
|
|
|
*Example format*: +%percentage_used used, %percentage_free free, %percentage_avail avail+
|
|
|
|
|
|
disk: Distinguish between IEC, SI and custom prefixes
* IEC: Ki, Mi, Gi, Ti (powers of 1024)
* SI: k, M, G, T (powers of 1000)
* custom: K, M, G, T (powers of 1024)
2013-12-05 21:12:17 +00:00
|
|
|
|
*Example prefix_type*: +custom+
|
|
|
|
|
|
2014-03-07 23:24:42 +00:00
|
|
|
|
*Example low_threshold*: +5+
|
|
|
|
|
|
2016-11-19 14:02:10 +00:00
|
|
|
|
*Example format_below_threshold*: +Warning: %percentage_avail+
|
|
|
|
|
|
2014-03-07 23:24:42 +00:00
|
|
|
|
*Example threshold_type*: +percentage_free+
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
=== Run-watch
|
|
|
|
|
|
|
|
|
|
Expands the given path to a pidfile and checks if the process ID found inside
|
|
|
|
|
is valid (that is, if the process is running). You can use this to check if
|
|
|
|
|
a specific application, such as a VPN client or your DHCP client is running.
|
2020-03-29 23:29:28 +00:00
|
|
|
|
There also is an option +format_down+. You can hide the output with
|
2015-04-02 20:31:06 +00:00
|
|
|
|
+format_down=""+.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +run_watch DHCP+
|
|
|
|
|
|
2012-01-02 13:29:00 +00:00
|
|
|
|
*Example format*: +%title: %status+
|
2012-01-01 22:25:16 +00:00
|
|
|
|
|
2013-11-12 19:51:23 +00:00
|
|
|
|
=== Path-exists
|
|
|
|
|
|
|
|
|
|
Checks if the given path exists in the filesystem. You can use this to check if
|
|
|
|
|
something is active, like for example a VPN tunnel managed by NetworkManager.
|
2020-03-29 23:29:28 +00:00
|
|
|
|
There also is an option +format_down+. You can hide the output with
|
2015-04-02 20:31:06 +00:00
|
|
|
|
+format_down=""+.
|
2013-11-12 19:51:23 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +path_exists VPN+
|
|
|
|
|
|
|
|
|
|
*Example format*: +%title: %status+
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
=== Wireless
|
|
|
|
|
|
2014-12-01 16:30:30 +00:00
|
|
|
|
Gets the link quality, frequency and ESSID of the given wireless network
|
|
|
|
|
interface. You can specify different format strings for the network being
|
2018-06-28 20:16:37 +00:00
|
|
|
|
connected or not connected. The quality is padded with leading zeroes by
|
2020-02-10 21:33:20 +00:00
|
|
|
|
default; to pad with something else use +format_bitrate+, +format_noise+,
|
|
|
|
|
+format_quality+ or +format_signal+.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2014-12-07 14:14:02 +00:00
|
|
|
|
The special interface name `_first_` will be replaced by the first wireless
|
|
|
|
|
network interface found on the system (excluding devices starting with "lo").
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
*Example order*: +wireless wlan0+
|
|
|
|
|
|
2017-12-03 13:46:54 +00:00
|
|
|
|
*Example format_up*: +W: (%quality at %essid, %bitrate / %frequency) %ip+
|
|
|
|
|
|
|
|
|
|
*Example format_down*: +W: down+
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2020-02-10 21:33:20 +00:00
|
|
|
|
*Example format_bitrate*: +"%g %cb/s"+
|
|
|
|
|
|
|
|
|
|
*Example format_noise*: +"%03d%s"+
|
|
|
|
|
|
2018-06-28 20:16:37 +00:00
|
|
|
|
*Example format_quality*: +"%03d%s"+
|
|
|
|
|
|
2020-02-10 21:33:20 +00:00
|
|
|
|
*Example format_signal*: +"%03d%s"+
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
=== Ethernet
|
|
|
|
|
|
|
|
|
|
Gets the IP address and (if possible) the link speed of the given ethernet
|
2017-12-11 10:38:31 +00:00
|
|
|
|
interface. If no IPv4 address is available and an IPv6 address is, it will be
|
2018-06-20 16:09:41 +00:00
|
|
|
|
displayed.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2014-12-07 14:14:02 +00:00
|
|
|
|
The special interface name `_first_` will be replaced by the first non-wireless
|
|
|
|
|
network interface found on the system (excluding devices starting with "lo").
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
*Example order*: +ethernet eth0+
|
|
|
|
|
|
2017-12-03 13:46:54 +00:00
|
|
|
|
*Example format_up*: +E: %ip (%speed)+
|
|
|
|
|
|
|
|
|
|
*Example format_down*: +E: down+
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
=== Battery
|
|
|
|
|
|
2016-03-21 22:41:22 +00:00
|
|
|
|
Gets the status (charging, discharging, unknown, full), percentage, remaining
|
2012-07-09 13:13:46 +00:00
|
|
|
|
time and power consumption (in Watts) of the given battery and when it's
|
|
|
|
|
estimated to be empty. If you want to use the last full capacity instead of the
|
|
|
|
|
design capacity (when using the design capacity, it may happen that your
|
|
|
|
|
battery is at 23% when fully charged because it’s old. In general, I want to
|
|
|
|
|
see it this way, because it tells me how worn off my battery is.), just specify
|
2018-06-29 11:35:20 +00:00
|
|
|
|
+last_full_capacity = true+. You can show seconds in the remaining time and
|
|
|
|
|
empty time estimations by setting +hide_seconds = false+.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2019-11-16 15:26:26 +00:00
|
|
|
|
If you want the battery percentage to be shown in another format, use
|
|
|
|
|
+format_percentage+.
|
|
|
|
|
+integer_battery_capacity = true+ is a legacy option for
|
|
|
|
|
+format_percentage = "%.00f%s"+
|
2013-02-10 16:59:37 +00:00
|
|
|
|
|
2011-11-26 18:26:38 +00:00
|
|
|
|
If your battery is represented in a non-standard path in /sys, be sure to
|
2020-03-29 23:29:28 +00:00
|
|
|
|
modify the +path+ property accordingly, i.e. pointing to the uevent file on
|
2017-01-21 14:31:51 +00:00
|
|
|
|
your system. The first occurrence of %d gets replaced with the battery number,
|
2013-05-04 15:50:05 +00:00
|
|
|
|
but you can just hard-code a path as well.
|
2011-11-26 18:26:38 +00:00
|
|
|
|
|
2012-08-23 14:42:38 +00:00
|
|
|
|
It is possible to define a low_threshold that causes the battery text to be
|
2020-03-29 23:29:28 +00:00
|
|
|
|
colored +color_bad+. The +low_threshold+ type can be of +threshold_type+ "time"
|
|
|
|
|
or "percentage". So, if you configure +low_threshold+ to 10 and +threshold_type+
|
|
|
|
|
to "time", and your battery lasts another 9 minutes, it will be colored
|
|
|
|
|
+color_bad+.
|
2012-05-25 07:57:03 +00:00
|
|
|
|
|
2016-08-01 17:03:03 +00:00
|
|
|
|
To show an aggregate of all batteries in the system, use "all" as the number. In
|
|
|
|
|
this case (for Linux), the /sys path must contain the "%d" sequence. Otherwise,
|
|
|
|
|
the number indicates the battery index as reported in /sys.
|
|
|
|
|
|
2014-10-07 14:14:16 +00:00
|
|
|
|
Optionally custom strings including any UTF-8 symbols can be used for different
|
|
|
|
|
battery states. This makes it possible to display individual symbols
|
2016-03-21 22:41:22 +00:00
|
|
|
|
for each state (charging, discharging, unknown, full)
|
2014-10-07 14:14:16 +00:00
|
|
|
|
Of course it will also work with special iconic fonts, such as FontAwesome.
|
2016-03-21 22:41:22 +00:00
|
|
|
|
If any of these special status strings are omitted, the default (CHR, BAT, UNK,
|
|
|
|
|
FULL) is used.
|
2014-10-07 14:14:16 +00:00
|
|
|
|
|
2016-08-01 17:03:03 +00:00
|
|
|
|
*Example order (for the first battery)*: +battery 0+
|
|
|
|
|
|
|
|
|
|
*Example order (aggregate of all batteries)*: +battery all+
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2012-07-08 19:29:17 +00:00
|
|
|
|
*Example format*: +%status %remaining (%emptytime %consumption)+
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2014-01-05 22:43:02 +00:00
|
|
|
|
*Example format_down*: +No battery+
|
|
|
|
|
|
2019-11-16 15:26:26 +00:00
|
|
|
|
*Example format_percentage*: +"%.02f%s"+
|
|
|
|
|
|
2016-01-12 14:07:33 +00:00
|
|
|
|
*Example status_chr*: +⚡ CHR+
|
2014-10-07 14:14:16 +00:00
|
|
|
|
|
2016-01-12 14:07:33 +00:00
|
|
|
|
*Example status_bat*: +🔋 BAT+
|
2014-10-07 14:14:16 +00:00
|
|
|
|
|
2016-03-21 22:41:22 +00:00
|
|
|
|
*Example status_unk*: +? UNK+
|
|
|
|
|
|
2014-10-07 14:14:16 +00:00
|
|
|
|
*Example status_full*: +☻ FULL+
|
|
|
|
|
|
2012-08-23 14:42:38 +00:00
|
|
|
|
*Example low_threshold*: +30+
|
|
|
|
|
|
|
|
|
|
*Example threshold_type*: +time+
|
2012-05-22 21:14:59 +00:00
|
|
|
|
|
2016-08-01 17:03:03 +00:00
|
|
|
|
*Example path (%d replaced by title number)*: +/sys/class/power_supply/CMB%d/uevent+
|
|
|
|
|
|
|
|
|
|
*Example path (ignoring the number)*: +/sys/class/power_supply/CMB1/uevent+
|
2013-05-04 15:50:05 +00:00
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
=== CPU-Temperature
|
|
|
|
|
|
2012-10-10 07:57:32 +00:00
|
|
|
|
Gets the temperature of the given thermal zone. It is possible to
|
2020-03-29 23:29:28 +00:00
|
|
|
|
define a +max_threshold+ that will color the temperature red in case the
|
2016-11-19 14:02:10 +00:00
|
|
|
|
specified thermal zone is getting too hot. Defaults to 75 degrees C. The
|
2020-03-29 23:29:28 +00:00
|
|
|
|
output format when above +max_threshold+ can be customized with
|
|
|
|
|
+format_above_threshold+.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +cpu_temperature 0+
|
|
|
|
|
|
|
|
|
|
*Example format*: +T: %degrees °C+
|
|
|
|
|
|
2012-10-10 07:57:32 +00:00
|
|
|
|
*Example max_threshold*: +42+
|
|
|
|
|
|
2016-11-19 14:02:10 +00:00
|
|
|
|
*Example format_above_threshold*: +Warning T above threshold: %degrees °C+
|
|
|
|
|
|
2013-07-17 21:43:45 +00:00
|
|
|
|
*Example path*: +/sys/devices/platform/coretemp.0/temp1_input+
|
|
|
|
|
|
2011-05-06 11:17:26 +00:00
|
|
|
|
=== CPU Usage
|
|
|
|
|
|
2016-04-13 16:07:12 +00:00
|
|
|
|
Gets the percentual CPU usage from +/proc/stat+ (Linux) or +sysctl(3)+
|
|
|
|
|
(FreeBSD/OpenBSD).
|
|
|
|
|
|
2020-03-29 23:29:28 +00:00
|
|
|
|
It is possible to define a +max_threshold+ that will color the load
|
2020-03-29 23:11:14 +00:00
|
|
|
|
value with +color_bad+ in case the CPU average over the last interval is getting
|
2016-11-19 14:02:10 +00:00
|
|
|
|
higher than the configured threshold. Defaults to 95. The output
|
2020-03-29 23:29:28 +00:00
|
|
|
|
format when above +max_threshold+ can be customized with
|
|
|
|
|
+format_above_threshold+.
|
2016-04-13 16:07:12 +00:00
|
|
|
|
|
2020-03-29 23:29:28 +00:00
|
|
|
|
It is possible to define a +degraded_threshold+ that will color the load
|
2020-03-29 23:11:14 +00:00
|
|
|
|
value with +color_degraded+ in case the CPU average over the last interval is
|
2020-03-29 23:03:51 +00:00
|
|
|
|
getting higher than the configured threshold. Defaults to 90. The output format
|
2016-11-19 14:02:10 +00:00
|
|
|
|
when above degraded threshold can be customized with
|
2020-03-29 23:29:28 +00:00
|
|
|
|
+format_above_degraded_threshold+.
|
2011-05-06 11:17:26 +00:00
|
|
|
|
|
2017-03-26 10:54:07 +00:00
|
|
|
|
For displaying the Nth CPU usage, you can use the %cpu<N> format string,
|
|
|
|
|
starting from %cpu0. This feature is currently not supported in FreeBSD.
|
|
|
|
|
|
2011-05-06 11:17:26 +00:00
|
|
|
|
*Example order*: +cpu_usage+
|
|
|
|
|
|
2017-03-26 10:54:07 +00:00
|
|
|
|
*Example format*: +all: %usage CPU_0: %cpu0 CPU_1: %cpu1+
|
2011-05-06 11:17:26 +00:00
|
|
|
|
|
2016-07-27 17:57:50 +00:00
|
|
|
|
*Example max_threshold*: +75+
|
2016-04-13 16:07:12 +00:00
|
|
|
|
|
2016-11-19 14:02:10 +00:00
|
|
|
|
*Example format_above_threshold*: +Warning above threshold: %usage+
|
|
|
|
|
|
2016-07-27 17:57:50 +00:00
|
|
|
|
*Example degraded_threshold*: +25+
|
2016-04-13 16:07:12 +00:00
|
|
|
|
|
2016-11-19 14:02:10 +00:00
|
|
|
|
*Example format_above_degraded_threshold*: +Warning above degraded threshold: %usage+
|
|
|
|
|
|
2018-03-20 14:35:28 +00:00
|
|
|
|
=== Memory
|
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
Gets the memory usage from system on a Linux system from +/proc/meminfo+. Other
|
|
|
|
|
systems are currently not supported.
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
As format placeholders, +total+, +used+, +free+, +available+ and +shared+ are
|
|
|
|
|
available. These will print human readable values. It's also possible to prefix
|
|
|
|
|
the placeholders with +percentage_+ to get a value in percent.
|
|
|
|
|
|
|
|
|
|
It's possible to define a +threshold_degraded+ and a +threshold_critical+ to
|
2020-03-29 23:11:14 +00:00
|
|
|
|
color the status bar output in +color_degraded+ or +color_bad+, if the available
|
2020-03-29 23:03:51 +00:00
|
|
|
|
memory falls below the given threshold. Possible values of the threshold can be
|
|
|
|
|
any integer, suffixed with an iec symbol (+T+, +G+, +M+, +K+). Alternatively,
|
2021-08-23 20:41:23 +00:00
|
|
|
|
the integer can be suffixed by a percent sign, which then gets evaluated
|
2020-03-29 23:03:51 +00:00
|
|
|
|
relatively to total memory.
|
2018-04-16 16:18:50 +00:00
|
|
|
|
|
|
|
|
|
If the +format_degraded+ parameter is given and either the critical or the
|
|
|
|
|
degraded threshold applies, +format_degraded+ will get used as format string.
|
|
|
|
|
It acts equivalently to +format+.
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2019-10-26 13:32:32 +00:00
|
|
|
|
It's also possible to define the unit for the various format placeholders. As
|
|
|
|
|
+/proc/meminfo+ returns the memory in kB they will be converted to the given
|
|
|
|
|
unit. If no unit is given or the +auto+ option is used, the conversion will
|
|
|
|
|
select the maximum possible unit.
|
|
|
|
|
|
|
|
|
|
As the converted format placeholder will be a decimal number, the number of
|
|
|
|
|
decimals can be configured via the +decimals+ option. If no such option is
|
|
|
|
|
given the converted format placeholder will have one decimal.
|
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
As Linux' meminfo doesn't expose the overall memory in use, there are multiple
|
|
|
|
|
methods to distinguish the actually used memory.
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2018-05-22 00:07:28 +00:00
|
|
|
|
*Example memory_used_method*: +memavailable+ ("total memory" - "MemAvailable", matches +free+ command)
|
2018-04-16 16:18:50 +00:00
|
|
|
|
|
2018-05-22 00:07:28 +00:00
|
|
|
|
*Example memory_used_method*: +classical+ ("total memory" - "free" - "buffers" - "cache", matches gnome system monitor)
|
2018-04-16 16:18:50 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +memory+
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
*Example format*: +%free %available (%used) / %total+
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
*Example format*: +%percentage_used used, %percentage_free free, %percentage_shared shared+
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2019-10-26 13:32:32 +00:00
|
|
|
|
*Example unit*: auto, Ki, Mi, Gi, Ti
|
|
|
|
|
|
|
|
|
|
*Example decimals*: 0, 1, 2, 3
|
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
*Example threshold_degraded*: +10%+
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
*Example threshold_critical*: +5%+
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2018-04-16 16:18:50 +00:00
|
|
|
|
*Example format_degraded*: +Memory LOW: %free+
|
2018-03-20 14:35:28 +00:00
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
=== Load
|
|
|
|
|
|
|
|
|
|
Gets the system load (number of processes waiting for CPU time in the last
|
2012-12-31 17:13:36 +00:00
|
|
|
|
1, 5 and 15 minutes). It is possible to define a max_threshold that will
|
2020-03-29 23:11:14 +00:00
|
|
|
|
color the load value +color_bad+ in case the load average of the last minute is
|
2016-11-19 14:02:10 +00:00
|
|
|
|
getting higher than the configured threshold. Defaults to 5. The output
|
2020-03-29 23:29:28 +00:00
|
|
|
|
format when above +max_threshold+ can be customized with
|
|
|
|
|
+format_above_threshold+.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +load+
|
|
|
|
|
|
2011-09-05 13:08:45 +00:00
|
|
|
|
*Example format*: +%1min %5min %15min+
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
2018-10-18 21:25:37 +00:00
|
|
|
|
*Example max_threshold*: +"0.1"+
|
2012-12-31 17:13:36 +00:00
|
|
|
|
|
2016-11-19 14:02:10 +00:00
|
|
|
|
*Example format_above_threshold*: +Warning: %1min %5min %15min+
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
=== Time
|
|
|
|
|
|
2013-01-13 13:18:38 +00:00
|
|
|
|
Outputs the current time in the local timezone.
|
|
|
|
|
To use a different timezone, you can set the TZ environment variable,
|
|
|
|
|
or use the +tztime+ module.
|
|
|
|
|
See +strftime(3)+ for details on the format string.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +time+
|
|
|
|
|
|
|
|
|
|
*Example format*: +%Y-%m-%d %H:%M:%S+
|
|
|
|
|
|
2013-01-13 13:18:38 +00:00
|
|
|
|
=== TzTime
|
|
|
|
|
|
|
|
|
|
Outputs the current time in the given timezone.
|
|
|
|
|
If no timezone is given, local time will be used.
|
|
|
|
|
See +strftime(3)+ for details on the format string.
|
|
|
|
|
The system's timezone database is usually installed in +/usr/share/zoneinfo+.
|
|
|
|
|
Files below that path make for valid timezone strings, e.g. for
|
|
|
|
|
+/usr/share/zoneinfo/Europe/Berlin+ you can set timezone to +Europe/Berlin+
|
|
|
|
|
in the +tztime+ module.
|
2016-10-24 06:43:04 +00:00
|
|
|
|
To override the locale settings of your environment, set the +locale+ option.
|
2018-11-15 21:27:23 +00:00
|
|
|
|
To display time only when the set timezone has different time from localtime, set
|
|
|
|
|
+hide_if_equals_localtime+ to true.
|
2013-01-13 13:18:38 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +tztime berlin+
|
|
|
|
|
|
|
|
|
|
*Example format*: +%Y-%m-%d %H:%M:%S %Z+
|
|
|
|
|
|
|
|
|
|
*Example timezone*: +Europe/Berlin+
|
|
|
|
|
|
2016-10-24 06:43:04 +00:00
|
|
|
|
*Example locale*: +de_DE.UTF-8+
|
|
|
|
|
|
2015-10-05 08:10:01 +00:00
|
|
|
|
If you would like to use markup in this section, there is a separate
|
|
|
|
|
+format_time+ option that is automatically escaped. Its output then replaces
|
|
|
|
|
%time in the format string.
|
|
|
|
|
|
|
|
|
|
*Example configuration (markup)*:
|
|
|
|
|
-------------------------------------------------------------
|
2016-06-30 07:52:35 +00:00
|
|
|
|
tztime berlin {
|
2015-10-05 08:10:01 +00:00
|
|
|
|
format = "<span foreground='#ffffff'>time:</span> %time"
|
|
|
|
|
format_time = "%H:%M %Z"
|
2016-06-30 07:52:35 +00:00
|
|
|
|
timezone = "Europe/Berlin"
|
2018-11-15 21:27:23 +00:00
|
|
|
|
hide_if_equals_localtime = true
|
2015-10-05 08:10:01 +00:00
|
|
|
|
}
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
|
2010-06-17 23:53:27 +00:00
|
|
|
|
=== DDate
|
|
|
|
|
|
|
|
|
|
Outputs the current discordian date in user-specified format. See +ddate(1)+ for
|
|
|
|
|
details on the format string.
|
|
|
|
|
*Note*: Neither *%.* nor *%X* are implemented yet.
|
|
|
|
|
|
|
|
|
|
*Example order*: +ddate+
|
|
|
|
|
|
|
|
|
|
*Example format*: +%{%a, %b %d%}, %Y%N - %H+
|
|
|
|
|
|
2010-07-20 17:30:27 +00:00
|
|
|
|
=== Volume
|
|
|
|
|
|
2015-03-11 16:29:32 +00:00
|
|
|
|
Outputs the volume of the specified mixer on the specified device. PulseAudio
|
|
|
|
|
and ALSA (Linux only) are supported. If PulseAudio is absent, a simplified
|
|
|
|
|
configuration can be used on FreeBSD and OpenBSD due to the lack of ALSA, the
|
|
|
|
|
+device+ and +mixer+ options can be ignored on these systems. On these systems
|
|
|
|
|
the OSS API is used instead to query +/dev/mixer+ directly if +mixer_idx+ is
|
|
|
|
|
-1, otherwise +/dev/mixer++mixer_idx+.
|
|
|
|
|
|
|
|
|
|
To get PulseAudio volume information, one must use the following format in the
|
|
|
|
|
device line:
|
|
|
|
|
|
|
|
|
|
device = "pulse"
|
|
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
|
|
device = "pulse:N"
|
|
|
|
|
|
2016-09-14 07:26:45 +00:00
|
|
|
|
where N is the index or name of the PulseAudio sink. You can obtain the name of
|
|
|
|
|
the sink with the following command:
|
|
|
|
|
|
|
|
|
|
$ pacmd list-sinks | grep name:
|
|
|
|
|
name: <alsa_output.pci-0000_00_14.2.analog-stereo>
|
|
|
|
|
|
|
|
|
|
The name is what's inside the angle brackets, not including them. If no sink is
|
|
|
|
|
specified the default sink is used. If the device string is missing or is set
|
|
|
|
|
to "default", PulseAudio will be tried if detected and will fallback to ALSA
|
|
|
|
|
(Linux) or OSS (FreeBSD/OpenBSD).
|
2010-07-20 17:30:27 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: +volume master+
|
|
|
|
|
|
2019-01-23 07:45:51 +00:00
|
|
|
|
*Example format*: +♪ (%devicename): %volume+
|
2015-04-02 09:56:47 +00:00
|
|
|
|
|
2019-01-23 07:45:51 +00:00
|
|
|
|
*Example format_muted*: +♪ (%devicename): 0%%+
|
2010-07-20 17:30:27 +00:00
|
|
|
|
|
|
|
|
|
*Example configuration*:
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
volume master {
|
|
|
|
|
format = "♪: %volume"
|
2013-11-18 21:32:48 +00:00
|
|
|
|
format_muted = "♪: muted (%volume)"
|
2010-07-20 17:30:27 +00:00
|
|
|
|
device = "default"
|
|
|
|
|
mixer = "Master"
|
|
|
|
|
mixer_idx = 0
|
|
|
|
|
}
|
|
|
|
|
-------------------------------------------------------------
|
2015-03-11 16:29:32 +00:00
|
|
|
|
*Example configuration (PulseAudio)*:
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
volume master {
|
|
|
|
|
format = "♪: %volume"
|
|
|
|
|
format_muted = "♪: muted (%volume)"
|
|
|
|
|
device = "pulse:1"
|
|
|
|
|
}
|
|
|
|
|
-------------------------------------------------------------
|
2016-09-14 07:26:45 +00:00
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
volume master {
|
|
|
|
|
format = "♪: %volume"
|
|
|
|
|
format_muted = "♪: muted (%volume)"
|
|
|
|
|
device = "pulse:alsa_output.pci-0000_00_14.2.analog-stereo"
|
|
|
|
|
}
|
|
|
|
|
-------------------------------------------------------------
|
2010-07-20 17:30:27 +00:00
|
|
|
|
|
2019-02-21 14:34:32 +00:00
|
|
|
|
=== File Contents
|
|
|
|
|
|
|
|
|
|
Outputs the contents of the specified file. You can use this to check contents
|
|
|
|
|
of files on your system, for example /proc/uptime. By default the function only
|
|
|
|
|
reads the first 254 characters of the file, if you want to override this set
|
2020-03-29 23:29:28 +00:00
|
|
|
|
the +Max_characters+ option. It will never read beyond the first 4095
|
|
|
|
|
characters. If the file is not found "no file" will be printed, if the file
|
|
|
|
|
can't be read "error read" will be printed.
|
2019-02-21 14:34:32 +00:00
|
|
|
|
|
|
|
|
|
*Example order*: read_file UPTIME
|
|
|
|
|
|
|
|
|
|
*Example format*: "%title: %content"
|
|
|
|
|
|
|
|
|
|
*Example format_bad*: "%title - %errno: %error"
|
|
|
|
|
|
|
|
|
|
*Example path*: "/proc/uptime"
|
|
|
|
|
|
|
|
|
|
*Example Max_characters*: 255
|
|
|
|
|
|
2014-03-05 19:53:07 +00:00
|
|
|
|
== Universal module options
|
|
|
|
|
|
|
|
|
|
When using the i3bar output format, there are a few additional options that
|
|
|
|
|
can be used with all modules to customize their appearance:
|
|
|
|
|
|
|
|
|
|
align::
|
|
|
|
|
The alignment policy to use when the minimum width (see below) is not
|
|
|
|
|
reached. Either +center+ (default), +right+ or +left+.
|
|
|
|
|
min_width::
|
|
|
|
|
The minimum width (in pixels) the module should occupy. If the module takes
|
|
|
|
|
less space than the specified size, the block will be padded to the left
|
|
|
|
|
and/or the right side, according to the defined alignment policy. This is
|
|
|
|
|
useful when you want to prevent the whole status line from shifting when
|
|
|
|
|
values take more or less space between each iteration.
|
|
|
|
|
The option can also be a string. In this case, the width of the given text
|
|
|
|
|
determines the minimum width of the block. This is useful when you want to
|
|
|
|
|
set a sensible minimum width regardless of which font you are using, and at
|
|
|
|
|
what particular size. Please note that a number enclosed with quotes will
|
|
|
|
|
still be treated as a number.
|
2016-01-31 18:16:42 +00:00
|
|
|
|
separator::
|
|
|
|
|
A boolean value which specifies whether a separator line should be drawn
|
|
|
|
|
after this block. The default is true, meaning the separator line will be
|
|
|
|
|
drawn. Note that if you disable the separator line, there will still be a
|
2020-03-29 23:29:28 +00:00
|
|
|
|
gap after the block, unless you also use +separator_block_width+.
|
2016-01-31 18:16:42 +00:00
|
|
|
|
separator_block_width::
|
|
|
|
|
The amount of pixels to leave blank after the block. In the middle of this
|
|
|
|
|
gap, a separator symbol will be drawn unless separator is disabled. This is
|
|
|
|
|
why the specified width should leave enough space for the separator symbol.
|
2014-03-05 19:53:07 +00:00
|
|
|
|
|
|
|
|
|
*Example configuration*:
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
disk "/" {
|
|
|
|
|
format = "%avail"
|
|
|
|
|
align = "left"
|
|
|
|
|
min_width = 100
|
2016-01-31 18:16:42 +00:00
|
|
|
|
separator = false
|
|
|
|
|
separator_block_width = 1
|
2014-03-05 19:53:07 +00:00
|
|
|
|
}
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
== Using i3status with dzen2
|
|
|
|
|
|
2010-09-22 22:50:52 +00:00
|
|
|
|
After installing dzen2, you can directly use it with i3status. Just ensure that
|
2018-07-07 20:57:39 +00:00
|
|
|
|
+output_format+ is set to +dzen2+. *Note*: +min_width+ is not supported.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
*Example for usage of i3status with dzen2*:
|
|
|
|
|
--------------------------------------------------------------
|
|
|
|
|
i3status | dzen2 -fg white -ta r -w 1280 \
|
|
|
|
|
-fn "-misc-fixed-medium-r-normal--13-120-75-75-C-70-iso8859-1"
|
|
|
|
|
--------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
== Using i3status with xmobar
|
|
|
|
|
|
|
|
|
|
To get xmobar to start, you might need to copy the default configuration
|
2010-09-22 22:50:52 +00:00
|
|
|
|
file to +~/.xmobarrc+. Also, ensure that the +output_format+ option for i3status
|
2018-07-07 20:57:39 +00:00
|
|
|
|
is set to +xmobar+. *Note*: +min_width+ is not supported.
|
2009-10-12 07:57:42 +00:00
|
|
|
|
|
|
|
|
|
*Example for usage of i3status with xmobar*:
|
|
|
|
|
---------------------------------------------------------------------
|
2010-09-22 22:50:52 +00:00
|
|
|
|
i3status | xmobar -o -t "%StdinReader%" -c "[Run StdinReader]"
|
2009-10-12 07:57:42 +00:00
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
|
|
2018-06-29 22:52:59 +00:00
|
|
|
|
== What about CPU frequency?
|
2012-02-24 16:31:08 +00:00
|
|
|
|
|
2018-06-29 22:52:59 +00:00
|
|
|
|
While talking about specific things, please understand this section as a
|
2012-02-24 16:31:08 +00:00
|
|
|
|
general explanation why your favorite information is not included in i3status.
|
|
|
|
|
|
2018-06-29 22:52:59 +00:00
|
|
|
|
Let’s talk about CPU frequency specifically. Many people don’t understand how
|
2012-02-24 16:31:08 +00:00
|
|
|
|
frequency scaling works precisely. The generally recommended CPU frequency
|
|
|
|
|
governor ("ondemand") changes the CPU frequency far more often than i3status
|
|
|
|
|
could display it. The display number is therefore often incorrect and doesn’t
|
|
|
|
|
tell you anything useful either.
|
|
|
|
|
|
2012-05-02 15:26:08 +00:00
|
|
|
|
In general, i3status wants to display things which you would look at
|
|
|
|
|
occasionally anyways, like the current date/time, whether you are connected to
|
|
|
|
|
a WiFi network or not, and if you have enough disk space to fit that 4.3 GiB
|
|
|
|
|
download.
|
2012-02-24 16:31:08 +00:00
|
|
|
|
|
|
|
|
|
However, if you need to look at some kind of information more than once in a
|
2018-06-29 22:52:59 +00:00
|
|
|
|
while, you are probably better off with a script doing that, which pops up.
|
|
|
|
|
After all, the point of computers is not to burden you with additional boring
|
|
|
|
|
tasks like repeatedly checking a number.
|
2012-02-24 16:31:08 +00:00
|
|
|
|
|
2011-08-25 20:52:50 +00:00
|
|
|
|
== External scripts/programs with i3status
|
|
|
|
|
|
|
|
|
|
In i3status, we don’t want to implement process management again. Therefore,
|
|
|
|
|
there is no module to run arbitrary scripts or commands. Instead, you should
|
|
|
|
|
use your shell, for example like this:
|
|
|
|
|
|
|
|
|
|
*Example for prepending the i3status output*:
|
|
|
|
|
--------------------------------------------------------------
|
2011-10-30 13:28:36 +00:00
|
|
|
|
#!/bin/sh
|
|
|
|
|
# shell script to prepend i3status with more stuff
|
|
|
|
|
|
2011-08-25 20:55:01 +00:00
|
|
|
|
i3status | while :
|
2011-08-25 20:52:50 +00:00
|
|
|
|
do
|
|
|
|
|
read line
|
2012-03-16 12:02:29 +00:00
|
|
|
|
echo "mystuff | $line" || exit 1
|
2011-10-30 13:28:36 +00:00
|
|
|
|
done
|
2011-08-25 20:52:50 +00:00
|
|
|
|
--------------------------------------------------------------
|
|
|
|
|
|
2011-10-30 13:28:36 +00:00
|
|
|
|
Put that in some script, say +.bin/my_i3status.sh+ and execute that instead of i3status.
|
|
|
|
|
|
2012-10-03 11:42:01 +00:00
|
|
|
|
Note that if you want to use the JSON output format (with colors in i3bar), you
|
|
|
|
|
need to use a slightly more complex wrapper script. There are examples in the
|
2017-01-21 14:15:01 +00:00
|
|
|
|
contrib/ folder, see https://github.com/i3/i3status/tree/master/contrib
|
2012-10-03 11:42:01 +00:00
|
|
|
|
|
2012-12-05 16:47:29 +00:00
|
|
|
|
== SIGNALS
|
|
|
|
|
|
|
|
|
|
When receiving +SIGUSR1+, i3status’s nanosleep() will be interrupted and thus
|
|
|
|
|
you will force an update. You can use killall -USR1 i3status to force an update
|
|
|
|
|
after changing the system volume, for example.
|
|
|
|
|
|
2009-10-12 07:57:42 +00:00
|
|
|
|
== SEE ALSO
|
|
|
|
|
|
|
|
|
|
+strftime(3)+, +date(1)+, +glob(3)+, +dzen2(1)+, +xmobar(1)+
|
|
|
|
|
|
|
|
|
|
== AUTHORS
|
|
|
|
|
|
|
|
|
|
Michael Stapelberg and contributors
|
|
|
|
|
|
|
|
|
|
Thorsten Toepper
|
|
|
|
|
|
|
|
|
|
Baptiste Daroussin
|
2011-07-19 13:28:28 +00:00
|
|
|
|
|
|
|
|
|
Axel Wagner
|
|
|
|
|
|
|
|
|
|
Fernando Tarlá Cardoso Lemos
|