summaryrefslogtreecommitdiffstats
path: root/swaylock
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-10-13 16:14:35 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-10-15 00:26:27 +1000
commit9c833c661ac9e061bf4d666065e3090639f481ff (patch)
tree34d2d894ecc5ee661c8fc8ea2997b5719ec33f0f /swaylock
parentMove swaybar's event loop to common directory and refactor (diff)
downloadsway-9c833c661ac9e061bf4d666065e3090639f481ff.tar.gz
sway-9c833c661ac9e061bf4d666065e3090639f481ff.tar.zst
sway-9c833c661ac9e061bf4d666065e3090639f481ff.zip
swaylock: Use common event loop
Diffstat (limited to 'swaylock')
-rw-r--r--swaylock/main.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/swaylock/main.c b/swaylock/main.c
index d1384c6f..27bcfe32 100644
--- a/swaylock/main.c
+++ b/swaylock/main.c
@@ -21,6 +21,7 @@
21#include "pool-buffer.h" 21#include "pool-buffer.h"
22#include "cairo.h" 22#include "cairo.h"
23#include "log.h" 23#include "log.h"
24#include "loop.h"
24#include "readline.h" 25#include "readline.h"
25#include "stringop.h" 26#include "stringop.h"
26#include "util.h" 27#include "util.h"
@@ -844,6 +845,10 @@ static int load_config(char *path, struct swaylock_state *state,
844 845
845static struct swaylock_state state; 846static struct swaylock_state state;
846 847
848static void display_in(int fd, short mask, void *data) {
849 wl_display_dispatch(state.display);
850}
851
847int main(int argc, char **argv) { 852int main(int argc, char **argv) {
848 wlr_log_init(WLR_DEBUG, NULL); 853 wlr_log_init(WLR_DEBUG, NULL);
849 initialize_pw_backend(); 854 initialize_pw_backend();
@@ -946,9 +951,14 @@ int main(int argc, char **argv) {
946 daemonize(); 951 daemonize();
947 } 952 }
948 953
954 state.eventloop = loop_create();
955 loop_add_fd(state.eventloop, wl_display_get_fd(state.display), POLL_IN,
956 display_in, NULL);
957
949 state.run_display = true; 958 state.run_display = true;
950 while (wl_display_dispatch(state.display) != -1 && state.run_display) { 959 while (state.run_display) {
951 // This space intentionally left blank 960 wl_display_flush(state.display);
961 loop_poll(state.eventloop);
952 } 962 }
953 963
954 free(state.args.font); 964 free(state.args.font);