tMerge remote-tracking branch 'upstream/surf-webkit2' - surf - [fork] customize… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 98c25adc0481cc4b1712174dfd65d79f1251b4c1 | |
parent bcb5a05c9aacaf8768acd03f69665ec14e18ab1b | |
Author: Anders Damsgaard <[email protected]> | |
Date: Thu, 7 Apr 2022 11:12:15 +0200 | |
Merge remote-tracking branch 'upstream/surf-webkit2' | |
Diffstat: | |
M config.def.h | 10 ++++++---- | |
M surf.c | 8 +++++--- | |
2 files changed, 11 insertions(+), 7 deletions(-) | |
--- | |
diff --git a/config.def.h b/config.def.h | |
t@@ -67,10 +67,12 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CA… | |
/* 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 \"$p… | |
- "surf-setprop", winid, r, s, p, NULL \ | |
+ "prop=\"$(printf '%b' \"$(xprop -id $1 "r" " \ | |
+ "| sed -e 's/^"r"(UTF8_STRING) = \"\\(.*\\)\"/\\1/' " \ | |
+ " -e 's/\\\\\\(.\\)/\\1/g')\" " \ | |
+ "| dmenu -p '"p"' -w $1)\" " \ | |
+ "&& xprop -id $1 -f "s" 8u -set "s" \"$prop\"", \ | |
+ "surf-setprop", winid, NULL \ | |
} \ | |
} | |
diff --git a/surf.c b/surf.c | |
t@@ -41,7 +41,7 @@ | |
#define LENGTH(x) (sizeof(x) / sizeof(x[0])) | |
#define CLEANMASK(mask) (mask & (MODKEY|GDK_SHIFT_MASK)) | |
-enum { AtomFind, AtomGo, AtomUri, AtomLast }; | |
+enum { AtomFind, AtomGo, AtomUri, AtomUTF8, AtomLast }; | |
enum { | |
OnDoc = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT, | |
t@@ -343,6 +343,7 @@ setup(void) | |
atoms[AtomFind] = XInternAtom(dpy, "_SURF_FIND", False); | |
atoms[AtomGo] = XInternAtom(dpy, "_SURF_GO", False); | |
atoms[AtomUri] = XInternAtom(dpy, "_SURF_URI", False); | |
+ atoms[AtomUTF8] = XInternAtom(dpy, "UTF8_STRING", False); | |
gtk_init(NULL, NULL); | |
t@@ -612,7 +613,7 @@ void | |
setatom(Client *c, int a, const char *v) | |
{ | |
XChangeProperty(dpy, c->xid, | |
- atoms[a], XA_STRING, 8, PropModeReplace, | |
+ atoms[a], atoms[AtomUTF8], 8, PropModeReplace, | |
(unsigned char *)v, strlen(v) + 1); | |
XSync(dpy, False); | |
} | |
t@@ -627,7 +628,8 @@ getatom(Client *c, int a) | |
unsigned char *p = NULL; | |
XSync(dpy, False); | |
- XGetWindowProperty(dpy, c->xid, atoms[a], 0L, BUFSIZ, False, XA_STRING, | |
+ XGetWindowProperty(dpy, c->xid, | |
+ atoms[a], 0L, BUFSIZ, False, atoms[AtomUTF8], | |
&adummy, &idummy, &ldummy, &ldummy, &p); | |
if (p) | |
strncpy(buf, (char *)p, LENGTH(buf) - 1); |