Update dwm center bar to redraw when on configurable setting

This commit is contained in:
Alex Selimov 2025-10-06 19:29:17 -04:00
parent 94232212fa
commit ffc3dfd6bf
Signed by: aselimov
GPG key ID: 3DDB9C3E023F1F31

12
dwm.c
View file

@ -35,6 +35,7 @@
#include <string.h> #include <string.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/wait.h> #include <sys/wait.h>
#include <time.h>
#include <unistd.h> #include <unistd.h>
#ifdef XINERAMA #ifdef XINERAMA
#include <X11/extensions/Xinerama.h> #include <X11/extensions/Xinerama.h>
@ -52,6 +53,7 @@
/* macros */ /* macros */
#define MAX_LINE_LENGTH 1024 #define MAX_LINE_LENGTH 1024
#define CENTER_UPDATE_INTERVAL 1 /* seconds between updates */
#define BUTTONMASK (ButtonPressMask | ButtonReleaseMask) #define BUTTONMASK (ButtonPressMask | ButtonReleaseMask)
#define CLEANMASK(mask) \ #define CLEANMASK(mask) \
(mask & ~(numlockmask | LockMask) & \ (mask & ~(numlockmask | LockMask) & \
@ -1609,10 +1611,18 @@ void run(void) {
XEvent ev; XEvent ev;
/* main event loop */ /* main event loop */
XSync(dpy, False); XSync(dpy, False);
int ticks = 0; time_t last_update = 0;
while (running && !XNextEvent(dpy, &ev)) { while (running && !XNextEvent(dpy, &ev)) {
if (handler[ev.type]) if (handler[ev.type])
handler[ev.type](&ev); /* call handler */ handler[ev.type](&ev); /* call handler */
// Check for timeout-based center text update
time_t now = time(NULL);
if (now - last_update >= CENTER_UPDATE_INTERVAL) {
last_update = now;
drawbars();
}
} }
} }