pinosaur
/
surf.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix font-size setting parameter value type in newview
[surf.git]
/
surf.c
diff --git
a/surf.c
b/surf.c
index
f6b5a47
..
cd0a13c
100644
(file)
--- a/
surf.c
+++ b/
surf.c
@@
-58,6
+58,7
@@
enum {
};
typedef enum {
};
typedef enum {
+ AcceleratedCanvas,
CaretBrowsing,
CookiePolicies,
DiskCache,
CaretBrowsing,
CookiePolicies,
DiskCache,
@@
-70,11
+71,13
@@
typedef enum {
JavaScript,
KioskMode,
LoadImages,
JavaScript,
KioskMode,
LoadImages,
+ MediaManualPlay,
Plugins,
PreferredLanguages,
RunInFullscreen,
ScrollBars,
ShowIndicators,
Plugins,
PreferredLanguages,
RunInFullscreen,
ScrollBars,
ShowIndicators,
+ SiteQuirks,
SpellChecking,
SpellLanguages,
StrictSSL,
SpellChecking,
SpellLanguages,
StrictSSL,
@@
-142,6
+145,7
@@
static void usage(void);
static void die(const char *errstr, ...);
static void setup(void);
static void sigchld(int unused);
static void die(const char *errstr, ...);
static void setup(void);
static void sigchld(int unused);
+static void sighup(int unused);
static char *buildfile(const char *path);
static char *buildpath(const char *path);
static const char *getuserhomedir(const char *user);
static char *buildfile(const char *path);
static char *buildpath(const char *path);
static const char *getuserhomedir(const char *user);
@@
-171,6
+175,7
@@
static void cleanup(void);
/* GTK/WebKit */
static WebKitWebView *newview(Client *c, WebKitWebView *rv);
/* GTK/WebKit */
static WebKitWebView *newview(Client *c, WebKitWebView *rv);
+static void initwebextensions(WebKitWebContext *wc, Client *c);
static GtkWidget *createview(WebKitWebView *v, WebKitNavigationAction *a,
Client *c);
static gboolean buttonreleased(GtkWidget *w, GdkEvent *e, Client *c);
static GtkWidget *createview(WebKitWebView *v, WebKitNavigationAction *a,
Client *c);
static gboolean buttonreleased(GtkWidget *w, GdkEvent *e, Client *c);
@@
-258,13
+263,17
@@
die(const char *errstr, ...)
void
setup(void)
{
void
setup(void)
{
- GdkDisplay *gdpy
= gdk_display_get_default()
;
+ GdkDisplay *gdpy;
int i, j;
/* clean up any zombies immediately */
sigchld(0);
int i, j;
/* clean up any zombies immediately */
sigchld(0);
+ if (signal(SIGHUP, sighup) == SIG_ERR)
+ die("Can't install SIGHUP handler");
+
gtk_init(NULL, NULL);
gtk_init(NULL, NULL);
+ gdpy = gdk_display_get_default();
dpy = GDK_DISPLAY_XDISPLAY(gdpy);
curconfig = defconfig;
dpy = GDK_DISPLAY_XDISPLAY(gdpy);
curconfig = defconfig;
@@
-327,6
+336,16
@@
sigchld(int unused)
;
}
;
}
+void
+sighup(int unused)
+{
+ Arg a = { .b = 0 };
+ Client *c;
+
+ for (c = clients; c; c = c->next)
+ reload(c, &a);
+}
+
char *
buildfile(const char *path)
{
char *
buildfile(const char *path)
{
@@
-610,6
+629,9
@@
setparameter(Client *c, int refresh, ParamName p, const Arg *a)
WebKitSettings *s = webkit_web_view_get_settings(c->view);
switch (p) {
WebKitSettings *s = webkit_web_view_get_settings(c->view);
switch (p) {
+ case AcceleratedCanvas:
+ webkit_settings_set_enable_accelerated_2d_canvas(s, a->b);
+ break;
case CaretBrowsing:
webkit_settings_set_enable_caret_browsing(s, a->b);
refresh = 0;
case CaretBrowsing:
webkit_settings_set_enable_caret_browsing(s, a->b);
refresh = 0;
@@
-654,6
+676,9
@@
setparameter(Client *c, int refresh, ParamName p, const Arg *a)
case LoadImages:
webkit_settings_set_auto_load_images(s, a->b);
break;
case LoadImages:
webkit_settings_set_auto_load_images(s, a->b);
break;
+ case MediaManualPlay:
+ webkit_settings_set_media_playback_requires_user_gesture(s, a->b);
+ break;
case Plugins:
webkit_settings_set_enable_plugins(s, a->b);
break;
case Plugins:
webkit_settings_set_enable_plugins(s, a->b);
break;
@@
-671,6
+696,9
@@
setparameter(Client *c, int refresh, ParamName p, const Arg *a)
return; /* do not update */
case ShowIndicators:
break;
return; /* do not update */
case ShowIndicators:
break;
+ case SiteQuirks:
+ webkit_settings_set_enable_site_specific_quirks(s, a->b);
+ break;
case SpellChecking:
webkit_web_context_set_spell_checking_enabled(
webkit_web_view_get_context(c->view), a->b);
case SpellChecking:
webkit_web_context_set_spell_checking_enabled(
webkit_web_view_get_context(c->view), a->b);
@@
-890,7
+918,7
@@
newview(Client *c, WebKitWebView *rv)
} else {
settings = webkit_settings_new_with_settings(
"auto-load-images", curconfig[LoadImages].val.b,
} else {
settings = webkit_settings_new_with_settings(
"auto-load-images", curconfig[LoadImages].val.b,
- "default-font-size", curconfig[FontSize].val.
f
,
+ "default-font-size", curconfig[FontSize].val.
i
,
"enable-caret-browsing", curconfig[CaretBrowsing].val.b,
"enable-developer-extras", curconfig[Inspector].val.b,
"enable-dns-prefetching", curconfig[DNSPrefetch].val.b,
"enable-caret-browsing", curconfig[CaretBrowsing].val.b,
"enable-developer-extras", curconfig[Inspector].val.b,
"enable-dns-prefetching", curconfig[DNSPrefetch].val.b,
@@
-899,6
+927,9
@@
newview(Client *c, WebKitWebView *rv)
"enable-html5-local-storage", curconfig[DiskCache].val.b,
"enable-javascript", curconfig[JavaScript].val.b,
"enable-plugins", curconfig[Plugins].val.b,
"enable-html5-local-storage", curconfig[DiskCache].val.b,
"enable-javascript", curconfig[JavaScript].val.b,
"enable-plugins", curconfig[Plugins].val.b,
+ "enable-accelerated-2d-canvas", curconfig[AcceleratedCanvas].val.b,
+ "enable-site-specific-quirks", curconfig[SiteQuirks].val.b,
+ "media-playback-requires-user-gesture", curconfig[MediaManualPlay].val.b,
NULL);
/* For mor interesting settings, have a look at
* http://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html */
NULL);
/* For mor interesting settings, have a look at
* http://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html */
@@
-950,6
+981,8
@@
newview(Client *c, WebKitWebView *rv)
g_signal_connect(G_OBJECT(context), "download-started",
G_CALLBACK(downloadstarted), c);
g_signal_connect(G_OBJECT(context), "download-started",
G_CALLBACK(downloadstarted), c);
+ g_signal_connect(G_OBJECT(context), "initialize-web-extensions",
+ G_CALLBACK(initwebextensions), c);
v = g_object_new(WEBKIT_TYPE_WEB_VIEW,
"settings", settings,
v = g_object_new(WEBKIT_TYPE_WEB_VIEW,
"settings", settings,
@@
-982,6
+1015,12
@@
newview(Client *c, WebKitWebView *rv)
return v;
}
return v;
}
+void
+initwebextensions(WebKitWebContext *wc, Client *c)
+{
+ webkit_web_context_set_web_extensions_directory(wc, WEBEXTDIR);
+}
+
GtkWidget *
createview(WebKitWebView *v, WebKitNavigationAction *a, Client *c)
{
GtkWidget *
createview(WebKitWebView *v, WebKitNavigationAction *a, Client *c)
{