pinosaur
/
surf.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make it possible to open a link in a new window with holding the mod key.
[surf.git]
/
surf.c
diff --git
a/surf.c
b/surf.c
index
1a9b17a
..
b6669ae
100644
(file)
--- a/
surf.c
+++ b/
surf.c
@@
-241,7
+241,8
@@
buttonrelease(WebKitWebView *web, GdkEventButton *e, GList *gl) {
g_object_get(result, "context", &context, NULL);
if(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK) {
g_object_get(result, "context", &context, NULL);
if(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK) {
- if(e->button == 2) {
+ if(e->button == 2 ||
+ (e->button == 1 && CLEANMASK(e->state) == CLEANMASK(MODKEY))) {
g_object_get(result, "link-uri", &arg.v, NULL);
newwindow(NULL, &arg, e->state & GDK_CONTROL_MASK);
return true;
g_object_get(result, "link-uri", &arg.v, NULL);
newwindow(NULL, &arg, e->state & GDK_CONTROL_MASK);
return true;
@@
-804,9
+805,11
@@
newclient(void) {
g_object_set(G_OBJECT(settings), "default-font-size",
defaultfontsize, NULL);
g_object_set(G_OBJECT(settings), "default-font-size",
defaultfontsize, NULL);
- /* While stupid, CSS specifies that a pixel represents 1/96 of an inch.
+ /*
+ * 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.
* This ensures websites are not unusably small with a high DPI screen.
- * It is equivalent to firefox's "layout.css.devPixelsPerPx" setting. */
+ * 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(zoomto96dpi) {
screen = gdk_window_get_screen(GTK_WIDGET(c->win)->window);
dpi = gdk_screen_get_resolution(screen);
@@
-831,6
+834,11
@@
newclient(void) {
c->isinspecting = false;
}
c->isinspecting = false;
}
+ if(runinfullscreen) {
+ c->fullscreen = 0;
+ fullscreen(c, NULL);
+ }
+
g_free(uri);
setatom(c, AtomFind, "");
g_free(uri);
setatom(c, AtomFind, "");
@@
-1270,7
+1278,8
@@
updatewinid(Client *c) {
static void
usage(void) {
static void
usage(void) {
- die("usage: %s [-biknpsvx] [-c cookiefile] [-e xid] [-r scriptfile]"
+ die("usage: %s [-bBfFgGiIkKnNpPsSvx]"
+ " [-c cookiefile] [-e xid] [-r scriptfile]"
" [-t stylefile] [-u useragent] [uri]\n", basename(argv0));
}
" [-t stylefile] [-u useragent] [uri]\n", basename(argv0));
}
@@
-1316,6
+1325,12
@@
main(int argc, char *argv[]) {
case 'e':
embed = strtol(EARGF(usage()), NULL, 0);
break;
case 'e':
embed = strtol(EARGF(usage()), NULL, 0);
break;
+ case 'f':
+ runinfullscreen = 1;
+ break;
+ case 'F':
+ runinfullscreen = 0;
+ break;
case 'g':
allowgeolocation = 0;
break;
case 'g':
allowgeolocation = 0;
break;