dwmblocks/README.md

69 lines
2.6 KiB
Markdown
Raw Normal View History

2020-07-03 21:04:11 +00:00
# dwmblocks
2020-07-18 14:35:48 +00:00
Modular status monitor for dwm written in C with features including
2020-07-28 09:11:55 +00:00
signaling, clickability, cursor hinting and color.
2020-07-03 21:04:11 +00:00
# Usage
2020-07-13 20:00:57 +00:00
`dwmblocks [-d <delimiter>]`
2020-07-03 21:04:11 +00:00
# Modifying blocks
2020-11-16 13:32:52 +00:00
Blocks are added and removed by editing [blocks.h](blocks.h) file. Read it for
more info.
> The provided blocks use siji font for icons.
2020-07-03 21:04:11 +00:00
2020-07-06 21:23:07 +00:00
# Colored output and Clickability
2020-07-03 21:04:11 +00:00
2020-11-30 20:47:13 +00:00
[patches](patches) folder contains two patches for dwm, one for dwm already
2020-11-16 13:32:52 +00:00
patched with systray patch and the other for vanilla dwm. One of the patches,
2020-08-17 22:34:14 +00:00
whichever appropriate, is essential for dwmblocks to function properly. It will
add support for colored text, clickability and cursor hinting when hovering on
clickable blocks (inspired by polybar).
2020-07-03 21:04:11 +00:00
2020-11-16 13:32:52 +00:00
Clickability is inspired by statuscmd patch for dwm. On clicking on text
2020-07-03 21:04:11 +00:00
corresponding to a clickable block, the program specified to handle clicks for
that block is executed with the first argument specifying which button was
2020-11-16 13:32:52 +00:00
clicked (1 for left, 2 for middle and 3 for right).
2020-07-03 21:04:11 +00:00
2020-11-16 13:32:52 +00:00
Colored output is inspired by statuscolors patch for dwm. To add colors, have
your programs for the blocks output raw characters from '\x0b' to '\x31'. '\x0b'
in status text switches active colorscheme to the first one in the colors array
in dwm and so on. See
[statuscolors patch for dwm](https://dwm.suckless.org/patches/statuscolors/)
2020-07-07 10:01:53 +00:00
for more info. Keep in mind that you have to start from '\x0b' instead of '\x01'
2020-07-03 21:04:11 +00:00
as instructed on the page.
# Signaling changes
2020-07-13 20:00:57 +00:00
To signal a specific block to update, run `sigdwmblocks <signal> [<sigval>]`.
`<sigval>` is optional and must be an integer. If provided, it is passed as the
first argument to the program specified for updating the block.
2020-07-03 21:04:11 +00:00
# xgetrootname
2020-07-06 20:28:41 +00:00
It is a tiny program to get the current root name. May prove helpful in
2020-07-03 21:04:11 +00:00
debugging.
# Installation
2020-10-01 12:34:19 +00:00
Clone the repository and run `make install clean` after getting in the project
directory. By default the program is installed in `$HOME/.local/bin`
2020-10-29 09:08:59 +00:00
(see the [GNUmakefile](GNUmakefile)). If xgetrootname is required run
2020-10-01 12:34:19 +00:00
`make xgetrootname`.
2020-07-03 21:04:11 +00:00
# Acknowledgements
Some ideas and code was taken from other projects. Credits for those go to -
* torrinfail ([original dwmblocks implementation](https://github.com/torrinfail/dwmblocks))
* Daniel Bylinka ([statuscmd patch for dwm](https://dwm.suckless.org/patches/statuscmd/))
* Jeremy Jay ([statuscolors patch for dwm](https://dwm.suckless.org/patches/statuscolors/))
2020-07-06 21:23:07 +00:00
# See also
* [dsblocks](https://github.com/ashish-yadav11/dsblocks) - A clone of this
2020-07-24 09:38:16 +00:00
project with the only difference being that C functions instead of external
programs are used to update blocks and handle clicks.