code: refactor Server.start()

This was needlessly verbose
This commit is contained in:
Isaac Freund 2020-06-17 22:17:51 +02:00
parent 189d9f2d8b
commit 582164ce41
No known key found for this signature in database
GPG key ID: 86DED400DDFD7A11

View file

@ -149,27 +149,13 @@ pub fn deinit(self: *Self) void {
self.config.deinit();
}
/// Create the socket, set WAYLAND_DISPLAY, and start the backend
/// Create the socket, start the backend, and setup the environment
pub fn start(self: Self) !void {
// Add a Unix socket to the Wayland display.
const socket = c.wl_display_add_socket_auto(self.wl_display) orelse
return error.CantAddSocket;
// Start the backend. This will enumerate outputs and inputs, become the DRM
// master, etc
if (!c.river_wlr_backend_start(self.wlr_backend)) {
return error.CantStartBackend;
}
// Set the WAYLAND_DISPLAY environment variable to our socket
if (c.setenv("WAYLAND_DISPLAY", socket, 1) == -1) {
return error.CantSetEnv;
}
const socket = c.wl_display_add_socket_auto(self.wl_display) orelse return error.CantAddSocket;
if (!c.river_wlr_backend_start(self.wlr_backend)) return error.CantStartBackend;
if (c.setenv("WAYLAND_DISPLAY", socket, 1) < 0) return error.CantSetEnv;
if (build_options.xwayland) {
if (c.setenv("DISPLAY", &self.wlr_xwayland.display_name, 1) == -1) {
return error.CantSetEnv;
}
if (c.setenv("DISPLAY", &self.wlr_xwayland.display_name, 1) < 0) return error.CantSetEnv;
}
}