Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
Output: ensure river_output_v1.wl_output is sent
Currently this event is only sent to the first window manager to see an
output. If the window manager is killed and a new one started, the
river_output_v1.wl_output event is not sent.
river/Output.zig | 2 ++
river/OutputManager.zig | 1 -
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/river/Output.zig b/river/Output.zig
index 7b5baf5..6dff8ac 100644
--- a/river/Output.zig
+++ b/river/Output.zig
@@ -307,6 +307,7 @@ pub fn manageStart(output: *Output) void {
output_v1.setHandler(?*anyopaque, handleRequestInert, null, null);
output.layer_shell.makeInert();
output.object = null;
+ output.sent_wl_output = false;
}
output.sent = output.scheduled;
@@ -348,6 +349,7 @@ fn handleRequestInert(
fn handleObjectDestroy(_: *river.OutputV1, output: *Output) void {
output.object = null;
+ output.sent_wl_output = false;
}
fn handleRequest(
diff --git a/river/OutputManager.zig b/river/OutputManager.zig
index 2a3843f..cabee44 100644
--- a/river/OutputManager.zig
+++ b/river/OutputManager.zig
@@ -262,7 +262,6 @@ pub fn commitOutputState(om: *OutputManager) void {
},
.disabled_hard => {
om.output_layout.remove(output.wlr_output.?);
- output.sent_wl_output = false;
},
.destroying => unreachable,
}