diff options
Diffstat (limited to 'swaybar/bar.c')
-rw-r--r-- | swaybar/bar.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/swaybar/bar.c b/swaybar/bar.c index 68dea408..90fd5ad4 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c | |||
@@ -143,11 +143,17 @@ static void display_in(int fd, short mask, void *_bar) { | |||
143 | 143 | ||
144 | static void ipc_in(int fd, short mask, void *_bar) { | 144 | static void ipc_in(int fd, short mask, void *_bar) { |
145 | struct swaybar *bar = (struct swaybar *)_bar; | 145 | struct swaybar *bar = (struct swaybar *)_bar; |
146 | handle_ipc_event(bar); | 146 | if (handle_ipc_event(bar)) { |
147 | struct swaybar_output *output; | ||
148 | wl_list_for_each(output, &bar->outputs, link) { | ||
149 | render_frame(bar, output); | ||
150 | } | ||
151 | } | ||
147 | } | 152 | } |
148 | 153 | ||
149 | void bar_run(struct swaybar *bar) { | 154 | void bar_run(struct swaybar *bar) { |
150 | add_event(wl_display_get_fd(bar->display), POLLIN, display_in, bar); | 155 | add_event(wl_display_get_fd(bar->display), POLLIN, display_in, bar); |
156 | add_event(bar->ipc_event_socketfd, POLLIN, ipc_in, bar); | ||
151 | while (1) { | 157 | while (1) { |
152 | event_loop_poll(); | 158 | event_loop_poll(); |
153 | } | 159 | } |