This commit is contained in:
Harrison DiAmbrosio 2025-10-16 10:39:24 -04:00
commit 7325a3ee47
7 changed files with 170 additions and 0 deletions

7
src/main.zig Normal file
View file

@ -0,0 +1,7 @@
const std = @import("std");
const Server = @import("server.zig").Server;
pub fn main() !void {
std.debug.print("Starting wwm");
}

39
src/server.zig Normal file
View file

@ -0,0 +1,39 @@
const wl = @import("wayland").server.wl;
const wlr = @import("wlroots");
pub const Server = struct {
allocator: *wlr.Allocator,
server: *wl.Server,
event_loop: *wl.EventLoop,
session: *wlr.Session,
backend: *wlr.Backend,
renderer: *wlr.Renderer,
compositor: *wlr.Compositor,
pub fn init() !Server {
const server = try wl.Server.create();
const event_loop = server.getEventLoop();
var session: ?*wlr.Session = undefined;
const backend = try wlr.Backend.autocreate(event_loop, &session);
const renderer = try wlr.Renderer.autocreate(backend);
// Do we need to fail if session is NULL
return .{
.server = server,
.event_loop = event_loop,
.session = session,
.backend = backend,
.renderer = renderer,
.allocator = try wlr.Allocator.autocreate(backend, renderer),
.compositor = try wlr.Compositor.create(server, 6, renderer),
};
}
};