Style update for indentation
This commit is contained in:
parent
954a718197
commit
11fa5a7a4d
42
config.def.h
42
config.def.h
|
@ -10,7 +10,7 @@ static Bool showindicators = TRUE; /* Show indicators in window title */
|
||||||
static Bool runinfullscreen = FALSE; /* Run in fullscreen mode by default */
|
static Bool runinfullscreen = FALSE; /* Run in fullscreen mode by default */
|
||||||
|
|
||||||
static guint defaultfontsize = 12; /* Default font size */
|
static guint defaultfontsize = 12; /* Default font size */
|
||||||
static gfloat zoomlevel = 1.0; /* Default zoom level */
|
static gfloat zoomlevel = 1.0; /* Default zoom level */
|
||||||
|
|
||||||
/* Soup default features */
|
/* Soup default features */
|
||||||
static char *cookiefile = "~/.surf/cookies.txt";
|
static char *cookiefile = "~/.surf/cookies.txt";
|
||||||
|
@ -36,23 +36,23 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
|
||||||
WEBKIT_FIND_OPTIONS_WRAP_AROUND;
|
WEBKIT_FIND_OPTIONS_WRAP_AROUND;
|
||||||
|
|
||||||
#define SETPROP(p, q) { \
|
#define SETPROP(p, q) { \
|
||||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||||
"prop=\"`xprop -id $2 $0 " \
|
"prop=\"`xprop -id $2 $0 " \
|
||||||
"| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \
|
"| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \
|
||||||
"| xargs -0 printf %b | dmenu`\" &&" \
|
"| xargs -0 printf %b | dmenu`\" &&" \
|
||||||
"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
|
"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
|
||||||
p, q, winid, NULL \
|
p, q, winid, NULL \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DOWNLOAD(URI, referer) */
|
/* DOWNLOAD(URI, referer) */
|
||||||
#define DOWNLOAD(d, r) { \
|
#define DOWNLOAD(d, r) { \
|
||||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||||
"st -e /bin/sh -c \"curl -L -J -O --user-agent '$1'" \
|
"st -e /bin/sh -c \"curl -L -J -O --user-agent '$1'" \
|
||||||
" --referer '$2' -b $3 -c $3 '$0';" \
|
" --referer '$2' -b $3 -c $3 '$0';" \
|
||||||
" sleep 5;\"", \
|
" sleep 5;\"", \
|
||||||
d, useragent, r, cookiefile, NULL \
|
d, useragent, r, cookiefile, NULL \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* PLUMB(URI) */
|
/* PLUMB(URI) */
|
||||||
|
@ -60,16 +60,16 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
|
||||||
* "http://" or "https://" should be opened.
|
* "http://" or "https://" should be opened.
|
||||||
*/
|
*/
|
||||||
#define PLUMB(u) {\
|
#define PLUMB(u) {\
|
||||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||||
"xdg-open \"$0\"", u, NULL \
|
"xdg-open \"$0\"", u, NULL \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* VIDEOPLAY(URI) */
|
/* VIDEOPLAY(URI) */
|
||||||
#define VIDEOPLAY(u) {\
|
#define VIDEOPLAY(u) {\
|
||||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||||
"mpv --really-quiet \"$0\"", u, NULL \
|
"mpv --really-quiet \"$0\"", u, NULL \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* styles */
|
/* styles */
|
||||||
|
@ -90,7 +90,7 @@ static SiteStyle styles[] = {
|
||||||
* edit the CLEANMASK() macro.
|
* edit the CLEANMASK() macro.
|
||||||
*/
|
*/
|
||||||
static Key keys[] = {
|
static Key keys[] = {
|
||||||
/* modifier keyval function arg */
|
/* modifier keyval function arg */
|
||||||
{ MODKEY, GDK_KEY_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") },
|
{ MODKEY, GDK_KEY_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") },
|
||||||
{ MODKEY, GDK_KEY_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
{ MODKEY, GDK_KEY_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
||||||
{ MODKEY, GDK_KEY_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
{ MODKEY, GDK_KEY_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
||||||
|
|
297
surf.c
297
surf.c
|
@ -122,7 +122,7 @@ static void runscript(Client *c);
|
||||||
static void evalscript(Client *c, const char *jsstr, ...);
|
static void evalscript(Client *c, const char *jsstr, ...);
|
||||||
static void updatewinid(Client *c);
|
static void updatewinid(Client *c);
|
||||||
static void handleplumb(Client *c, const gchar *uri);
|
static void handleplumb(Client *c, const gchar *uri);
|
||||||
static void newwindow(Client *c, const Arg *arg, gboolean noembed);
|
static void newwindow(Client *c, const Arg *a, gboolean noembed);
|
||||||
static void spawn(Client *c, const Arg *a);
|
static void spawn(Client *c, const Arg *a);
|
||||||
static void destroyclient(Client *c);
|
static void destroyclient(Client *c);
|
||||||
static void cleanup(void);
|
static void cleanup(void);
|
||||||
|
@ -130,7 +130,7 @@ static void cleanup(void);
|
||||||
/* GTK/WebKit */
|
/* GTK/WebKit */
|
||||||
static WebKitWebView *newview(Client *c, WebKitWebView *rv);
|
static WebKitWebView *newview(Client *c, WebKitWebView *rv);
|
||||||
static GtkWidget *createview(WebKitWebView *v, WebKitNavigationAction *a,
|
static GtkWidget *createview(WebKitWebView *v, WebKitNavigationAction *a,
|
||||||
Client *c);
|
Client *c);
|
||||||
static gboolean buttonreleased(GtkWidget *w, GdkEventKey *e, Client *c);
|
static gboolean buttonreleased(GtkWidget *w, GdkEventKey *e, Client *c);
|
||||||
static gboolean keypress(GtkAccelGroup *group, GObject *obj, guint key,
|
static gboolean keypress(GtkAccelGroup *group, GObject *obj, guint key,
|
||||||
GdkModifierType mods, Client *c);
|
GdkModifierType mods, Client *c);
|
||||||
|
@ -143,16 +143,16 @@ static void loadchanged(WebKitWebView *v, WebKitLoadEvent e, Client *c);
|
||||||
static void progresschanged(WebKitWebView *v, GParamSpec *ps, Client *c);
|
static void progresschanged(WebKitWebView *v, GParamSpec *ps, Client *c);
|
||||||
static void titlechanged(WebKitWebView *view, GParamSpec *ps, Client *c);
|
static void titlechanged(WebKitWebView *view, GParamSpec *ps, Client *c);
|
||||||
static void mousetargetchanged(WebKitWebView *v, WebKitHitTestResult *h,
|
static void mousetargetchanged(WebKitWebView *v, WebKitHitTestResult *h,
|
||||||
guint modifiers, Client *c);
|
guint modifiers, Client *c);
|
||||||
static gboolean permissionrequested(WebKitWebView *v,
|
static gboolean permissionrequested(WebKitWebView *v,
|
||||||
WebKitPermissionRequest *r, Client *c);
|
WebKitPermissionRequest *r, Client *c);
|
||||||
static gboolean decidepolicy(WebKitWebView *v, WebKitPolicyDecision *d,
|
static gboolean decidepolicy(WebKitWebView *v, WebKitPolicyDecision *d,
|
||||||
WebKitPolicyDecisionType dt, Client *c);
|
WebKitPolicyDecisionType dt, Client *c);
|
||||||
static void decidenavigation(WebKitPolicyDecision *d, Client *c);
|
static void decidenavigation(WebKitPolicyDecision *d, Client *c);
|
||||||
static void decidenewwindow(WebKitPolicyDecision *d, Client *c);
|
static void decidenewwindow(WebKitPolicyDecision *d, Client *c);
|
||||||
static void decideresource(WebKitPolicyDecision *d, Client *c);
|
static void decideresource(WebKitPolicyDecision *d, Client *c);
|
||||||
static void downloadstarted(WebKitWebContext *wc, WebKitDownload *d,
|
static void downloadstarted(WebKitWebContext *wc, WebKitDownload *d,
|
||||||
Client *c);
|
Client *c);
|
||||||
static void responsereceived(WebKitDownload *d, GParamSpec *ps, Client *c);
|
static void responsereceived(WebKitDownload *d, GParamSpec *ps, Client *c);
|
||||||
static void download(Client *c, WebKitURIResponse *r);
|
static void download(Client *c, WebKitURIResponse *r);
|
||||||
static void closeview(WebKitWebView *v, Client *c);
|
static void closeview(WebKitWebView *v, Client *c);
|
||||||
|
@ -160,18 +160,18 @@ static void destroywin(GtkWidget* w, Client *c);
|
||||||
|
|
||||||
/* Hotkeys */
|
/* Hotkeys */
|
||||||
static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d);
|
static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d);
|
||||||
static void reload(Client *c, const Arg *arg);
|
static void reload(Client *c, const Arg *a);
|
||||||
static void print(Client *c, const Arg *a);
|
static void print(Client *c, const Arg *a);
|
||||||
static void clipboard(Client *c, const Arg *a);
|
static void clipboard(Client *c, const Arg *a);
|
||||||
static void zoom(Client *c, const Arg *a);
|
static void zoom(Client *c, const Arg *a);
|
||||||
static void scroll_v(Client *c, const Arg *a);
|
static void scroll_v(Client *c, const Arg *a);
|
||||||
static void scroll_h(Client *c, const Arg *a);
|
static void scroll_h(Client *c, const Arg *a);
|
||||||
static void navigate(Client *c, const Arg *a);
|
static void navigate(Client *c, const Arg *a);
|
||||||
static void stop(Client *c, const Arg *arg);
|
static void stop(Client *c, const Arg *a);
|
||||||
static void toggle(Client *c, const Arg *a);
|
static void toggle(Client *c, const Arg *a);
|
||||||
static void togglefullscreen(Client *c, const Arg *a);
|
static void togglefullscreen(Client *c, const Arg *a);
|
||||||
static void togglecookiepolicy(Client *c, const Arg *arg);
|
static void togglecookiepolicy(Client *c, const Arg *a);
|
||||||
static void togglestyle(Client *c, const Arg *arg);
|
static void togglestyle(Client *c, const Arg *a);
|
||||||
static void toggleinspector(Client *c, const Arg *a);
|
static void toggleinspector(Client *c, const Arg *a);
|
||||||
static void find(Client *c, const Arg *a);
|
static void find(Client *c, const Arg *a);
|
||||||
|
|
||||||
|
@ -236,9 +236,9 @@ setup(void)
|
||||||
scriptfile = buildfile(scriptfile);
|
scriptfile = buildfile(scriptfile);
|
||||||
cachedir = buildpath(cachedir);
|
cachedir = buildpath(cachedir);
|
||||||
|
|
||||||
if (stylefile == NULL) {
|
if (!stylefile) {
|
||||||
styledir = buildpath(styledir);
|
styledir = buildpath(styledir);
|
||||||
for (i = 0; i < LENGTH(styles); i++) {
|
for (i = 0; i < LENGTH(styles); ++i) {
|
||||||
if (regcomp(&(styles[i].re), styles[i].regex,
|
if (regcomp(&(styles[i].re), styles[i].regex,
|
||||||
REG_EXTENDED)) {
|
REG_EXTENDED)) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
|
@ -247,7 +247,7 @@ setup(void)
|
||||||
styles[i].regex = NULL;
|
styles[i].regex = NULL;
|
||||||
}
|
}
|
||||||
styles[i].style = g_strconcat(styledir, "/",
|
styles[i].style = g_strconcat(styledir, "/",
|
||||||
styles[i].style, NULL);
|
styles[i].style, NULL);
|
||||||
}
|
}
|
||||||
g_free(styledir);
|
g_free(styledir);
|
||||||
} else {
|
} else {
|
||||||
|
@ -365,7 +365,7 @@ loaduri(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
char *url, *path;
|
char *url, *path;
|
||||||
const char *uri = (char *)a->v;
|
const char *uri = a->v;
|
||||||
|
|
||||||
if (g_strcmp0(uri, "") == 0)
|
if (g_strcmp0(uri, "") == 0)
|
||||||
return;
|
return;
|
||||||
|
@ -420,11 +420,10 @@ getatom(Client *c, int a)
|
||||||
unsigned long ldummy;
|
unsigned long ldummy;
|
||||||
unsigned char *p = NULL;
|
unsigned char *p = NULL;
|
||||||
|
|
||||||
XGetWindowProperty(dpy, c->xid,
|
XGetWindowProperty(dpy, c->xid, atoms[a], 0L, BUFSIZ, False, XA_STRING,
|
||||||
atoms[a], 0L, BUFSIZ, False, XA_STRING,
|
&adummy, &idummy, &ldummy, &ldummy, &p);
|
||||||
&adummy, &idummy, &ldummy, &ldummy, &p);
|
|
||||||
if (p)
|
if (p)
|
||||||
strncpy(buf, (char *)p, LENGTH(buf)-1);
|
strncpy(buf, (char *)p, LENGTH(buf) - 1);
|
||||||
else
|
else
|
||||||
buf[0] = '\0';
|
buf[0] = '\0';
|
||||||
XFree(p);
|
XFree(p);
|
||||||
|
@ -443,19 +442,19 @@ updatetitle(Client *c)
|
||||||
|
|
||||||
if (c->progress != 100) {
|
if (c->progress != 100) {
|
||||||
title = g_strdup_printf("[%i%%] %s:%s | %s",
|
title = g_strdup_printf("[%i%%] %s:%s | %s",
|
||||||
c->progress, togglestats, pagestats,
|
c->progress, togglestats, pagestats,
|
||||||
c->targeturi ? c->targeturi : c->title);
|
c->targeturi ? c->targeturi : c->title);
|
||||||
} else {
|
} else {
|
||||||
title = g_strdup_printf("%s:%s | %s",
|
title = g_strdup_printf("%s:%s | %s",
|
||||||
togglestats, pagestats,
|
togglestats, pagestats,
|
||||||
c->targeturi ? c->targeturi : c->title);
|
c->targeturi ? c->targeturi : c->title);
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_window_set_title(GTK_WINDOW(c->win), title);
|
gtk_window_set_title(GTK_WINDOW(c->win), title);
|
||||||
g_free(title);
|
g_free(title);
|
||||||
} else {
|
} else {
|
||||||
gtk_window_set_title(GTK_WINDOW(c->win), c->title ?
|
gtk_window_set_title(GTK_WINDOW(c->win), c->title ?
|
||||||
c->title : "");
|
c->title : "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,13 +462,13 @@ void
|
||||||
gettogglestats(Client *c)
|
gettogglestats(Client *c)
|
||||||
{
|
{
|
||||||
togglestats[0] = cookiepolicy_set(cookiepolicy_get());
|
togglestats[0] = cookiepolicy_set(cookiepolicy_get());
|
||||||
togglestats[1] = enablecaretbrowsing ? 'C' : 'c';
|
togglestats[1] = enablecaretbrowsing ? 'C' : 'c';
|
||||||
togglestats[2] = allowgeolocation ? 'G' : 'g';
|
togglestats[2] = allowgeolocation ? 'G' : 'g';
|
||||||
togglestats[3] = enablecache ? 'D' : 'd';
|
togglestats[3] = enablecache ? 'D' : 'd';
|
||||||
togglestats[4] = loadimages ? 'I' : 'i';
|
togglestats[4] = loadimages ? 'I' : 'i';
|
||||||
togglestats[5] = enablescripts ? 'S': 's';
|
togglestats[5] = enablescripts ? 'S' : 's';
|
||||||
togglestats[6] = enableplugins ? 'V' : 'v';
|
togglestats[6] = enableplugins ? 'V' : 'v';
|
||||||
togglestats[7] = enablestyle ? 'M' : 'm';
|
togglestats[7] = enablestyle ? 'M' : 'm';
|
||||||
togglestats[8] = enableframeflattening ? 'F' : 'f';
|
togglestats[8] = enableframeflattening ? 'F' : 'f';
|
||||||
togglestats[9] = '\0';
|
togglestats[9] = '\0';
|
||||||
}
|
}
|
||||||
|
@ -478,7 +477,7 @@ void
|
||||||
getpagestats(Client *c)
|
getpagestats(Client *c)
|
||||||
{
|
{
|
||||||
pagestats[0] = c->tlsflags > G_TLS_CERTIFICATE_VALIDATE_ALL ? '-' :
|
pagestats[0] = c->tlsflags > G_TLS_CERTIFICATE_VALIDATE_ALL ? '-' :
|
||||||
c->tlsflags > 0 ? 'U' : 'T';
|
c->tlsflags > 0 ? 'U' : 'T';
|
||||||
pagestats[1] = '\0';
|
pagestats[1] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -499,9 +498,9 @@ cookiepolicy_get(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
char
|
char
|
||||||
cookiepolicy_set(const WebKitCookieAcceptPolicy ep)
|
cookiepolicy_set(const WebKitCookieAcceptPolicy p)
|
||||||
{
|
{
|
||||||
switch (ep) {
|
switch (p) {
|
||||||
case WEBKIT_COOKIE_POLICY_ACCEPT_NEVER:
|
case WEBKIT_COOKIE_POLICY_ACCEPT_NEVER:
|
||||||
return 'a';
|
return 'a';
|
||||||
case WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY:
|
case WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY:
|
||||||
|
@ -519,12 +518,12 @@ getstyle(const char *uri)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (stylefile != NULL)
|
if (stylefile)
|
||||||
return stylefile;
|
return stylefile;
|
||||||
|
|
||||||
for (i = 0; i < LENGTH(styles); i++) {
|
for (i = 0; i < LENGTH(styles); ++i) {
|
||||||
if (styles[i].regex && !regexec(&(styles[i].re), uri, 0,
|
if (styles[i].regex &&
|
||||||
NULL, 0))
|
!regexec(&(styles[i].re), uri, 0, NULL, 0))
|
||||||
return styles[i].style;
|
return styles[i].style;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -585,10 +584,8 @@ updatewinid(Client *c)
|
||||||
void
|
void
|
||||||
handleplumb(Client *c, const gchar *uri)
|
handleplumb(Client *c, const gchar *uri)
|
||||||
{
|
{
|
||||||
Arg arg;
|
Arg a = (Arg)PLUMB(uri);
|
||||||
|
spawn(c, &a);
|
||||||
arg = (Arg)PLUMB(uri);
|
|
||||||
spawn(c, &arg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -645,14 +642,14 @@ newwindow(Client *c, const Arg *a, int noembed)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
spawn(Client *c, const Arg *arg)
|
spawn(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
if (fork() == 0) {
|
if (fork() == 0) {
|
||||||
if (dpy)
|
if (dpy)
|
||||||
close(ConnectionNumber(dpy));
|
close(ConnectionNumber(dpy));
|
||||||
setsid();
|
setsid();
|
||||||
execvp(((char **)arg->v)[0], (char **)arg->v);
|
execvp(((char **)a->v)[0], (char **)a->v);
|
||||||
fprintf(stderr, "surf: execvp %s", ((char **)arg->v)[0]);
|
fprintf(stderr, "surf: execvp %s", ((char **)a->v)[0]);
|
||||||
perror(" failed");
|
perror(" failed");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
@ -702,19 +699,19 @@ newview(Client *c, WebKitWebView *rv)
|
||||||
webkit_web_view_new_with_related_view(rv));
|
webkit_web_view_new_with_related_view(rv));
|
||||||
} else {
|
} else {
|
||||||
settings = webkit_settings_new_with_settings(
|
settings = webkit_settings_new_with_settings(
|
||||||
"auto-load-images", loadimages,
|
"auto-load-images", loadimages,
|
||||||
"default-font-size", defaultfontsize,
|
"default-font-size", defaultfontsize,
|
||||||
"enable-caret-browsing", enablecaretbrowsing,
|
"enable-caret-browsing", enablecaretbrowsing,
|
||||||
"enable-developer-extras", enableinspector,
|
"enable-developer-extras", enableinspector,
|
||||||
"enable-dns-prefetching", enablednsprefetching,
|
"enable-dns-prefetching", enablednsprefetching,
|
||||||
"enable-frame-flattening", enableframeflattening,
|
"enable-frame-flattening", enableframeflattening,
|
||||||
"enable-html5-database", enablecache,
|
"enable-html5-database", enablecache,
|
||||||
"enable-html5-local-storage", enablecache,
|
"enable-html5-local-storage", enablecache,
|
||||||
"enable-javascript", enablescripts,
|
"enable-javascript", enablescripts,
|
||||||
"enable-plugins", enableplugins,
|
"enable-plugins", enableplugins,
|
||||||
NULL);
|
NULL);
|
||||||
/* Have a look at http://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html
|
/* For mor interesting settings, have a look at
|
||||||
* for more interesting settings */
|
* http://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html */
|
||||||
|
|
||||||
if (strcmp(fulluseragent, "")) {
|
if (strcmp(fulluseragent, "")) {
|
||||||
webkit_settings_set_user_agent(settings, fulluseragent);
|
webkit_settings_set_user_agent(settings, fulluseragent);
|
||||||
|
@ -727,21 +724,23 @@ newview(Client *c, WebKitWebView *rv)
|
||||||
contentmanager = webkit_user_content_manager_new();
|
contentmanager = webkit_user_content_manager_new();
|
||||||
|
|
||||||
context = webkit_web_context_new_with_website_data_manager(
|
context = webkit_web_context_new_with_website_data_manager(
|
||||||
webkit_website_data_manager_new(
|
webkit_website_data_manager_new(
|
||||||
"base-cache-directory", cachedir,
|
"base-cache-directory", cachedir,
|
||||||
"base-data-directory", cachedir,
|
"base-data-directory", cachedir,
|
||||||
NULL));
|
NULL));
|
||||||
|
|
||||||
/* rendering process model, can be a shared unique one or one for each
|
/* rendering process model, can be a shared unique one
|
||||||
* view */
|
* or one for each view */
|
||||||
webkit_web_context_set_process_model(context,
|
webkit_web_context_set_process_model(context,
|
||||||
WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES);
|
WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES);
|
||||||
/* ssl */
|
/* ssl */
|
||||||
webkit_web_context_set_tls_errors_policy(context, strictssl ?
|
webkit_web_context_set_tls_errors_policy(context, strictssl ?
|
||||||
WEBKIT_TLS_ERRORS_POLICY_FAIL : WEBKIT_TLS_ERRORS_POLICY_IGNORE);
|
WEBKIT_TLS_ERRORS_POLICY_FAIL :
|
||||||
|
WEBKIT_TLS_ERRORS_POLICY_IGNORE);
|
||||||
/* disk cache */
|
/* disk cache */
|
||||||
webkit_web_context_set_cache_model(context, enablecache ?
|
webkit_web_context_set_cache_model(context, enablecache ?
|
||||||
WEBKIT_CACHE_MODEL_WEB_BROWSER : WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
|
WEBKIT_CACHE_MODEL_WEB_BROWSER :
|
||||||
|
WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
|
||||||
|
|
||||||
/* Currently only works with text file to be compatible with curl */
|
/* Currently only works with text file to be compatible with curl */
|
||||||
webkit_cookie_manager_set_persistent_storage(
|
webkit_cookie_manager_set_persistent_storage(
|
||||||
|
@ -753,7 +752,7 @@ newview(Client *c, WebKitWebView *rv)
|
||||||
cookiepolicy_get());
|
cookiepolicy_get());
|
||||||
|
|
||||||
g_signal_connect(G_OBJECT(context), "download-started",
|
g_signal_connect(G_OBJECT(context), "download-started",
|
||||||
G_CALLBACK(downloadstarted), c);
|
G_CALLBACK(downloadstarted), c);
|
||||||
|
|
||||||
v = g_object_new(WEBKIT_TYPE_WEB_VIEW,
|
v = g_object_new(WEBKIT_TYPE_WEB_VIEW,
|
||||||
"settings", settings,
|
"settings", settings,
|
||||||
|
@ -762,31 +761,23 @@ newview(Client *c, WebKitWebView *rv)
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "notify::title",
|
||||||
"notify::title",
|
|
||||||
G_CALLBACK(titlechanged), c);
|
G_CALLBACK(titlechanged), c);
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "mouse-target-changed",
|
||||||
"mouse-target-changed",
|
|
||||||
G_CALLBACK(mousetargetchanged), c);
|
G_CALLBACK(mousetargetchanged), c);
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "permission-request",
|
||||||
"permission-request",
|
|
||||||
G_CALLBACK(permissionrequested), c);
|
G_CALLBACK(permissionrequested), c);
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "create",
|
||||||
"create",
|
|
||||||
G_CALLBACK(createview), c);
|
G_CALLBACK(createview), c);
|
||||||
g_signal_connect(G_OBJECT(v), "ready-to-show",
|
g_signal_connect(G_OBJECT(v), "ready-to-show",
|
||||||
G_CALLBACK(showview), c);
|
G_CALLBACK(showview), c);
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "decide-policy",
|
||||||
"decide-policy",
|
|
||||||
G_CALLBACK(decidepolicy), c);
|
G_CALLBACK(decidepolicy), c);
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "load-changed",
|
||||||
"load-changed",
|
|
||||||
G_CALLBACK(loadchanged), c);
|
G_CALLBACK(loadchanged), c);
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "notify::estimated-load-progress",
|
||||||
"notify::estimated-load-progress",
|
|
||||||
G_CALLBACK(progresschanged), c);
|
G_CALLBACK(progresschanged), c);
|
||||||
g_signal_connect(G_OBJECT(v),
|
g_signal_connect(G_OBJECT(v), "button-release-event",
|
||||||
"button-release-event",
|
|
||||||
G_CALLBACK(buttonreleased), c);
|
G_CALLBACK(buttonreleased), c);
|
||||||
g_signal_connect(G_OBJECT(v), "close",
|
g_signal_connect(G_OBJECT(v), "close",
|
||||||
G_CALLBACK(closeview), c);
|
G_CALLBACK(closeview), c);
|
||||||
|
@ -806,10 +797,8 @@ createview(WebKitWebView *v, WebKitNavigationAction *a, Client *c)
|
||||||
* by user gesture, so inverse the logic here
|
* by user gesture, so inverse the logic here
|
||||||
*/
|
*/
|
||||||
/* instead of this, compare destination uri to mouse-over uri for validating window */
|
/* instead of this, compare destination uri to mouse-over uri for validating window */
|
||||||
if (webkit_navigation_action_is_user_gesture(a)) {
|
if (webkit_navigation_action_is_user_gesture(a))
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
|
||||||
}
|
|
||||||
case WEBKIT_NAVIGATION_TYPE_LINK_CLICKED: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_LINK_CLICKED: /* fallthrough */
|
||||||
case WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED: /* fallthrough */
|
||||||
case WEBKIT_NAVIGATION_TYPE_BACK_FORWARD: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_BACK_FORWARD: /* fallthrough */
|
||||||
|
@ -819,7 +808,6 @@ createview(WebKitWebView *v, WebKitNavigationAction *a, Client *c)
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return GTK_WIDGET(n->view);
|
return GTK_WIDGET(n->view);
|
||||||
|
@ -874,7 +862,7 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d)
|
||||||
{
|
{
|
||||||
Client *c = (Client *)d;
|
Client *c = (Client *)d;
|
||||||
XPropertyEvent *ev;
|
XPropertyEvent *ev;
|
||||||
Arg arg;
|
Arg a;
|
||||||
|
|
||||||
if (((XEvent *)e)->type == PropertyNotify) {
|
if (((XEvent *)e)->type == PropertyNotify) {
|
||||||
ev = &((XEvent *)e)->xproperty;
|
ev = &((XEvent *)e)->xproperty;
|
||||||
|
@ -884,8 +872,8 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d)
|
||||||
|
|
||||||
return GDK_FILTER_REMOVE;
|
return GDK_FILTER_REMOVE;
|
||||||
} else if (ev->atom == atoms[AtomGo]) {
|
} else if (ev->atom == atoms[AtomGo]) {
|
||||||
arg.v = getatom(c, AtomGo);
|
a.v = getatom(c, AtomGo);
|
||||||
loaduri(c, &arg);
|
loaduri(c, &a);
|
||||||
|
|
||||||
return GDK_FILTER_REMOVE;
|
return GDK_FILTER_REMOVE;
|
||||||
}
|
}
|
||||||
|
@ -906,7 +894,7 @@ winevent(GtkWidget *w, GdkEvent *e, Client *c)
|
||||||
if (e->window_state.changed_mask ==
|
if (e->window_state.changed_mask ==
|
||||||
GDK_WINDOW_STATE_FULLSCREEN) {
|
GDK_WINDOW_STATE_FULLSCREEN) {
|
||||||
c->fullscreen = e->window_state.new_window_state &
|
c->fullscreen = e->window_state.new_window_state &
|
||||||
GDK_WINDOW_STATE_FULLSCREEN;
|
GDK_WINDOW_STATE_FULLSCREEN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -923,49 +911,43 @@ showview(WebKitWebView *v, Client *c)
|
||||||
GdkRGBA bgcolor = { 0 };
|
GdkRGBA bgcolor = { 0 };
|
||||||
GdkWindow *gwin;
|
GdkWindow *gwin;
|
||||||
|
|
||||||
c->win = createwindow(c);
|
c->finder = webkit_web_view_get_find_controller(c->view);
|
||||||
|
|
||||||
if (enableinspector)
|
if (enableinspector)
|
||||||
c->inspector = webkit_web_view_get_inspector(c->view);
|
c->inspector = webkit_web_view_get_inspector(c->view);
|
||||||
|
|
||||||
c->finder = webkit_web_view_get_find_controller(c->view);
|
c->win = createwindow(c);
|
||||||
|
|
||||||
if (!kioskmode)
|
|
||||||
addaccelgroup(c);
|
|
||||||
|
|
||||||
/* Arranging */
|
|
||||||
gtk_container_add(GTK_CONTAINER(c->win), GTK_WIDGET(c->view));
|
gtk_container_add(GTK_CONTAINER(c->win), GTK_WIDGET(c->view));
|
||||||
|
gtk_window_set_geometry_hints(GTK_WINDOW(c->win), NULL, &hints,
|
||||||
/* Setup */
|
GDK_HINT_MIN_SIZE);
|
||||||
|
gtk_widget_show_all(c->win);
|
||||||
gtk_widget_grab_focus(GTK_WIDGET(c->view));
|
gtk_widget_grab_focus(GTK_WIDGET(c->view));
|
||||||
gtk_widget_show(GTK_WIDGET(c->view));
|
|
||||||
gtk_widget_show(c->win);
|
|
||||||
gwin = gtk_widget_get_window(GTK_WIDGET(c->win));
|
gwin = gtk_widget_get_window(GTK_WIDGET(c->win));
|
||||||
c->xid = gdk_x11_window_get_xid(gwin);
|
c->xid = gdk_x11_window_get_xid(gwin);
|
||||||
gtk_window_set_geometry_hints(GTK_WINDOW(c->win), NULL, &hints,
|
updatewinid(c);
|
||||||
GDK_HINT_MIN_SIZE);
|
if (showxid) {
|
||||||
gdk_window_set_events(gwin, GDK_ALL_EVENTS_MASK);
|
gdk_display_sync(gtk_widget_get_display(c->win));
|
||||||
gdk_window_add_filter(gwin, processx, c);
|
puts(winid);
|
||||||
|
}
|
||||||
|
|
||||||
if (zoomlevel != 1.0)
|
if (hidebackground)
|
||||||
webkit_web_view_set_zoom_level(c->view, zoomlevel);
|
webkit_web_view_set_background_color(c->view, &bgcolor);
|
||||||
|
|
||||||
|
if (!kioskmode) {
|
||||||
|
addaccelgroup(c);
|
||||||
|
gdk_window_set_events(gwin, GDK_ALL_EVENTS_MASK);
|
||||||
|
gdk_window_add_filter(gwin, processx, c);
|
||||||
|
}
|
||||||
|
|
||||||
if (runinfullscreen)
|
if (runinfullscreen)
|
||||||
togglefullscreen(c, NULL);
|
togglefullscreen(c, NULL);
|
||||||
|
|
||||||
|
if (zoomlevel != 1.0)
|
||||||
|
webkit_web_view_set_zoom_level(c->view, zoomlevel);
|
||||||
|
|
||||||
setatom(c, AtomFind, "");
|
setatom(c, AtomFind, "");
|
||||||
setatom(c, AtomUri, "about:blank");
|
setatom(c, AtomUri, "about:blank");
|
||||||
if (hidebackground)
|
|
||||||
webkit_web_view_set_background_color(c->view, &bgcolor);
|
|
||||||
|
|
||||||
if (showxid) {
|
|
||||||
gdk_display_sync(gtk_widget_get_display(c->win));
|
|
||||||
printf("%lu\n", c->xid);
|
|
||||||
fflush(NULL);
|
|
||||||
if (fclose(stdout) != 0) {
|
|
||||||
die("Error closing stdout");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *
|
GtkWidget *
|
||||||
|
@ -996,11 +978,11 @@ createwindow(Client *c)
|
||||||
}
|
}
|
||||||
|
|
||||||
g_signal_connect(G_OBJECT(w), "destroy",
|
g_signal_connect(G_OBJECT(w), "destroy",
|
||||||
G_CALLBACK(destroywin), c);
|
G_CALLBACK(destroywin), c);
|
||||||
g_signal_connect(G_OBJECT(w), "leave-notify-event",
|
g_signal_connect(G_OBJECT(w), "leave-notify-event",
|
||||||
G_CALLBACK(winevent), c);
|
G_CALLBACK(winevent), c);
|
||||||
g_signal_connect(G_OBJECT(w), "window-state-event",
|
g_signal_connect(G_OBJECT(w), "window-state-event",
|
||||||
G_CALLBACK(winevent), c);
|
G_CALLBACK(winevent), c);
|
||||||
|
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
@ -1016,7 +998,8 @@ loadchanged(WebKitWebView *v, WebKitLoadEvent e, Client *c)
|
||||||
setatom(c, AtomUri, geturi(c));
|
setatom(c, AtomUri, geturi(c));
|
||||||
break;
|
break;
|
||||||
case WEBKIT_LOAD_COMMITTED:
|
case WEBKIT_LOAD_COMMITTED:
|
||||||
if (!webkit_web_view_get_tls_info(c->view, NULL, &(c->tlsflags)))
|
if (!webkit_web_view_get_tls_info(c->view, NULL,
|
||||||
|
&(c->tlsflags)))
|
||||||
c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1;
|
c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1;
|
||||||
|
|
||||||
setatom(c, AtomUri, geturi(c));
|
setatom(c, AtomUri, geturi(c));
|
||||||
|
@ -1040,7 +1023,7 @@ void
|
||||||
progresschanged(WebKitWebView *v, GParamSpec *ps, Client *c)
|
progresschanged(WebKitWebView *v, GParamSpec *ps, Client *c)
|
||||||
{
|
{
|
||||||
c->progress = webkit_web_view_get_estimated_load_progress(c->view) *
|
c->progress = webkit_web_view_get_estimated_load_progress(c->view) *
|
||||||
100;
|
100;
|
||||||
updatetitle(c);
|
updatetitle(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1055,13 +1038,11 @@ void
|
||||||
mousetargetchanged(WebKitWebView *v, WebKitHitTestResult *h, guint modifiers,
|
mousetargetchanged(WebKitWebView *v, WebKitHitTestResult *h, guint modifiers,
|
||||||
Client *c)
|
Client *c)
|
||||||
{
|
{
|
||||||
WebKitHitTestResultContext hc;
|
WebKitHitTestResultContext hc = webkit_hit_test_result_get_context(h);
|
||||||
|
|
||||||
/* Keep the hit test to know where is the pointer on the next click */
|
/* Keep the hit test to know where is the pointer on the next click */
|
||||||
c->mousepos = h;
|
c->mousepos = h;
|
||||||
|
|
||||||
hc = webkit_hit_test_result_get_context(h);
|
|
||||||
|
|
||||||
if (hc & OnLink)
|
if (hc & OnLink)
|
||||||
c->targeturi = webkit_hit_test_result_get_link_uri(h);
|
c->targeturi = webkit_hit_test_result_get_link_uri(h);
|
||||||
else if (hc & OnImg)
|
else if (hc & OnImg)
|
||||||
|
@ -1111,9 +1092,8 @@ decidepolicy(WebKitWebView *v, WebKitPolicyDecision *d,
|
||||||
void
|
void
|
||||||
decidenavigation(WebKitPolicyDecision *d, Client *c)
|
decidenavigation(WebKitPolicyDecision *d, Client *c)
|
||||||
{
|
{
|
||||||
WebKitNavigationAction *a;
|
WebKitNavigationAction *a =
|
||||||
|
webkit_navigation_policy_decision_get_navigation_action(
|
||||||
a = webkit_navigation_policy_decision_get_navigation_action(
|
|
||||||
WEBKIT_NAVIGATION_POLICY_DECISION(d));
|
WEBKIT_NAVIGATION_POLICY_DECISION(d));
|
||||||
|
|
||||||
switch (webkit_navigation_action_get_navigation_type(a)) {
|
switch (webkit_navigation_action_get_navigation_type(a)) {
|
||||||
|
@ -1121,7 +1101,7 @@ decidenavigation(WebKitPolicyDecision *d, Client *c)
|
||||||
case WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED: /* fallthrough */
|
||||||
case WEBKIT_NAVIGATION_TYPE_BACK_FORWARD: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_BACK_FORWARD: /* fallthrough */
|
||||||
case WEBKIT_NAVIGATION_TYPE_RELOAD: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_RELOAD: /* fallthrough */
|
||||||
case WEBKIT_NAVIGATION_TYPE_FORM_RESUBMITTED:
|
case WEBKIT_NAVIGATION_TYPE_FORM_RESUBMITTED: /* fallthrough */
|
||||||
case WEBKIT_NAVIGATION_TYPE_OTHER: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_OTHER: /* fallthrough */
|
||||||
default:
|
default:
|
||||||
/* Do not navigate to links with a "_blank" target (popup) */
|
/* Do not navigate to links with a "_blank" target (popup) */
|
||||||
|
@ -1141,12 +1121,12 @@ decidenavigation(WebKitPolicyDecision *d, Client *c)
|
||||||
void
|
void
|
||||||
decidenewwindow(WebKitPolicyDecision *d, Client *c)
|
decidenewwindow(WebKitPolicyDecision *d, Client *c)
|
||||||
{
|
{
|
||||||
WebKitNavigationAction *a;
|
|
||||||
Arg arg;
|
Arg arg;
|
||||||
|
WebKitNavigationAction *a =
|
||||||
a = webkit_navigation_policy_decision_get_navigation_action(
|
webkit_navigation_policy_decision_get_navigation_action(
|
||||||
WEBKIT_NAVIGATION_POLICY_DECISION(d));
|
WEBKIT_NAVIGATION_POLICY_DECISION(d));
|
||||||
|
|
||||||
|
|
||||||
switch (webkit_navigation_action_get_navigation_type(a)) {
|
switch (webkit_navigation_action_get_navigation_type(a)) {
|
||||||
case WEBKIT_NAVIGATION_TYPE_LINK_CLICKED: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_LINK_CLICKED: /* fallthrough */
|
||||||
case WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED: /* fallthrough */
|
||||||
|
@ -1157,7 +1137,7 @@ decidenewwindow(WebKitPolicyDecision *d, Client *c)
|
||||||
/* If the value of “mouse-button” is not 0, then the navigation was triggered by a mouse event.
|
/* If the value of “mouse-button” is not 0, then the navigation was triggered by a mouse event.
|
||||||
* test for link clicked but no button ? */
|
* test for link clicked but no button ? */
|
||||||
arg.v = webkit_uri_request_get_uri(
|
arg.v = webkit_uri_request_get_uri(
|
||||||
webkit_navigation_action_get_request(a));
|
webkit_navigation_action_get_request(a));
|
||||||
newwindow(c, &arg, 0);
|
newwindow(c, &arg, 0);
|
||||||
break;
|
break;
|
||||||
case WEBKIT_NAVIGATION_TYPE_OTHER: /* fallthrough */
|
case WEBKIT_NAVIGATION_TYPE_OTHER: /* fallthrough */
|
||||||
|
@ -1171,13 +1151,11 @@ decidenewwindow(WebKitPolicyDecision *d, Client *c)
|
||||||
void
|
void
|
||||||
decideresource(WebKitPolicyDecision *d, Client *c)
|
decideresource(WebKitPolicyDecision *d, Client *c)
|
||||||
{
|
{
|
||||||
const gchar *uri;
|
|
||||||
int i, isascii = 1;
|
int i, isascii = 1;
|
||||||
WebKitResponsePolicyDecision *r = WEBKIT_RESPONSE_POLICY_DECISION(d);
|
WebKitResponsePolicyDecision *r = WEBKIT_RESPONSE_POLICY_DECISION(d);
|
||||||
WebKitURIResponse *res;
|
WebKitURIResponse *res =
|
||||||
|
webkit_response_policy_decision_get_response(r);
|
||||||
res = webkit_response_policy_decision_get_response(r);
|
const gchar *uri = webkit_uri_response_get_uri(res);
|
||||||
uri = webkit_uri_response_get_uri(res);
|
|
||||||
|
|
||||||
if (g_str_has_suffix(uri, "/favicon.ico"))
|
if (g_str_has_suffix(uri, "/favicon.ico"))
|
||||||
webkit_uri_request_set_uri(
|
webkit_uri_request_set_uri(
|
||||||
|
@ -1215,7 +1193,7 @@ void
|
||||||
downloadstarted(WebKitWebContext *wc, WebKitDownload *d, Client *c)
|
downloadstarted(WebKitWebContext *wc, WebKitDownload *d, Client *c)
|
||||||
{
|
{
|
||||||
g_signal_connect(G_OBJECT(d), "notify::response",
|
g_signal_connect(G_OBJECT(d), "notify::response",
|
||||||
G_CALLBACK(responsereceived), c);
|
G_CALLBACK(responsereceived), c);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1228,9 +1206,7 @@ responsereceived(WebKitDownload *d, GParamSpec *ps, Client *c)
|
||||||
void
|
void
|
||||||
download(Client *c, WebKitURIResponse *r)
|
download(Client *c, WebKitURIResponse *r)
|
||||||
{
|
{
|
||||||
Arg a;
|
Arg a = (Arg)DOWNLOAD(webkit_uri_response_get_uri(r), geturi(c));
|
||||||
|
|
||||||
a = (Arg)DOWNLOAD(webkit_uri_response_get_uri(r), geturi(c));
|
|
||||||
spawn(c, &a);
|
spawn(c, &a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1244,22 +1220,22 @@ void
|
||||||
destroywin(GtkWidget* w, Client *c)
|
destroywin(GtkWidget* w, Client *c)
|
||||||
{
|
{
|
||||||
destroyclient(c);
|
destroyclient(c);
|
||||||
if (clients == NULL)
|
if (!clients)
|
||||||
gtk_main_quit();
|
gtk_main_quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
pasteuri(GtkClipboard *clipboard, const char *text, gpointer d)
|
pasteuri(GtkClipboard *clipboard, const char *text, gpointer d)
|
||||||
{
|
{
|
||||||
Arg arg = {.v = text };
|
Arg a = {.v = text };
|
||||||
if (text != NULL)
|
if (!text)
|
||||||
loaduri((Client *) d, &arg);
|
loaduri((Client *) d, &a);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
reload(Client *c, const Arg *arg)
|
reload(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
gboolean nocache = *(gboolean *)arg;
|
gboolean nocache = *(gboolean *)a;
|
||||||
if (nocache)
|
if (nocache)
|
||||||
webkit_web_view_reload_bypass_cache(c->view);
|
webkit_web_view_reload_bypass_cache(c->view);
|
||||||
else
|
else
|
||||||
|
@ -1270,7 +1246,7 @@ void
|
||||||
print(Client *c, const Arg *a)
|
print(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
webkit_print_operation_run_dialog(webkit_print_operation_new(c->view),
|
webkit_print_operation_run_dialog(webkit_print_operation_new(c->view),
|
||||||
GTK_WINDOW(c->win));
|
GTK_WINDOW(c->win));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1304,14 +1280,14 @@ void
|
||||||
scroll_v(Client *c, const Arg *a)
|
scroll_v(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
evalscript(c, "window.scrollBy(0, %d * (window.innerHeight / 100))",
|
evalscript(c, "window.scrollBy(0, %d * (window.innerHeight / 100))",
|
||||||
a->i);
|
a->i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
scroll_h(Client *c, const Arg *a)
|
scroll_h(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
evalscript(c, "window.scrollBy(%d * (window.innerWidth / 100), 0)",
|
evalscript(c, "window.scrollBy(%d * (window.innerWidth / 100), 0)",
|
||||||
a->i);
|
a->i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1324,7 +1300,7 @@ navigate(Client *c, const Arg *a)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
stop(Client *c, const Arg *arg)
|
stop(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
webkit_web_view_stop_loading(c->view);
|
webkit_web_view_stop_loading(c->view);
|
||||||
}
|
}
|
||||||
|
@ -1332,9 +1308,7 @@ stop(Client *c, const Arg *arg)
|
||||||
void
|
void
|
||||||
toggle(Client *c, const Arg *a)
|
toggle(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
WebKitSettings *s;
|
WebKitSettings *s = webkit_web_view_get_settings(c->view);
|
||||||
|
|
||||||
s = webkit_web_view_get_settings(c->view);
|
|
||||||
|
|
||||||
switch ((unsigned int)a->i) {
|
switch ((unsigned int)a->i) {
|
||||||
case CaretBrowsing:
|
case CaretBrowsing:
|
||||||
|
@ -1390,7 +1364,7 @@ togglefullscreen(Client *c, const Arg *a)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
togglecookiepolicy(Client *c, const Arg *arg)
|
togglecookiepolicy(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
++cookiepolicy;
|
++cookiepolicy;
|
||||||
cookiepolicy %= strlen(cookiepolicies);
|
cookiepolicy %= strlen(cookiepolicies);
|
||||||
|
@ -1405,7 +1379,7 @@ togglecookiepolicy(Client *c, const Arg *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
togglestyle(Client *c, const Arg *arg)
|
togglestyle(Client *c, const Arg *a)
|
||||||
{
|
{
|
||||||
enablestyle = !enablestyle;
|
enablestyle = !enablestyle;
|
||||||
setstyle(c, enablestyle ? getstyle(geturi(c)) : "");
|
setstyle(c, enablestyle ? getstyle(geturi(c)) : "");
|
||||||
|
@ -1439,9 +1413,11 @@ find(Client *c, const Arg *a)
|
||||||
f = webkit_find_controller_get_search_text(c->finder);
|
f = webkit_find_controller_get_search_text(c->finder);
|
||||||
|
|
||||||
if (g_strcmp0(f, s) == 0) /* reset search */
|
if (g_strcmp0(f, s) == 0) /* reset search */
|
||||||
webkit_find_controller_search(c->finder, "", findopts, G_MAXUINT);
|
webkit_find_controller_search(c->finder, "", findopts,
|
||||||
|
G_MAXUINT);
|
||||||
|
|
||||||
webkit_find_controller_search(c->finder, s, findopts, G_MAXUINT);
|
webkit_find_controller_search(c->finder, s, findopts,
|
||||||
|
G_MAXUINT);
|
||||||
|
|
||||||
if (strcmp(s, "") == 0)
|
if (strcmp(s, "") == 0)
|
||||||
webkit_find_controller_search_finish(c->finder);
|
webkit_find_controller_search_finish(c->finder);
|
||||||
|
@ -1580,6 +1556,7 @@ main(int argc, char *argv[])
|
||||||
setup();
|
setup();
|
||||||
c = newclient(NULL);
|
c = newclient(NULL);
|
||||||
showview(NULL, c);
|
showview(NULL, c);
|
||||||
|
|
||||||
if (arg.v)
|
if (arg.v)
|
||||||
loaduri(clients, &arg);
|
loaduri(clients, &arg);
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue