about summary refs log tree commit diff
path: root/surf.c
diff options
context:
space:
mode:
Diffstat (limited to 'surf.c')
-rw-r--r--surf.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/surf.c b/surf.c
index 36f243e..2e325b1 100644
--- a/surf.c
+++ b/surf.c
@@ -179,6 +179,7 @@ static void source(Client *c, const Arg *arg);
 static void spawn(Client *c, const Arg *arg);
 static void stop(Client *c, const Arg *arg);
 static void titlechange(WebKitWebView *view, GParamSpec *pspec, 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);
@@ -805,6 +806,9 @@ newclient(void) {
 	g_signal_connect(G_OBJECT(c->win),
 			"destroy",
 			G_CALLBACK(destroywin), c);
+	g_signal_connect(G_OBJECT(c->win),
+			"leave_notify_event",
+			G_CALLBACK(titlechangeleave), c);
 
 	if(!kioskmode)
 		addaccelgroup(c);
@@ -1299,6 +1303,12 @@ titlechange(WebKitWebView *view, GParamSpec *pspec, Client *c) {
 }
 
 static void
+titlechangeleave(void *a, void *b, Client *c) {
+	c->linkhover = NULL;
+	updatetitle(c);
+}
+
+static void
 toggle(Client *c, const Arg *arg) {
 	WebKitWebSettings *settings;
 	char *name = (char *)arg->v;