Merge branch 'master' into forkbefore
This commit is contained in:
commit
373d96844f
2 changed files with 50 additions and 19 deletions
58
README.md
58
README.md
|
@ -1,18 +1,46 @@
|
||||||
# dwmblocks
|
# dwmblocks
|
||||||
Modular status bar for dwm written in c.
|
|
||||||
# modifying blocks
|
|
||||||
The statusbar is made from text output from commandline programs.
|
|
||||||
Blocks are added and removed by editing the blocks.h header file.
|
|
||||||
# Luke's bulid
|
|
||||||
I have dwmblocks read my preexisting scripts [here in my dotfiles repo](https://github.com/LukeSmithxyz/voidrice/tree/master/.local/bin/statusbar).
|
|
||||||
So if you want my build out of the box, download those and put them in your `$PATH`.
|
|
||||||
I do this to avoid redundancy in LARBS, both i3 and dwm use the same statusbar scripts.
|
|
||||||
# signalling changes
|
|
||||||
For example, the audio module has the update signal 10 by default.
|
|
||||||
Thus, running `pkill -RTMIN+10 dwmblocks` will update it.
|
|
||||||
# clickable modules
|
|
||||||
Like i3blocks, this build allows you to build in additional actions into your scripts in response to click events.
|
|
||||||
See the above linked scripts for examples of this using the `$BLOCK_BUTTON` variable.
|
|
||||||
|
|
||||||
For this feature to work, you need the appropriate patch in dwm as well. See [here](https://dwm.suckless.org/patches/statuscmd/).
|
Modular status bar for dwm written in c.
|
||||||
|
|
||||||
|
# Modifying blocks
|
||||||
|
|
||||||
|
The statusbar is made from text output from commandline programs. Blocks are
|
||||||
|
added and removed by editing the config.h file.
|
||||||
|
|
||||||
|
# Luke's build
|
||||||
|
|
||||||
|
I have dwmblocks read my preexisting scripts
|
||||||
|
[here in my dotfiles repo](https://github.com/LukeSmithxyz/voidrice/tree/master/.local/bin/statusbar).
|
||||||
|
So if you want my build out of the box, download those and put them in your
|
||||||
|
`$PATH`. I do this to avoid redundancy in LARBS, both i3 and dwm use the same
|
||||||
|
statusbar scripts.
|
||||||
|
|
||||||
|
# Signaling changes
|
||||||
|
|
||||||
|
Most statusbars constantly rerun every script every several seconds to update.
|
||||||
|
This is an option here, but a superior choice is giving your module a signal
|
||||||
|
that you can signal to it to update on a relevant event, rather than having it
|
||||||
|
rerun idly.
|
||||||
|
|
||||||
|
For example, the audio module has the update signal 10 by default. Thus,
|
||||||
|
running `pkill -RTMIN+10 dwmblocks` will update it.
|
||||||
|
|
||||||
|
You can also run `kill -44 $(pidof dwmblocks)` which will have the same effect,
|
||||||
|
but is faster. Just add 34 to your typical signal number.
|
||||||
|
|
||||||
|
My volume module *never* updates on its own, instead I have this command run
|
||||||
|
along side my volume shortcuts in dwm to only update it when relevant.
|
||||||
|
|
||||||
|
Note that if you signal an unexpected signal to dwmblocks, it will probably
|
||||||
|
crash. So if you disable a module, remember to also disable any cronjobs or
|
||||||
|
other scripts that might signal to that module.
|
||||||
|
|
||||||
|
# Clickable modules
|
||||||
|
|
||||||
|
Like i3blocks, this build allows you to build in additional actions into your
|
||||||
|
scripts in response to click events. See the above linked scripts for examples
|
||||||
|
of this using the `$BLOCK_BUTTON` variable.
|
||||||
|
|
||||||
|
For this feature to work, you need the appropriate patch in dwm as well. See
|
||||||
|
[here](https://dwm.suckless.org/patches/statuscmd/).
|
||||||
Credit for those patches goes to Daniel Bylinka (daniel.bylinka@gmail.com).
|
Credit for those patches goes to Daniel Bylinka (daniel.bylinka@gmail.com).
|
||||||
|
|
11
config.h
11
config.h
|
@ -6,22 +6,25 @@ static const Block blocks[] = {
|
||||||
{"", "pacpackages", 0, 8},
|
{"", "pacpackages", 0, 8},
|
||||||
{"", "news", 0, 6},
|
{"", "news", 0, 6},
|
||||||
/* {"", "crypto", 0, 13}, */
|
/* {"", "crypto", 0, 13}, */
|
||||||
|
/* {"", "price bat \"Basic Attention Token\" 🦁", 0, 20}, */
|
||||||
|
/* {"", "price btc Bitcoin 💰", 0, 21}, */
|
||||||
|
/* {"", "price lbc \"LBRY Token\" 📚", 0, 22}, */
|
||||||
{"", "torrent", 20, 7},
|
{"", "torrent", 20, 7},
|
||||||
/* {"", "memory", 10, 14}, */
|
/* {"", "memory", 10, 14}, */
|
||||||
/* {"", "cpu", 10, 13}, */
|
/* {"", "cpu", 10, 18}, */
|
||||||
/* {"", "moonphase", 18000, 5}, */
|
/* {"", "moonphase", 18000, 17}, */
|
||||||
{"", "weather", 18000, 5},
|
{"", "weather", 18000, 5},
|
||||||
{"", "mailbox", 180, 12},
|
{"", "mailbox", 180, 12},
|
||||||
/* {"", "nettraf", 1, 16}, */
|
/* {"", "nettraf", 1, 16}, */
|
||||||
{"", "volume", 0, 10},
|
{"", "volume", 0, 10},
|
||||||
{"", "battery | tr \'\n\' \' \'", 5, 3},
|
{"", "battery", 5, 3},
|
||||||
{"", "clock", 60, 1},
|
{"", "clock", 60, 1},
|
||||||
{"", "internet", 5, 4},
|
{"", "internet", 5, 4},
|
||||||
{"", "help-icon", 0, 15},
|
{"", "help-icon", 0, 15},
|
||||||
};
|
};
|
||||||
|
|
||||||
//sets delimeter between status commands. NULL character ('\0') means no delimeter.
|
//sets delimeter between status commands. NULL character ('\0') means no delimeter.
|
||||||
static char delim = '|';
|
static char delim = ' ';
|
||||||
|
|
||||||
// Have dwmblocks automatically recompile and run when you edit this file in
|
// Have dwmblocks automatically recompile and run when you edit this file in
|
||||||
// vim with the following line in your vimrc/init.vim:
|
// vim with the following line in your vimrc/init.vim:
|
||||||
|
|
Loading…
Reference in a new issue