diff options
author | Quentin Rameau <quinq+hackers@fifth.space> | 2015-10-13 13:32:09 +0200 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2015-10-13 14:28:09 +0200 |
commit | 1554354f1689c2205a809e23d29c9e21d38e0be5 (patch) | |
tree | 44067896d3707af3e3cf462851d9357f99478581 /config.def.h | |
parent | Remove the pax intermediary. (diff) | |
download | surf-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>
Diffstat (limited to 'config.def.h')
-rw-r--r-- | config.def.h | 4 |
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 \ } \ |