| 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); |