Usage | Installation | Blocks
Simple, modular bar generator
Designed to be used with lemonbar
many more blocks to come... (contributions are very welcome)
Bars can easily be generated using a shell script. The script must have the
genbar command and the commands under block in its path. Alternatively, the
$TENDERBLOCKS
variable can be set to the blocks directory for genbar to
prepend to the path.
Next, the string for lemonbar
is piped into genbar
, where each
command to be run is delimited by <<
and >>
, which can be changed.
Finally, the output of genbar
is piped into lemonbar
. Each step can
be seen in the example script below. lemonbar
's output can also be
piped to sh for buttons.
#!/bin/sh
# Optional env variable used by genbar to prepend to the path
export TENDERBLOCKS="path/to/bartender/block"
# Between brackets the string to be piped is generated
# This allows us to break down the string into readable segments
# -n is used to not have a newline. Any command can be used, such as printf
# Make sure genbar is in the PATH
{
# Center
echo -n "%{c}"
echo -n "<<clock +%H:%M>>"
} | genbar | lemonbar | sh
Bartender can simply be installed by cloning the repo and adding the root
directory to PATH. For the blocks, any script can be used. genbar
allows the
usage of a $TENDERBLOCKS
variable, which is prepended to the PATH. This can
be used to point to the block
directory.
$ git clone https://github.com/Snowlabs/bartender ~/.local/share/Bartender
$ mkdir -p ~/bin
$ ln -sT ~/.local/share/Bartender/genbar ~/bin/genbar
$ chmod +x ~/bin/genbar
# make sure bin ~/bin is in your PATH
export TENDERBLOCKS="~/.local/share/bartender/block"
We recommend using zplug for an easy installation: (Don't forget to set the path to the tender blocks!)
export TENDERBLOCKS="<ZPLUG_HOME>/repos/Snowlabs/bartender/block"
zplug "Snowlabs/bartender", use:"genbar", as:command
<zplug_home>
is ~/.zplug
by default
π£: Event-based
β: Not event-based
Prints the current time. Uses the same format as the date
command.
Option | Description | Default |
---|---|---|
-n |
Update interval for the clock | 5 |
Format used by the date command |
Option | Description | Default |
---|---|---|
-n |
Update inverval | 300 |
-H |
Make output human readable | false |
-t |
Type of info to output: size, used available, used% | percent |
-f |
Floating point precision for human-readable output | 2 |
Mountpoint of the partition | / |
Print info about the specified partition. Can print the disk size, used space, available space and the used percentage.
For i3wm, print the focused window.
Event-based
Deps: python3
PyPI modules: i3ipc
Option | Description | Default |
---|---|---|
-m |
Which monitor to show workspaces from | All |
-c |
Add lemonbar formatted scroll actions | |
-S |
Strip workspace numbers | |
-B |
Add lemonbar formatted numbers for changing workspace | |
-s |
Separator | |
-f |
Prefix and suffix for unfocused workspace | |
-F |
Prefix and suffix for focused workspace | |
-u |
Prefix and suffix for urgent workspace |
Print the workspaces under i3wm.
Event-based
Deps: python3
PyPI modules: i3ipc
Default button arguments use fontawesome.
Option | Description | Default |
---|---|---|
-f |
Specify the format of the output | |
-s |
Used with -f . Specify the spacer string |
|
-p |
String for the previous button | |
-n |
String for the next button | |
-P |
String for the play button | |
-S |
String for the payse button |
Print information about music, using various backends. Current supports only
mpd
-based servers through mpc
.
Event-based with mpc
Optional deps: mpc
Option | Description | Default |
---|---|---|
-j |
Use the jamyxer backend | |
-c |
Audio channel to use | |
-s |
Add lemonbar scroll buttons to change volume | |
-i |
Interval for changing volume (step) |
Print volume information, for various backends. Currently supports: ALSA, jamyxer
Event-based with the jamyxer backend
Optional deps: alsa-utils
or jmctl
(from jamyxer)