From a83bca6db5348033b21ebb4ed7bc189d39e2b0c4 Mon Sep 17 00:00:00 2001 From: Calvin Lee Date: Sun, 4 Feb 2018 10:37:46 -0700 Subject: Handle swaybar status line errors The event loop API was redesigned to avoid race conditions as well. Fixes #1583 --- include/swaybar/event_loop.h | 8 ++++---- include/swaybar/status_line.h | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/swaybar/event_loop.h b/include/swaybar/event_loop.h index a0cde07f..d5089262 100644 --- a/include/swaybar/event_loop.h +++ b/include/swaybar/event_loop.h @@ -13,11 +13,11 @@ void add_timer(timer_t timer, void(*cb)(timer_t timer, void *data), void *data); -// Returns false if nothing exists, true otherwise -bool remove_event(int fd); +// Remove the given event from the event loop +void remove_event(int fd); -// Returns false if nothing exists, true otherwise -bool remove_timer(timer_t timer); +// Remove the given timer from the event loop +void remove_timer(timer_t timer); // Blocks and returns after sending callbacks void event_loop_poll(); diff --git a/include/swaybar/status_line.h b/include/swaybar/status_line.h index 0664ddee..3ec0fcd0 100644 --- a/include/swaybar/status_line.h +++ b/include/swaybar/status_line.h @@ -48,6 +48,12 @@ struct status_line *init_status_line(); */ bool handle_status_line(struct bar *bar); +/** + * This should be called if statusline input cannot be accessed. + * It will set an error statusline instead of using the status command + */ +void handle_status_hup(struct status_line *status); + /** * Handle mouse clicks. */ -- cgit v1.2.3