diff options
author | Quentin Rameau <quinq@fifth.space> | 2017-05-04 16:49:17 +0200 |
---|---|---|
committer | Quentin Rameau <quinq@fifth.space> | 2017-05-08 11:30:20 +0200 |
commit | 654d527f87e59c6c9f507402878bed62398c4e61 (patch) | |
tree | ee8edfe2fabe313c1bcfe01efbfa363f87ad847c | |
parent | d984d12de719f6a8e7f96c04ad3a53ab73a27df8 (diff) | |
download | surf-654d527f87e59c6c9f507402878bed62398c4e61.tar.gz surf-654d527f87e59c6c9f507402878bed62398c4e61.tar.bz2 surf-654d527f87e59c6c9f507402878bed62398c4e61.zip |
Simplify SETPROP macro
Get rid of xargs by using a subshell instead.
Use two replacement commands in sed because back-references in BRE are
too 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.
-rw-r--r-- | config.def.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/config.def.h b/config.def.h index 5fb79de..a8a4a7b 100644 --- a/config.def.h +++ b/config.def.h @@ -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 \ } \ } |