summaryrefslogtreecommitdiffstats
path: root/swaylock/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'swaylock/main.c')
-rw-r--r--swaylock/main.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/swaylock/main.c b/swaylock/main.c
index c8fdc2f4..ce337e24 100644
--- a/swaylock/main.c
+++ b/swaylock/main.c
@@ -133,6 +133,7 @@ int main(int argc, char **argv) {
133 .color = 0xFFFFFFFF, 133 .color = 0xFFFFFFFF,
134 .show_indicator = true, 134 .show_indicator = true,
135 }; 135 };
136 cairo_surface_t *background_image = NULL;
136 state.args = args; 137 state.args = args;
137 wlr_log_init(L_DEBUG, NULL); 138 wlr_log_init(L_DEBUG, NULL);
138 139
@@ -150,8 +151,13 @@ int main(int argc, char **argv) {
150 break; 151 break;
151 } 152 }
152 case 'i': 153 case 'i':
153 // TODO 154 // TODO: Multiple background images (bleh)
154 return 1; 155 background_image = load_background_image(optarg);
156 if (!background_image) {
157 return 1;
158 }
159 state.args.mode = BACKGROUND_MODE_FILL;
160 break;
155 case 's': 161 case 's':
156 state.args.mode = parse_background_mode(optarg); 162 state.args.mode = parse_background_mode(optarg);
157 if (state.args.mode == BACKGROUND_MODE_INVALID) { 163 if (state.args.mode == BACKGROUND_MODE_INVALID) {
@@ -159,7 +165,7 @@ int main(int argc, char **argv) {
159 } 165 }
160 break; 166 break;
161 case 't': 167 case 't':
162 // TODO 168 state.args.mode = BACKGROUND_MODE_TILE;
163 break; 169 break;
164 case 'v': 170 case 'v':
165#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 171#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
@@ -197,6 +203,8 @@ int main(int argc, char **argv) {
197 203
198 struct swaylock_surface *surface; 204 struct swaylock_surface *surface;
199 wl_list_for_each(surface, &state.surfaces, link) { 205 wl_list_for_each(surface, &state.surfaces, link) {
206 surface->image = background_image;
207
200 assert(surface->surface = 208 assert(surface->surface =
201 wl_compositor_create_surface(state.compositor)); 209 wl_compositor_create_surface(state.compositor));
202 210