const std = @import("std"); const wayland = @import("wayland"); const wl = wayland.wl; const log = std.log.scoped(.main); pub const std_options = std.Options{ .log_scope_levels = &.{ .{ .scope = .registry, .level = .info }, } }; pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator(); var display: wl.Display = try .open_default(allocator); defer display.deinit(allocator); try display.init(allocator, &.{ wl.Output.handler, wl.Compositor.handler, wl.Shm.handler, }); try display.roundtrip(allocator); try display.roundtrip(allocator); const ctx: wayland.Context = .{ .allocator = allocator, .display = &display, }; try display.roundtrip(allocator); for (wl.Output.instances.items) |output| { log.debug("{}", .{output}); } for (wl.Compositor.instances.items) |compositor| { log.debug("{}", .{compositor}); } for (wl.Shm.instances.items) |shm| { log.debug("{}", .{shm}); } const pool = try wl.Shm.instances.items[0].create_pool(&ctx, 1024); defer pool.deinit(&ctx); try display.roundtrip(allocator); }