Introduction
Introduction Statistics Contact Development Disclaimer Help
tRename fullscreen() to togglefullscreen() - surf - customized build of surf, t…
git clone git://src.adamsgaard.dk/surf
Log
Files
Refs
README
LICENSE
---
commit d6794e0d75128dda9be6bd4769e2cd81a57192c7
parent b4e78555d020bd33981c50805f5480da22c8136d
Author: Quentin Rameau <[email protected]>
Date: Fri, 20 Nov 2015 00:00:59 +0100
Rename fullscreen() to togglefullscreen()
And handle c->fullscreen value in winevent(). This way we keep track of
fullscreen state even if we did not directly initiate the fullscreen.
Diffstat:
M config.def.h | 2 +-
M surf.c | 17 +++++++++++++----
2 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/config.def.h b/config.def.h
t@@ -107,7 +107,7 @@ static Key keys[] = {
{ MODKEY, GDK_KEY_i, scroll_h, { .i = +1 } },
{ MODKEY, GDK_KEY_u, scroll_h, { .i = -1 } },
- { 0, GDK_KEY_F11, fullscreen, { 0 } },
+ { 0, GDK_KEY_F11, togglefullscreen, { 0 } },
{ 0, GDK_KEY_Escape, stop, { 0 } },
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_o, inspector, { 0 } },
diff --git a/surf.c b/surf.c
t@@ -127,7 +127,7 @@ static void die(const char *errstr, ...);
static void evalscript(Client *c, const char *jsstr, ...);
static void runscript(Client *c);
static void find(Client *c, const Arg *arg);
-static void fullscreen(Client *c, const Arg *arg);
+static void togglefullscreen(Client *c, const Arg *a);
static gboolean permissionrequested(WebKitWebView *v,
WebKitPermissionRequest *r, Client *c);
static const char *getatom(Client *c, int a);
t@@ -600,13 +600,13 @@ find(Client *c, const Arg *arg)
}
void
-fullscreen(Client *c, const Arg *arg)
+togglefullscreen(Client *c, const Arg *a)
{
+ /* toggling value is handled in winevent() */
if (c->fullscreen)
gtk_window_unfullscreen(GTK_WINDOW(c->win));
else
gtk_window_fullscreen(GTK_WINDOW(c->win));
- c->fullscreen = !c->fullscreen;
}
gboolean
t@@ -1037,7 +1037,7 @@ showview(WebKitWebView *v, Client *c)
webkit_web_view_set_zoom_level(c->view, zoomlevel);
if (runinfullscreen)
- fullscreen(c, NULL);
+ togglefullscreen(c, NULL);
setatom(c, AtomFind, "");
setatom(c, AtomUri, "about:blank");
t@@ -1127,6 +1127,8 @@ createwindow(Client *c)
G_CALLBACK(destroywin), c);
g_signal_connect(G_OBJECT(w), "leave-notify-event",
G_CALLBACK(winevent), c);
+ g_signal_connect(G_OBJECT(w), "window-state-event",
+ G_CALLBACK(winevent), c);
return w;
}
t@@ -1339,6 +1341,13 @@ winevent(GtkWidget *w, GdkEvent *e, Client *c)
c->targeturi = NULL;
updatetitle(c);
break;
+ case GDK_WINDOW_STATE: /* fallthrough */
+ if (e->window_state.changed_mask ==
+ GDK_WINDOW_STATE_FULLSCREEN) {
+ c->fullscreen = e->window_state.new_window_state &
+ GDK_WINDOW_STATE_FULLSCREEN;
+ break;
+ }
default:
return FALSE;
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.