From 1554354f1689c2205a809e23d29c9e21d38e0be5 Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Tue, 13 Oct 2015 13:32:09 +0200 Subject: [PATCH] Fix atom value parsing in SETPROP xprop(1) encloses the returned atom string value in double quotes while it doesn't when the value is unset. Original simple parsing would fail and parse the atom name instead of getting an empty value. Signed-off-by: Christoph Lohmann <20h@r-36.net> --- config.def.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index 1eb9566..5245129 100644 --- a/config.def.h +++ b/config.def.h @@ -37,7 +37,9 @@ static Bool allowgeolocation = TRUE; #define SETPROP(p, q) { \ .v = (char *[]){ "/bin/sh", "-c", \ - "prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | xargs -0 printf %b | dmenu`\" &&" \ + "prop=\"`xprop -id $2 $0 " \ + "| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \ + "| xargs -0 printf %b | dmenu`\" &&" \ "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \ p, q, winid, NULL \ } \