tReload on SIGHUP - surf - customized build of surf, the suckless webkit browser | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit c64c368d86a4319e43b7ff3d73a4afe0f4e8adf0 | |
parent 4c41d363b761999a8af864b4e20218f0625d940f | |
Author: Charles Lehner <[email protected]> | |
Date: Sat, 9 Jan 2016 14:18:53 -0500 | |
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 | |
t[1] http://surf.suckless.org/files/autorefresh | |
Signed-off-by: Christoph Lohmann <[email protected]> | |
Diffstat: | |
M surf.c | 14 ++++++++++++++ | |
1 file changed, 14 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -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); | |
t@@ -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(); | |
t@@ -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) | |
{ |