summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Rameau <quinq+hackers@fifth.space>2015-10-13 13:32:09 +0200
committerChristoph Lohmann <20h@r-36.net>2015-10-13 14:28:09 +0200
commit1554354f1689c2205a809e23d29c9e21d38e0be5 (patch)
tree44067896d3707af3e3cf462851d9357f99478581
parent3c2acda0b745ffd887a99f8f32b64064665fa553 (diff)
downloadsurf-1554354f1689c2205a809e23d29c9e21d38e0be5.tar.gz
surf-1554354f1689c2205a809e23d29c9e21d38e0be5.tar.bz2
surf-1554354f1689c2205a809e23d29c9e21d38e0be5.zip
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>
-rw-r--r--config.def.h4
1 files changed, 3 insertions, 1 deletions
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 \
} \