diff options
Diffstat (limited to 'swayidle')
-rw-r--r-- | swayidle/main.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/swayidle/main.c b/swayidle/main.c index 60235280..ad9c84c9 100644 --- a/swayidle/main.c +++ b/swayidle/main.c | |||
@@ -340,7 +340,13 @@ void sig_handler(int signal) { | |||
340 | } | 340 | } |
341 | 341 | ||
342 | static int display_event(int fd, uint32_t mask, void *data) { | 342 | static int display_event(int fd, uint32_t mask, void *data) { |
343 | wl_display_dispatch(state.display); | 343 | if (mask & WL_EVENT_HANGUP) { |
344 | sway_terminate(0); | ||
345 | } | ||
346 | if (wl_display_dispatch(state.display) < 0) { | ||
347 | wlr_log_errno(L_ERROR, "wl_display_dispatch failed, exiting"); | ||
348 | sway_terminate(0); | ||
349 | }; | ||
344 | return 0; | 350 | return 0; |
345 | } | 351 | } |
346 | 352 | ||