[hackers] [surf] surf: see hover URL without changing title || Greg Reagle

From: <git_AT_suckless.org>
Date: Tue, 3 Feb 2015 17:25:30 +0100 (CET)

commit f7e358280cb3bda1f8c46ca021fe94b59a984f5d
Author: Greg Reagle <greg.reagle_AT_umbc.edu>
Date: Tue Jan 27 13:26:26 2015 -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_AT_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_AT_r-36.net>

diff --git a/surf.c b/surf.c
index 36f243e..2e325b1 100644
--- a/surf.c
+++ b/surf.c
_AT_@ -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);
_AT_@ -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);
_AT_@ -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;
Received on Tue Feb 03 2015 - 17:25:30 CET

This archive was generated by hypermail 2.3.0 : Tue Feb 03 2015 - 17:36:14 CET