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; | |
} |