diff options
| author | Isaac Freund <mail@isaacfreund.com> | 2022-06-02 12:21:57 +0200 |
|---|---|---|
| committer | Isaac Freund <mail@isaacfreund.com> | 2022-06-02 12:21:57 +0200 |
| commit | 2df2151afab926999c8ccca26c5870641eab0d69 (patch) | |
| tree | 0d44b00b3ee655e674816bec294cebc4bec415ba | |
| parent | d657dc791bb4c771c9429a2d03ab021f1cb8075c (diff) | |
| download | river-2df2151afab926999c8ccca26c5870641eab0d69.tar.gz river-2df2151afab926999c8ccca26c5870641eab0d69.tar.xz | |
river-status: only send mode event if client bound version 3
| -rw-r--r-- | river/Seat.zig | 3 | ||||
| -rw-r--r-- | river/SeatStatus.zig | 8 |
2 files changed, 8 insertions, 3 deletions
diff --git a/river/Seat.zig b/river/Seat.zig index 9582313..36d8060 100644 --- a/river/Seat.zig +++ b/river/Seat.zig @@ -363,8 +363,7 @@ pub fn enterMode(self: *Self, mode_id: u32) void { var it = self.status_trackers.first; while (it) |node| : (it = node.next) { - const seat_status = node.data.seat_status; - seat_status.sendMode(server.config.modes.items[mode_id].name); + node.data.sendMode(server.config.modes.items[mode_id].name); } } diff --git a/river/SeatStatus.zig b/river/SeatStatus.zig index d06c7dd..f6fe5dd 100644 --- a/river/SeatStatus.zig +++ b/river/SeatStatus.zig @@ -37,7 +37,7 @@ pub fn init(self: *Self, seat: *Seat, seat_status: *zriver.SeatStatusV1) void { seat_status.setHandler(*Self, handleRequest, handleDestroy, self); // Send all info once on bind - seat_status.sendMode(server.config.modes.items[seat.mode_id].name); + self.sendMode(server.config.modes.items[seat.mode_id].name); self.sendOutput(.focused); self.sendFocusedView(); } @@ -72,3 +72,9 @@ pub fn sendFocusedView(self: Self) void { ""; self.seat_status.sendFocusedView(title); } + +pub fn sendMode(self: Self, mode: [*:0]const u8) void { + if (self.seat_status.getVersion() >= 3) { + self.seat_status.sendMode(mode); + } +} |
