From dbfb346a86c79b50bfa27c75547b42e34cb54715 Mon Sep 17 00:00:00 2001 From: aleks Date: Fri, 11 Sep 2020 17:42:50 +0200 Subject: [PATCH] Apply setstatus-6.2 Enables to set the status with dwm itself. No more xsetroot bloat! To change the status to `foo bar` execute: dwm -s "foo bar" Piping into `dwm -s` is currently not supported but you can set the status to the output of any command by doing something like: dwm -s "$(run_command_which_outputs_the_status)" For example to set the status to the current date run: dwm -s "$(date)" --- dwm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dwm.c b/dwm.c index 4465af1..b3c8f71 100644 --- a/dwm.c +++ b/dwm.c @@ -2129,12 +2129,17 @@ main(int argc, char *argv[]) { if (argc == 2 && !strcmp("-v", argv[1])) die("dwm-"VERSION); - else if (argc != 1) + else if (argc != 1 && strcmp("-s", argv[1])) die("usage: dwm [-v]"); if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) fputs("warning: no locale support\n", stderr); if (!(dpy = XOpenDisplay(NULL))) die("dwm: cannot open display"); + if (argc > 1 && !strcmp("-s", argv[1])) { + XStoreName(dpy, RootWindow(dpy, DefaultScreen(dpy)), argv[2]); + XCloseDisplay(dpy); + return 0; + } checkotherwm(); setup(); #ifdef __OpenBSD__ -- 2.28.0