dwmblocks

I use polybar now
Log | Files | Refs | README | LICENSE

commit 7cb3daa077d7273d153a79b8293db750cc3e6954
parent 91c492319b9554fef0ce192552e9ce489d592ec2
Author: mrchainman <mr.chainman@0box.eu>
Date:   Mon,  2 Mar 2020 16:20:26 +0100

Merge branch 'master' into master
Diffstat:
MMakefile | 2+-
MREADME.md | 4++++
Dblocks.h | 12------------
Aconfig.h | 19+++++++++++++++++++
Mdwmblocks.c | 10+++++-----
5 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,6 +1,6 @@ output: dwmblocks.o gcc dwmblocks.o -lX11 -o dwmblocks -dwmblocks.o: dwmblocks.c blocks.h +dwmblocks.o: dwmblocks.c config.h gcc -c -lX11 dwmblocks.c clean: rm *.o *.gch dwmblocks diff --git a/README.md b/README.md @@ -3,6 +3,10 @@ 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. diff --git a/blocks.h b/blocks.h @@ -1,12 +0,0 @@ -//Modify this file to change what commands output to your statusbar, and recompile using the make command. -static const Block blocks[] = { - /*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/ - {"", "cat /tmp/recordingicon", 0, 9}, - {"📬 ", "find ~/.local/share/mail/*/INBOX/new -type f | wc -l", 0, 13}, - {"🔊 ", "amixer get Master | grep -o \"\\(\\[off\\]\\|[0-9]*%\\)\"", 0, 10}, - {"🔋 ", "sed \"s/$/%/\" /sys/class/power_supply/BAT?/capacity", 5, 12}, - {"🕗 ", "date '+%Y %b %d (%a) %I:%M%p'", 60, 0}, -}; - -//sets delimeter between status commands. NULL character ('\0') means no delimeter. -static char delim = ' '; diff --git a/config.h b/config.h @@ -0,0 +1,19 @@ +//Modify this file to change what commands output to your statusbar, and recompile using the make command. +static const Block blocks[] = { + /*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/ + /* {"", "cat /tmp/recordingicon", 0, 9}, */ + /* {"", "music", 0, 11}, */ + {"", "pacpackages", 0, 8}, + {"", "crypto", 0, 13}, + {"", "torrent", 20, 7}, + {"", "news", 0, 6}, + /* {"", "moonphase", 18000, 5}, */ + {"", "weather", 18000, 5}, + {"", "mailbox", 180, 12}, + {"", "volume", 0, 10}, + {"", "battery", 5, 0}, + {"", "clock", 60, 0}, +}; + +//sets delimeter between status commands. NULL character ('\0') means no delimeter. +static char delim = '|'; diff --git a/dwmblocks.c b/dwmblocks.c @@ -25,7 +25,7 @@ void sighandler(int signum); void termhandler(int signum); -#include "blocks.h" +#include "config.h" static Display *dpy; static int screen; @@ -69,7 +69,7 @@ void getcmds(int time) { const Block* current; for(int i = 0; i < LENGTH(blocks); i++) - { + { current = blocks + i; if ((current->interval != 0 && time % current->interval == 0) || time == -1) getcmd(current,statusbar[i]); @@ -90,7 +90,7 @@ void getsigcmds(int signal) void setupsignals() { for(int i = 0; i < LENGTH(blocks); i++) - { + { if (blocks[i].signal > 0) signal(SIGRTMIN+blocks[i].signal, sighandler); } @@ -101,7 +101,7 @@ void getstatus(char *str) { int j = 0; for(int i = 0; i < LENGTH(blocks); j+=strlen(statusbar[i++])) - { + { strcpy(str + j, statusbar[i]); } str[--j] = '\0'; @@ -157,7 +157,7 @@ void termhandler(int signum) int main(int argc, char** argv) { for(int i = 0; i < argc; i++) - { + { if (!strcmp("-d",argv[i])) delim = argv[++i][0]; }