mirror of
https://github.com/MezzalunaWM/Mezzaluna.git
synced 2026-03-07 19:49:53 -05:00
added process spawning
This commit is contained in:
parent
23ef0049f7
commit
2e2cfeebae
5 changed files with 47 additions and 249 deletions
|
|
@ -8,6 +8,7 @@ const gpa = std.heap.c_allocator;
|
|||
|
||||
pub var server: Server = undefined;
|
||||
pub var lua: Lua = undefined;
|
||||
pub var env_map: std.process.EnvMap = undefined;
|
||||
|
||||
pub fn main() !void {
|
||||
wlr.log.init(.err, null);
|
||||
|
|
@ -21,15 +22,16 @@ pub fn main() !void {
|
|||
var buf: [11]u8 = undefined;
|
||||
const socket = try server.wl_server.addSocketAuto(&buf);
|
||||
|
||||
env_map = try std.process.getEnvMap(gpa);
|
||||
try env_map.put("WAYLAND_DISPLAY", socket);
|
||||
|
||||
if (std.os.argv.len >= 2) {
|
||||
const cmd = std.mem.span(std.os.argv[1]);
|
||||
var child = std.process.Child.init(&[_][]const u8{ "/bin/sh", "-c", cmd }, gpa);
|
||||
var env_map = try std.process.getEnvMap(gpa);
|
||||
defer env_map.deinit();
|
||||
try env_map.put("WAYLAND_DISPLAY", socket);
|
||||
child.env_map = &env_map;
|
||||
try child.spawn();
|
||||
}
|
||||
defer env_map.deinit();
|
||||
|
||||
std.log.info("Starting backend", .{});
|
||||
server.backend.start() catch |err| {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue