*
* To understand surf, start reading main().
*/
+
#include <signal.h>
#include <X11/X.h>
#include <X11/Xatom.h>
WebKitWebSettings *settings;
WebKitWebFrame *frame;
GdkGeometry hints = { 1, 1 };
+ GdkScreen *screen;
+ gdouble dpi;
char *uri, *ua;
if(!(c = calloc(1, sizeof(Client))))
g_object_set(G_OBJECT(settings), "default-font-size",
defaultfontsize, NULL);
+ /* While stupid, CSS specifies that a pixel represents 1/96 of an inch.
+ * This ensures websites are not unusably small with a high DPI screen.
+ * It is equivalent to firefox's "layout.css.devPixelsPerPx" setting. */
+ if(zoomto96dpi) {
+ screen = gdk_window_get_screen(GTK_WIDGET(c->win)->window);
+ dpi = gdk_screen_get_resolution(screen);
+ if(dpi != -1) {
+ g_object_set(G_OBJECT(settings), "enforce-96-dpi", true,
+ NULL);
+ webkit_web_view_set_zoom_level(c->view, dpi/96);
+ }
+ }
+
if(enableinspector) {
c->inspector = WEBKIT_WEB_INSPECTOR(
webkit_web_view_get_inspector(c->view));
static void
newwindow(Client *c, const Arg *arg, gboolean noembed) {
guint i = 0;
- const char *cmd[12], *uri;
+ const char *cmd[14], *uri;
const Arg a = { .v = (void *)cmd };
char tmp[64];
cmd[i++] = "-s";
if(showxid)
cmd[i++] = "-x";
+ cmd[i++] = "-c";
+ cmd[i++] = cookiefile;
cmd[i++] = "--";
uri = arg->v ? (char *)arg->v : c->linkhover;
if(uri)
case 'b':
enablescrollbars = 0;
break;
+ case 'B':
+ enablescrollbars = 1;
+ break;
case 'c':
cookiefile = EARGF(usage());
break;
case 'g':
allowgeolocation = 0;
break;
+ case 'G':
+ allowgeolocation = 1;
+ break;
case 'i':
loadimages = 0;
break;
+ case 'I':
+ loadimages = 1;
+ break;
case 'k':
+ kioskmode = 0;
+ break;
+ case 'K':
kioskmode = 1;
break;
case 'n':
enableinspector = 0;
break;
+ case 'N':
+ enableinspector = 1;
+ break;
case 'p':
enableplugins = 0;
break;
+ case 'P':
+ enableplugins = 1;
+ break;
case 'r':
scriptfile = EARGF(usage());
break;
case 's':
enablescripts = 0;
break;
+ case 'S':
+ enablescripts = 1;
+ break;
case 't':
stylefile = EARGF(usage());
break;