diff options
| -rw-r--r-- | build.zig | 21 | ||||
| m--------- | deps/zig-wayland | 0 | ||||
| -rw-r--r-- | riverctl/main.zig | 6 | ||||
| -rw-r--r-- | rivertile/main.zig | 6 |
4 files changed, 29 insertions, 4 deletions
@@ -85,6 +85,27 @@ pub fn build(b: *zbs.Builder) !void { scanner.addProtocolPath("protocol/wlr-layer-shell-unstable-v1.xml"); scanner.addProtocolPath("protocol/wlr-output-power-management-unstable-v1.xml"); + // These must be manually kept in sync with the versions wlroots supports + // until wlroots gives us the option request a specific version. + scanner.generate("wl_compositor", 4); + scanner.generate("wl_subcompositor", 1); + scanner.generate("wl_shm", 1); + scanner.generate("wl_output", 4); + scanner.generate("wl_seat", 7); + scanner.generate("wl_data_device_manager", 3); + + scanner.generate("xdg_wm_base", 2); + scanner.generate("zwp_pointer_gestures_v1", 3); + scanner.generate("zxdg_output_manager_v1", 3); + scanner.generate("zwp_pointer_constraints_v1", 1); + + scanner.generate("zriver_control_v1", 1); + scanner.generate("zriver_status_manager_v1", 2); + scanner.generate("river_layout_manager_v3", 1); + + scanner.generate("zwlr_layer_shell_v1", 4); + scanner.generate("zwlr_output_power_manager_v1", 1); + { const river = b.addExecutable("river", "river/main.zig"); river.setTarget(target); diff --git a/deps/zig-wayland b/deps/zig-wayland -Subproject 80166ba1d5b4f94c7972d6922587ba769be93f8 +Subproject c19ffc58a88573df3e47c08599c472eb715ef7a diff --git a/riverctl/main.zig b/riverctl/main.zig index 832d2db..853b94e 100644 --- a/riverctl/main.zig +++ b/riverctl/main.zig @@ -87,7 +87,7 @@ fn _main() !void { var globals = Globals{}; registry.setListener(*Globals, registryListener, &globals); - _ = try display.roundtrip(); + if (display.roundtrip() != .SUCCESS) fatal("initial roundtrip failed", .{}); const control = globals.control orelse return error.RiverControlNotAdvertised; const seat = globals.seat orelse return error.SeatNotAdverstised; @@ -98,7 +98,9 @@ fn _main() !void { callback.setListener(?*anyopaque, callbackListener, null); // Loop until our callback is called and we exit. - while (true) _ = try display.dispatch(); + while (true) { + if (display.dispatch() != .SUCCESS) fatal("failed to dispatch wayland events", .{}); + } } fn registryListener(registry: *wl.Registry, event: wl.Registry.Event, globals: *Globals) void { diff --git a/rivertile/main.zig b/rivertile/main.zig index 664e4da..0e9276b 100644 --- a/rivertile/main.zig +++ b/rivertile/main.zig @@ -362,7 +362,7 @@ pub fn main() !void { const registry = try display.getRegistry(); registry.setListener(*Context, registryListener, &context); - _ = try display.roundtrip(); + if (display.roundtrip() != .SUCCESS) fatal("initial roundtrip failed", .{}); if (context.layout_manager == null) { fatal("wayland compositor does not support river-layout-v3.\n", .{}); @@ -376,7 +376,9 @@ pub fn main() !void { try output.getLayout(&context); } - while (true) _ = try display.dispatch(); + while (true) { + if (display.dispatch() != .SUCCESS) fatal("failed to dispatch wayland events", .{}); + } } fn registryListener(registry: *wl.Registry, event: wl.Registry.Event, context: *Context) void { |
