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

commit6db9c3802f5e3b9844ff2c7fa0cbefb57ca13690
parenta6e6829ae5
authorIsaac Freund <[email protected]>
date2023-03-06 16:30
river: improve comments on pending/inflight/current

 river/Output.zig |  7 +++----
 river/View.zig   | 12 ++++++++++++
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/river/Output.zig b/river/Output.zig
index 839fedf..7a94275 100644
--- a/river/Output.zig
+++ b/river/Output.zig
@@ -94,13 +94,12 @@ lock_render_state: enum {
 
 /// The state of the output that is directly acted upon/modified through user input.
 ///
-/// Pending state will be copied to the pending state and communicated to clients
+/// Pending state will be copied to the inflight state and communicated to clients
 /// to be applied as a single atomic transaction across all clients as soon as any
 /// in progress transaction has been completed.
 ///
-/// On completion of a transaction
-/// Any time pending state is modified Root.dirty must be set.
-///
+/// Any time pending state is modified Root.applyPending() must be called
+/// before yielding back to the event loop.
 pending: struct {
     /// A bit field of focused tags
     tags: u32 = 1 << 0,
diff --git a/river/View.zig b/river/View.zig
index 7dba9a3..5589376 100644
--- a/river/View.zig
+++ b/river/View.zig
@@ -130,14 +130,26 @@ mapped: bool = false,
 /// transaction completes. See View.destroy()
 destroying: bool = false,
 
+/// The state of the view that is directly acted upon/modified through user input.
+///
+/// Pending state will be copied to the inflight state and communicated to clients
+/// to be applied as a single atomic transaction across all clients as soon as any
+/// in progress transaction has been completed.
+///
+/// Any time pending state is modified Root.applyPending() must be called
+/// before yielding back to the event loop.
 pending: State = .{},
 pending_focus_stack_link: wl.list.Link,
 pending_wm_stack_link: wl.list.Link,
 
+/// The state most recently sent to the layout generator and clients.
+/// This state is immutable until all clients have replied and the transaction
+/// is completed, at which point this inflight state is copied to current.
 inflight: State = .{},
 inflight_focus_stack_link: wl.list.Link,
 inflight_wm_stack_link: wl.list.Link,
 
+/// The current state represented by the scene graph.
 current: State = .{},
 
 /// The floating dimensions the view, saved so that they can be restored if the