Introduction
Introduction Statistics Contact Development Disclaimer Help
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
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.