- Notifications
You must be signed in to change notification settings - Fork491
Very resourcefriendly and feature-rich replacement for i3status, written in pure Rust
License
greshake/i3status-rust
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
i3status-rs is a feature-rich and resource-friendly replacement for i3status, written in pure Rust. It provides a way to display "blocks" of system information (time, battery status, volume, etc) on bars that support thei3bar protocol.
Installi3status-rs from one of the packages below:
For Fedora/CentOS, you can install from acommunity supportedCOPR.
For NixOS, you can also useHome Manager:
programs.i3status-rust.enable = truesee available optionsNOTE: Installation via
cargois not supported.
Otherwise refer tomanual install docs.
After installingi3status-rust, edit theexample configuration to your liking.The default location is$XDG_CONFIG_HOME/i3status-rust/config.toml.
There are some optional global configuration variables, defined either at the top-level or in aTOML table.
[icons] table:
| Key | Description | Default |
|---|---|---|
icons | Theicon set that should be used. | "none" |
[icons.icons_overrides] | Refer toThemes and Icons below. | None |
[theme] table:
| Key | Description | Default |
|---|---|---|
theme | Thetheme that should be used. | "plain" |
[theme.theme_overrides] | Refer toThemes and Icons below. | None |
Global variables:
| Key | Description | Default |
|---|---|---|
icons_format | A string to customise the appearance of each icon. Can be used to edit icons' spacing or specify a font that will be applied only to icons via pango markup. For example," <span font_family='NotoSans Nerd Font'>{icon}</span> ". | " {icon} " |
invert_scrolling | Whether to invert the direction of scrolling, useful for touchpad users. | false |
error_format | A string to customise how block errors are displayed. See below for available placeholders. | "$short_error_message|X" |
error_fullscreen_format | A string to customise how block errors are displayed when clicked. See below for available placeholders. | "$full_error_message" |
Availableerror_format anderror_fullscreen_format placeholders:
| Placeholder | Value |
|---|---|
| full_error_message | The full error message |
| short_error_message | The short error message, if available |
Next, edit your bar configuration to usei3status-rust. For example:
bar { font pango:DejaVu Sans Mono, FontAwesome 12 position top status_command path/to/i3status-rs path/to/your/config.toml colors { separator #666666 background #222222 statusline #dddddd focused_workspace #0088CC #0088CC #ffffff active_workspace #333333 #333333 #ffffff inactive_workspace #333333 #333333 #888888 urgent_workspace #2f343a #900000 #ffffff }}In order to use the built-in support for the Font Awesome icon set, you will need to include it in thefont parameter, as above. Check to make sure that "FontAwesome" will correctly identify the font by usingfc-match, e.g.
$ fc-match FontAwesomefontawesome-webfont.ttf:"FontAwesome""Regular"
Note that the name of the Font Awesome font may have changed in version 5 or above.
You can usefc-list to see the names of your available Awesome Fonts.
$ fc-list| grep -i awesome/usr/share/fonts/TTF/fa-solid-900.ttf: Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid/usr/share/fonts/TTF/fa-regular-400.ttf: Font Awesome 5 Free,Font Awesome 5 Free Regular:style=RegularIn this example, you have to useFont Awesome 5 Free instead of theFontAwesome 12 in the example configuration above.You can verify the name again usingfc-match
See#130 for further discussion.
Finally, reload i3:i3 reload.
Each block has aState that defines its colors: one of "Idle", "Info", "Good", "Warning", "Critical" or "Error". The state is determined by the logic in each block, for example, the Music block state is "Info" when there is an active player.
When the state is "Error", a short error will be displayed in the block. The full message can be toggled by clicking on the block (overrides any click actions defined in the config). The block will be restarted aftererror_interval has elapsed.
i3bar has a "power savings" feature that pauses the bar via SIGSTOP when it is hidden or obscured by a fullscreen container. If this causesissues with your bar, try running i3status-rs with the--never-stop argument, which changes the signal sent by i3 from SIGSTOP to SIGCONT.
In addition to the per-blocksignal config option, i3status-rs can be signalled to force an update of all blocks by sending it the SIGUSR1 signal. It can also be restarted in place (useful for testing changes to the config file) by sending it the SIGUSR2 signal.
Runi3status-rust in a terminal to check the JSON it is outputting.
In addition, some blocks have debug logs that can be enabled like so:RUST_LOG=block=debug i3status-rs where "block" is the block name.
We welcome new contributors! Take a gander atCONTRIBUTING.md.
This project is licensed under the GPLv3. See theLICENSE file for details.
About
Very resourcefriendly and feature-rich replacement for i3status, written in pure Rust
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
