aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--river/OutputStatus.zig7
-rw-r--r--river/SeatStatus.zig14
-rw-r--r--river/StatusManager.zig21
3 files changed, 15 insertions, 27 deletions
diff --git a/river/OutputStatus.zig b/river/OutputStatus.zig
index af264d1..328298f 100644
--- a/river/OutputStatus.zig
+++ b/river/OutputStatus.zig
@@ -27,16 +27,13 @@ const Output = @import("Output.zig");
const View = @import("View.zig");
const ViewStack = @import("view_stack.zig").ViewStack;
-const implementation = c.struct_zriver_output_status_v1_interface{
- .destroy = destroy,
-};
+const implementation = c.struct_zriver_output_status_v1_interface{ .destroy = destroy };
output: *Output,
wl_resource: *c.wl_resource,
pub fn init(self: *Self, output: *Output, wl_resource: *c.wl_resource) void {
- self.output = output;
- self.wl_resource = wl_resource;
+ self.* = .{ .output = output, .wl_resource = wl_resource };
c.wl_resource_set_implementation(wl_resource, &implementation, self, handleResourceDestroy);
diff --git a/river/SeatStatus.zig b/river/SeatStatus.zig
index 01d4f78..28df511 100644
--- a/river/SeatStatus.zig
+++ b/river/SeatStatus.zig
@@ -26,21 +26,13 @@ const Seat = @import("Seat.zig");
const Output = @import("Output.zig");
const View = @import("View.zig");
-const FocusState = enum {
- focused,
- unfocused,
-};
-
-const implementation = c.struct_zriver_seat_status_v1_interface{
- .destroy = destroy,
-};
+const implementation = c.struct_zriver_seat_status_v1_interface{ .destroy = destroy };
seat: *Seat,
wl_resource: *c.wl_resource,
pub fn init(self: *Self, seat: *Seat, wl_resource: *c.wl_resource) void {
- self.seat = seat;
- self.wl_resource = wl_resource;
+ self.* = .{ .seat = seat, .wl_resource = wl_resource };
c.wl_resource_set_implementation(wl_resource, &implementation, self, handleResourceDestroy);
@@ -60,7 +52,7 @@ fn destroy(wl_client: ?*c.wl_client, wl_resource: ?*c.wl_resource) callconv(.C)
c.wl_resource_destroy(wl_resource);
}
-pub fn sendOutput(self: Self, state: FocusState) void {
+pub fn sendOutput(self: Self, state: enum { focused, unfocused }) void {
const wl_client = c.wl_resource_get_client(self.wl_resource);
const output_resources = &self.seat.focused_output.wlr_output.resources;
var output_resource = c.wl_resource_from_link(output_resources.next);
diff --git a/river/StatusManager.zig b/river/StatusManager.zig
index 7481f3c..b997a3e 100644
--- a/river/StatusManager.zig
+++ b/river/StatusManager.zig
@@ -37,21 +37,20 @@ const implementation = c.struct_zriver_status_manager_v1_interface{
.get_river_seat_status = getRiverSeatStatus,
};
-// TODO: remove this field, move allocator to util or something
-server: *Server,
wl_global: *c.wl_global,
-listen_display_destroy: c.wl_listener,
+listen_display_destroy: c.wl_listener = undefined,
pub fn init(self: *Self, server: *Server) !void {
- self.server = server;
- self.wl_global = c.wl_global_create(
- server.wl_display,
- &c.zriver_status_manager_v1_interface,
- protocol_version,
- self,
- bind,
- ) orelse return error.OutOfMemory;
+ self.* = .{
+ .wl_global = c.wl_global_create(
+ server.wl_display,
+ &c.zriver_status_manager_v1_interface,
+ protocol_version,
+ self,
+ bind,
+ ) orelse return error.OutOfMemory,
+ };
self.listen_display_destroy.notify = handleDisplayDestroy;
c.wl_display_add_destroy_listener(server.wl_display, &self.listen_display_destroy);