From 238d2273b50c33a1e98ad55750126f05201f911d Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Thu, 1 Jul 2021 23:40:39 +0200 Subject: Improve SETPROP xprop parsing This handles correctly quotes, backslashes, etc. --- config.def.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/config.def.h b/config.def.h index ef44721..3a417f0 100644 --- a/config.def.h +++ b/config.def.h @@ -67,10 +67,12 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE | /* SETPROP(readprop, setprop, prompt)*/ #define SETPROP(r, s, p) { \ .v = (const char *[]){ "/bin/sh", "-c", \ - "prop=\"$(printf '%b' \"$(xprop -id $1 $2 " \ - "| sed \"s/^$2(STRING) = //;s/^\\\"\\(.*\\)\\\"$/\\1/\")\" " \ - "| dmenu -p \"$4\" -w $1)\" && xprop -id $1 -f $3 8s -set $3 \"$prop\"", \ - "surf-setprop", winid, r, s, p, NULL \ + "prop=\"$(printf '%b' \"$(xprop -id $1 "r" " \ + "| sed -e 's/^"r"(STRING) = \"\\(.*\\)\"/\\1/' " \ + " -e 's/\\\\\\(.\\)/\\1/g')\" " \ + "| dmenu -p '"p"' -w $1)\" " \ + "&& xprop -id $1 -f "s" 8s -set "s" \"$prop\"", \ + "surf-setprop", winid, NULL \ } \ } -- cgit v1.2.3