iReload on SIGHUP - surf - Surf web browser. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1Log /scm/surf//log.gph gopher.r-36.net 70 1Files /scm/surf//files.gph gopher.r-36.net 70 1Refs /scm/surf//refs.gph gopher.r-36.net 70 1README /scm/surf//file/README.gph gopher.r-36.net 70 1LICENSE /scm/surf//file/LICENSE.gph gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1commit 0ac6bf5a973159117c2457bf27e5c7b554f112ca /scm/surf//commit/0ac6bf5a973159117c2457bf27e5c7b554f112ca.gph gopher.r-36.net 70 1parent 3d81a0f0b7ffaccb5c4b978ad06d130b2a57b645 /scm/surf//commit/3d81a0f0b7ffaccb5c4b978ad06d130b2a57b645.gph gopher.r-36.net 70 hAuthor: Charles Lehner URL:mailto:cel@celehner.com gopher.r-36.net 70 iDate: Sat, 9 Jan 2016 14:18:53 -0500 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iReload on SIGHUP Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iThis patch makes surf reload its pages when it receives a SIGHUP signal. This makes it easier for shell scripts to trigger surf to reload. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iI'm aware of using xdotool to trigger ctrl+r keypresses for reloading [1] but I wasn't able to get that to work in a general way. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iI'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. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iRegards, Err gopher.r-36.net 70 iCharles Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i[1] http://surf.suckless.org/files/autorefresh Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i surf.c | 13 +++++++++++++ Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i1 file changed, 13 insertions(+), 0 deletions(-) Err gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1diff --git a/surf.c b/surf.c /scm/surf//file/surf.c.gph gopher.r-36.net 70 i@@ -197,6 +197,7 @@ static void scroll(GtkAdjustment *a, const Arg *arg); Err gopher.r-36.net 70 i static void setatom(Client *c, int a, const char *v); Err gopher.r-36.net 70 i static void setup(void); Err gopher.r-36.net 70 i static void sigchld(int unused); Err gopher.r-36.net 70 i+static void sighup(int unused); Err gopher.r-36.net 70 i static void source(Client *c, const Arg *arg); Err gopher.r-36.net 70 i static void spawn(Client *c, const Arg *arg); Err gopher.r-36.net 70 i static void stop(Client *c, const Arg *arg); Err gopher.r-36.net 70 i@@ -1300,6 +1301,8 @@ setup(void) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i /* clean up any zombies immediately */ Err gopher.r-36.net 70 i sigchld(0); Err gopher.r-36.net 70 i+ if (signal(SIGHUP, sighup) == SIG_ERR) Err gopher.r-36.net 70 i+ die("Can't install SIGHUP handler"); Err gopher.r-36.net 70 i gtk_init(NULL, NULL); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i dpy = GDK_DISPLAY(); Err gopher.r-36.net 70 i@@ -1395,6 +1398,16 @@ sigchld(int unused) Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i+sighup(int unused) Err gopher.r-36.net 70 i+{ Err gopher.r-36.net 70 i+ Arg a = { .b = FALSE }; Err gopher.r-36.net 70 i+ Client *c; Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i+ for (c = clients; c; c = c->next) Err gopher.r-36.net 70 i+ reload(c, &a); Err gopher.r-36.net 70 i+} Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i+void Err gopher.r-36.net 70 i source(Client *c, const Arg *arg) Err gopher.r-36.net 70 i { Err gopher.r-36.net 70 i Arg a = { .b = FALSE }; Err gopher.r-36.net 70 .