[hackers] [surf] Reload on SIGHUP || Charles Lehner

From: <git_AT_suckless.org>
Date: Fri, 8 Jul 2016 15:03:19 +0200 (CEST)

commit c64c368d86a4319e43b7ff3d73a4afe0f4e8adf0
Author: Charles Lehner <cel_AT_celehner.com>
AuthorDate: Sat Jan 9 14:18:53 2016 -0500
Commit: Quentin Rameau <quinq_AT_fifth.space>
CommitDate: Fri Jul 8 15:02:42 2016 +0200

    Reload on SIGHUP
    
    ratiueratuie rstiure tiurest aruite rautie rautier tiue rtaruit ratiuera
    This patch makes surf reload its pages when it receives a SIGHUP signal.
    This makes it easier for shell scripts to trigger surf to reload.
    
    I'm aware of using xdotool to trigger ctrl+r keypresses for reloading
    but I wasn't able to get that to work in a general way. [1]
    
    I'm sending this here in case surf maintainers and users would like to
    include this in core - if not I will submit it to the wiki.
    
    Regards,
    Charles
    
    [1] http://surf.suckless.org/files/autorefresh
    
    Signed-off-by: Christoph Lohmann <20h_AT_r-36.net>

diff --git a/surf.c b/surf.c
index 7e2b2bd..29b9ede 100644
--- a/surf.c
+++ b/surf.c
_AT_@ -145,6 +145,7 @@ static void usage(void);
 static void die(const char *errstr, ...);
 static void setup(void);
 static void sigchld(int unused);
+static void sighup(int unused);
 static char *buildfile(const char *path);
 static char *buildpath(const char *path);
 static const char *getuserhomedir(const char *user);
_AT_@ -266,6 +267,9 @@ setup(void)
 
         /* clean up any zombies immediately */
         sigchld(0);
+ if (signal(SIGHUP, sighup) == SIG_ERR)
+ die("Can't install SIGHUP handler");
+
         gtk_init(NULL, NULL);
 
         gdpy = gdk_display_get_default();
_AT_@ -331,6 +335,16 @@ sigchld(int unused)
                 ;
 }
 
+void
+sighup(int unused)
+{
+ Arg a = { .b = 0 };
+ Client *c;
+
+ for (c = clients; c; c = c->next)
+ reload(c, &a);
+}
+
 char *
 buildfile(const char *path)
 {
Received on Fri Jul 08 2016 - 15:03:19 CEST

This archive was generated by hypermail 2.3.0 : Fri Jul 08 2016 - 15:12:17 CEST