diff --git a/dwl.c b/dwl.c index be94832..09e60ec 100644 --- a/dwl.c +++ b/dwl.c @@ -1817,7 +1817,12 @@ run(char *startup_cmd) die("startup: display_add_socket_auto"); setenv("WAYLAND_DISPLAY", socket, 1); - /* Now that the socket exists, run the startup command */ + /* Start the backend. This will enumerate outputs and inputs, become the DRM + * master, etc */ + if (!wlr_backend_start(backend)) + die("startup: backend_start"); + + /* Now that the socket exists and the backend is started, run the startup command */ if (startup_cmd) { int piperw[2]; if (pipe(piperw) < 0) @@ -1839,12 +1844,7 @@ run(char *startup_cmd) signal(SIGPIPE, SIG_IGN); printstatus(); - /* Start the backend. This will enumerate outputs and inputs, become the DRM - * master, etc */ - if (!wlr_backend_start(backend)) - die("startup: backend_start"); - - /* Now that outputs are initialized, choose initial selmon based on + /* At this point the outputs are initialized, choose initial selmon based on * cursor position, and set default cursor image */ selmon = xytomon(cursor->x, cursor->y);