Skip to content

Commit

Permalink
make SIGUSR1 do nothing, so that killall -USR1 i3status will force an…
Browse files Browse the repository at this point in the history
… update

Sending SIGUSR1 will interrupt the nanosleep() and thus force a new
iteration of i3status’s output loop. The signal handler itself is empty.

Based on the question by ttjjss at
http://faq.i3wm.org/question/854/how-to-force-status-bar-update/
  • Loading branch information
stapelberg committed Dec 5, 2012
1 parent 0eeded8 commit 0a608d4
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
12 changes: 12 additions & 0 deletions i3status.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,14 @@ void sigpipe(int signum) {
exit(1);
}

/*
* Do nothing upon SIGUSR1. Running this signal handler will nevertheless
* interrupt nanosleep() so that i3status immediately generates new output.
*
*/
void sigusr1(int signum) {
}

/*
* Checks if the given path exists by calling stat().
*
Expand Down Expand Up @@ -305,6 +313,10 @@ int main(int argc, char *argv[]) {
action.sa_handler = sigpipe;
sigaction(SIGPIPE, &action, NULL);

memset(&action, 0, sizeof(struct sigaction));
action.sa_handler = sigusr1;
sigaction(SIGUSR1, &action, NULL);

if (setlocale(LC_ALL, "") == NULL)
die("Could not set locale. Please make sure all your LC_* / LANG settings are correct.");

Expand Down
6 changes: 6 additions & 0 deletions man/i3status.man
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,12 @@ Note that if you want to use the JSON output format (with colors in i3bar), you
need to use a slightly more complex wrapper script. There are examples in the
contrib/ folder, see http://code.i3wm.org/i3status/tree/contrib

== SIGNALS

When receiving +SIGUSR1+, i3status’s nanosleep() will be interrupted and thus
you will force an update. You can use killall -USR1 i3status to force an update
after changing the system volume, for example.

== SEE ALSO

+strftime(3)+, +date(1)+, +glob(3)+, +dzen2(1)+, +xmobar(1)+
Expand Down

0 comments on commit 0a608d4

Please sign in to comment.