Compare commits

..

2 Commits

Author SHA1 Message Date
502f596c87
Clean up dwmblocks-pulse-listener.c 2023-02-23 12:07:46 -08:00
b0441e32af
Update README.md 2023-02-23 11:59:57 -08:00
3 changed files with 37 additions and 18 deletions

View File

@ -1,15 +1,26 @@
# dwmblocks # dwmblocks
Modular status bar for dwm written in c. My personal fork of dwmblocks. Original found
# usage [here](https://github.com/torrinfail/dwmblocks).
Dwmblocks is a modular status bar for dwm written in c.
## Usage
To use dwmblocks first run 'make' and then install it with 'sudo make install'. To use dwmblocks first run 'make' and then install it with 'sudo make install'.
After that you can put dwmblocks in your xinitrc or other startup script to have it start with dwm. After that you can put dwmblocks in your xinitrc or other startup script to have
# modifying blocks it start with dwm.
The statusbar is made from text output from commandline programs.
Blocks are added and removed by editing the blocks.h header file. The dwmblocks-pulse-listener program is a small daemon that takes the pid of a
By default the blocks.h header file is created the first time you run make which copies the default config from blocks.def.h. dwmblocks instance and notifies it of pulse audio volume changes.
This is so you can edit your status bar commands and they will not get overwritten in a future update.
# patches ## Modifying Blocks
Here are some patches to dwmblocks that add features that I either don't want to merge in, or that require a dwm patch to work. The status bar is made from text output from command-line programs. Blocks are
I do not maintain these but I will take pull requests to update them. added and removed by editing the blocks.h header file. By default the blocks.h
<br> header file is created the first time you run make which copies the default
<a href=https://gist.github.com/IGeraGera/e4a5583b91b3eec2e81fdceb44dea717>dwmblocks-statuscmd-b6b0be4.diff</a> config from blocks.def.h. This is so you can edit your status bar commands and
they will not get overwritten in a future update.
## Other Changes
Note that the intervals listed in blocks.h are in milliseconds (1/1000 second).
Because of this, the SECONDS() macro is provided for readability. I also
implemented some changes from Luke Smith's fork found
[here](https://github.com/LukeSmithxyz/dwmblocks).

View File

@ -7,6 +7,14 @@
#define ERROR(...) fprintf(stderr, "error: " __VA_ARGS__) #define ERROR(...) fprintf(stderr, "error: " __VA_ARGS__)
#ifdef __OpenBSD__
#define SIGMAX (SIGUSR2 - 1)
#define SIGMIN (SIGUSR1 - 1)
#else
#define SIGMAX SIGRTMAX
#define SIGMIN SIGRTMIN
#endif
typedef struct { typedef struct {
size_t pid; size_t pid;
unsigned int signum; unsigned int signum;
@ -79,15 +87,15 @@ int main(int argc, const char **argv) {
return 1; return 1;
} }
char *endptr = NULL; char *endptr = NULL;
unsigned int signum = SIGRTMIN + 1; unsigned int signum = SIGMIN + 1;
if (argc >= 3 && argv[1][0] == '-') { if (argc >= 3 && argv[1][0] == '-') {
const char *signumstr = argv[1] + 1; const char *signumstr = argv[1] + 1;
unsigned long num = strtoul(signumstr, &endptr, 10); unsigned long num = strtoul(signumstr, &endptr, 10);
if (num > (SIGRTMAX - SIGRTMIN) + 1) { if (num > SIGMAX - SIGMIN) {
ERROR("signal out of range: %lu\n", num); ERROR("signal out of range: %lu\n", num);
return 1; return 1;
} }
signum = SIGRTMIN + num; signum = SIGMIN + num;
++argv; ++argv;
} }
endptr = NULL; endptr = NULL;

View File

@ -9,8 +9,8 @@
#include<X11/Xlib.h> #include<X11/Xlib.h>
#endif #endif
#ifdef __OpenBSD__ #ifdef __OpenBSD__
#define SIGPLUS SIGUSR1+1 #define SIGPLUS (SIGUSR1 + 1)
#define SIGMINUS SIGUSR1-1 #define SIGMINUS (SIGUSR1 - 1)
#else #else
#define SIGPLUS SIGRTMIN #define SIGPLUS SIGRTMIN
#define SIGMINUS SIGRTMIN #define SIGMINUS SIGRTMIN