| 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) | |
| { |