tReplace titlechangeleave() with catch-all winevent() - surf - customized build… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit b4e78555d020bd33981c50805f5480da22c8136d | |
parent d9cecc89329dee3eb48bb6cc38d2bc38796c2e8b | |
Author: Quentin Rameau <[email protected]> | |
Date: Thu, 19 Nov 2015 23:42:19 +0100 | |
Replace titlechangeleave() with catch-all winevent() | |
All GtkWidget events have the same function prototype with the generic | |
GdkEvent as parameter. This will let us handle everything in the switch. | |
Diffstat: | |
M surf.c | 22 +++++++++++++++------- | |
1 file changed, 15 insertions(+), 7 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -167,6 +167,7 @@ static void pasteuri(GtkClipboard *clipboard, const char *… | |
static void print(Client *c, const Arg *arg); | |
static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, | |
gpointer d); | |
+static gboolean winevent(GtkWidget *w, GdkEvent *e, Client *c); | |
static void progresschanged(WebKitWebView *v, GParamSpec *ps, Client *c); | |
static void linkopen(Client *c, const Arg *arg); | |
static void linkopenembed(Client *c, const Arg *arg); | |
t@@ -180,7 +181,6 @@ static void sigchld(int unused); | |
static void spawn(Client *c, const Arg *arg); | |
static void stop(Client *c, const Arg *arg); | |
static void titlechanged(WebKitWebView *view, GParamSpec *ps, Client *c); | |
-static void titlechangeleave(void *a, void *b, Client *c); | |
static void toggle(Client *c, const Arg *arg); | |
static void togglecookiepolicy(Client *c, const Arg *arg); | |
static void togglegeolocation(Client *c, const Arg *arg); | |
t@@ -1125,8 +1125,8 @@ createwindow(Client *c) | |
g_signal_connect(G_OBJECT(w), "destroy", | |
G_CALLBACK(destroywin), c); | |
- g_signal_connect(G_OBJECT(w), "leave_notify_event", | |
- G_CALLBACK(titlechangeleave), c); | |
+ g_signal_connect(G_OBJECT(w), "leave-notify-event", | |
+ G_CALLBACK(winevent), c); | |
return w; | |
} | |
t@@ -1331,11 +1331,19 @@ titlechanged(WebKitWebView *view, GParamSpec *ps, Clie… | |
updatetitle(c); | |
} | |
-void | |
-titlechangeleave(void *a, void *b, Client *c) | |
+gboolean | |
+winevent(GtkWidget *w, GdkEvent *e, Client *c) | |
{ | |
- c->linkhover = NULL; | |
- updatetitle(c); | |
+ switch (e->type) { | |
+ case GDK_LEAVE_NOTIFY: | |
+ c->targeturi = NULL; | |
+ updatetitle(c); | |
+ break; | |
+ default: | |
+ return FALSE; | |
+ } | |
+ | |
+ return TRUE; | |
} | |
void |