diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-03-29 10:38:17 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-03-29 22:11:08 -0400 |
commit | 86ba0fc15d7615b09f0279616d538af5c23bc551 (patch) | |
tree | 374d19c070eafb5ea50335d01152416242af1bc0 /swaybar/bar.c | |
parent | Implement workspace button rendering (diff) | |
download | sway-86ba0fc15d7615b09f0279616d538af5c23bc551.tar.gz sway-86ba0fc15d7615b09f0279616d538af5c23bc551.tar.zst sway-86ba0fc15d7615b09f0279616d538af5c23bc551.zip |
Re-render bar on IPC updates
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 | } |