summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Sedov <alex0player@gmail.com>2013-03-21 20:49:10 +0400
committerChristoph Lohmann <20h@r-36.net>2013-03-21 18:10:35 +0100
commitf6dc8b25418e541f7d7b9c3ce63c763918a15d90 (patch)
tree9033b3fe60ac0c359a4fe6ea47cf7d56d9a30319
parent12101938d8df3da51871ed5d1da7c6144c2138cb (diff)
downloadsurf-f6dc8b25418e541f7d7b9c3ce63c763918a15d90.tar.gz
surf-f6dc8b25418e541f7d7b9c3ce63c763918a15d90.tar.bz2
surf-f6dc8b25418e541f7d7b9c3ce63c763918a15d90.zip
Fixed SETPROP() macro behaviour in config.def.h to handle escapes correctly.
xprop prints information in format PROPERTY(STRING) = "escaped string", which causes problem with repeated Ctrl-F: any non-ascii turns into \ooo\ooo, this later turns into \\ooo\\ooo, and so on. To de-escape string, printf(1) is used, getting information from xargs -0; without -0 xargs will try to handle escapes by itself and also do shenanigans with quotes, which is totally undesired. Signed-off-by: Christoph Lohmann <20h@r-36.net>
-rw-r--r--config.def.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/config.def.h b/config.def.h
index 052313c..3ddfaf8 100644
--- a/config.def.h
+++ b/config.def.h
@@ -23,7 +23,7 @@ static Bool hidebackground = FALSE;
#define SETPROP(p, q) { \
.v = (char *[]){ "/bin/sh", "-c", \
- "prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
+ "prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | xargs -0 printf | dmenu`\" &&" \
"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
p, q, winid, NULL \
} \