diff options
author | Drew DeVault <sir@cmpwn.com> | 2015-12-18 19:29:44 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2015-12-18 19:30:19 -0500 |
commit | 3282163f64291cfd63611110ab63e37051e80501 (patch) | |
tree | 7e89557c10e4bcc8415e482ad37106cc2e334236 /swaylock | |
parent | Fix lock extension setup in compositor (diff) | |
download | sway-3282163f64291cfd63611110ab63e37051e80501.tar.gz sway-3282163f64291cfd63611110ab63e37051e80501.tar.zst sway-3282163f64291cfd63611110ab63e37051e80501.zip |
Implement compositor support for swaylock
This makes swaylock more or less work.
Diffstat (limited to 'swaylock')
-rw-r--r-- | swaylock/main.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/swaylock/main.c b/swaylock/main.c index 4073da99..82b88731 100644 --- a/swaylock/main.c +++ b/swaylock/main.c | |||
@@ -108,7 +108,6 @@ int main(int argc, char **argv) { | |||
108 | if (!window) { | 108 | if (!window) { |
109 | sway_abort("Failed to create surfaces."); | 109 | sway_abort("Failed to create surfaces."); |
110 | } | 110 | } |
111 | lock_set_lock_surface(registry->swaylock, output->output, window->surface); | ||
112 | list_add(surfaces, window); | 111 | list_add(surfaces, window); |
113 | } | 112 | } |
114 | 113 | ||
@@ -217,7 +216,17 @@ int main(int argc, char **argv) { | |||
217 | 216 | ||
218 | cairo_surface_destroy(image); | 217 | cairo_surface_destroy(image); |
219 | 218 | ||
220 | while (wl_display_dispatch(registry->display) != -1); | 219 | bool locked = false; |
220 | while (wl_display_dispatch(registry->display) != -1) { | ||
221 | if (!locked) { | ||
222 | for (i = 0; i < registry->outputs->length; ++i) { | ||
223 | struct output_state *output = registry->outputs->items[i]; | ||
224 | struct window *window = surfaces->items[i]; | ||
225 | lock_set_lock_surface(registry->swaylock, output->output, window->surface); | ||
226 | } | ||
227 | locked = true; | ||
228 | } | ||
229 | } | ||
221 | 230 | ||
222 | for (i = 0; i < surfaces->length; ++i) { | 231 | for (i = 0; i < surfaces->length; ++i) { |
223 | struct window *window = surfaces->items[i]; | 232 | struct window *window = surfaces->items[i]; |