- libwayland-client
- libwayland-cursor
- pixman
- fcft
git clone https://github.com/kolunmi/dwlb
cd dwlb
make
make install
Pass dwlb
as an argument to dwl's -s
flag. This will populate each connected output with a bar. For example:
dwl -s 'dwlb -font "monospace:size=16"'
If dwl is patched appropriately, dwlb is capable of communicating directly with dwl. When ipc is enabled with -ipc
, dwlb does not read from stdin, and clicking tags functions as you would expect. Ipc can be disabled with -no-ipc
.
Command options send instructions to existing instances of dwlb. All commands take at least one argument to specify a bar on which to operate. This may be zxdg_output_v1 name, "all" to affect all outputs, or "selected" for the current output.
The -status
and -title
commands are used to write status text. The text may contain in-line commands in the following format: ^cmd(argument)
.
In-Line Command | Description |
---|---|
^fg(HEXCOLOR) |
Sets foreground color to HEXCOLOR . |
^bg(HEXCOLOR) |
Sets background color to HEXCOLOR . |
^lm(SHELLCOMMAND) |
Begins or terminates left mouse button region with action SHELLCOMMAND . |
^mm(SHELLCOMMAND) |
Begins or terminates middle mouse button region with action SHELLCOMMAND . |
^rm(SHELLCOMMAND) |
Begins or terminates right mouse button region with action SHELLCOMMAND . |
In this example, clicking the text highlighted in red will spawn the foot terminal.
dwlb -status all 'text ^bg(ff0000)^lm(foot)text^bg()^lm() text'
A color command with no argument reverts to the default value. ^^
represents a single ^
character. Status commands can be disabled with -no-status-commands
.
If you use scaling in Wayland, you can specify buffer_scale
through config file or by passing it as an option (only integer values):
dwlb -scale 2
This will render both surface and a cursor with 2x detail. If your monitor is set to 1.25 or 1.5 scaling, setting scale to 2 will also work as compositor will downscale the buffer properly.
Run dwlb -h
for a full list of options.
To use someblocks, or any program that outputs to stdout, with dwlb, use this one-liner:
someblocks -p | while read -r line; do dwlb -status all "$line"; done