[hackers] [PATCH] Fix atom value parsing in SETPROP

From: Quentin Rameau <quinq+hackers_AT_fifth.space>
Date: Tue, 13 Oct 2015 13:32:09 +0200

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.
---
 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
_AT_@ -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 \
 	} \
-- 
2.6.1
Received on Tue Oct 13 2015 - 13:32:09 CEST

This archive was generated by hypermail 2.3.0 : Tue Oct 13 2015 - 13:36:10 CEST