diff --git a/examples/testwm.cpp b/examples/testwm.cpp index f692468..d2d6a1a 100644 --- a/examples/testwm.cpp +++ b/examples/testwm.cpp @@ -50,6 +50,7 @@ struct Server { struct wlr_keyboard* keyboard = nullptr; wlr::SignalSink key_sink; wl_event_source* scheduler_source = nullptr; + const char* socket_name = nullptr; uint32_t mod = WLR_MODIFIER_ALT; std::string terminal = "kitty"; @@ -123,6 +124,8 @@ static void cycle_focus(int dir) { static void spawn() { pid_t p = fork(); if (p == 0) { + if (S->socket_name) + setenv("WAYLAND_DISPLAY", S->socket_name, 1); execlp(S->terminal.c_str(), S->terminal.c_str(), nullptr); _exit(127); } @@ -329,6 +332,7 @@ int main() { S->scheduler_source = wl_event_loop_add_timer(S->display.event_loop(), frame_tick, nullptr); const char* socket = S->display.add_socket_auto(); + S->socket_name = socket; if (!socket) return 1; fprintf(stderr,