tSimplify SETPROP macro - surf - customized build of surf, the suckless webkit … | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 654d527f87e59c6c9f507402878bed62398c4e61 | |
parent d984d12de719f6a8e7f96c04ad3a53ab73a27df8 | |
Author: Quentin Rameau <[email protected]> | |
Date: Thu, 4 May 2017 16:49:17 +0200 | |
Simplify SETPROP macro | |
Get rid of xargs by using a subshell instead. | |
Use two replacement commands in sed because back-references in BRE are | |
ttoo differently implemented in different libc. | |
Rename p, q, to reflect what they're used for. | |
Reorder sh positional arguments. | |
Set $0 to a command name and shift other positional parameters to | |
clarify the "sh -c" command. | |
Diffstat: | |
M config.def.h | 12 ++++++------ | |
1 file changed, 6 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/config.def.h b/config.def.h | |
t@@ -50,13 +50,13 @@ static int winsize[] = { 800, 600 }; | |
static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE | | |
WEBKIT_FIND_OPTIONS_WRAP_AROUND; | |
-#define SETPROP(p, q) { \ | |
+/* SETPROP(readprop, setprop)*/ | |
+#define SETPROP(r, s) { \ | |
.v = (const char *[]){ "/bin/sh", "-c", \ | |
- "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 \ | |
+ "prop=\"$(printf '%b' \"$(xprop -id $1 $2 " \ | |
+ "| sed \"s/^$2(STRING) = //;s/^\\\"\\(.*\\)\\\"$/\\1/\")\" " \ | |
+ "| dmenu)\" && xprop -id $1 -f $3 8s -set $3 \"$prop\"", \ | |
+ "surf-setprop", winid, r, s, NULL \ | |
} \ | |
} | |