surf: see hover URL without changing title - surf - Surf web browser. (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit f7e358280cb3bda1f8c46ca021fe94b59a984f5d (DIR) parent b3a4392923b26e81c4faa35907a4a2d071e2275f (HTM) Author: Greg Reagle <greg.reagle@umbc.edu> Date: Tue, 27 Jan 2015 13:26:26 -0500 surf: see hover URL without changing title On Tue, Jan 27, 2015, at 11:52 AM, Christoph Lohmann wrote: > Then hook to the window leaving event in GTK or X11 and set the title to > your needs. I will welcome a patch. Patch is attached. I am a total novice in GTK programming, so I don't know what type the callback function is supposed to be (hence the void pointers) or whether I registered it properly. But it does work well for me. -- http://www.fastmail.com - Access your email from home and the web From a33f06da092bf920b6a286ea7688b32944d79a50 Mon Sep 17 00:00:00 2001 From: Greg Reagle <greg.reagle@umbc.edu> Date: Tue, 27 Jan 2015 13:22:15 -0500 Subject: [PATCH] ensure that window title is web page title (not hover link) when leaving window Signed-off-by: Christoph Lohmann <20h@r-36.net> Diffstat: surf.c | 10 ++++++++++ 1 file changed, 10 insertions(+), 0 deletions(-) --- (DIR) diff --git 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 +ttitlechangeleave(void *a, void *b, Client *c) { + c->linkhover = NULL; + updatetitle(c); +} + +static void ttoggle(Client *c, const Arg *arg) { WebKitWebSettings *settings; char *name = (char *)arg->v;