git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit4e6a42763022864590cf4b2a84547d6c781d33e0
parent7871b5cd89
authorIsaac Freund <[email protected]>
date2020-08-21 20:29
river-status: clean up initialization

 river/OutputStatus.zig  |  7 ++-----
 river/SeatStatus.zig    | 14 +++-----------
 river/StatusManager.zig | 21 ++++++++++-----------
 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);