river: improve comments on pending/inflight/current

This commit is contained in:
Isaac Freund 2023-03-06 16:30:42 +01:00
parent 05e8fbc8b9
commit 684f26acac
No known key found for this signature in database
GPG Key ID: 86DED400DDFD7A11
2 changed files with 15 additions and 4 deletions

View File

@ -94,13 +94,12 @@ lock_render_state: enum {
/// The state of the output that is directly acted upon/modified through user input. /// 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 /// to be applied as a single atomic transaction across all clients as soon as any
/// in progress transaction has been completed. /// in progress transaction has been completed.
/// ///
/// On completion of a transaction /// Any time pending state is modified Root.applyPending() must be called
/// Any time pending state is modified Root.dirty must be set. /// before yielding back to the event loop.
///
pending: struct { pending: struct {
/// A bit field of focused tags /// A bit field of focused tags
tags: u32 = 1 << 0, tags: u32 = 1 << 0,

View File

@ -130,14 +130,26 @@ mapped: bool = false,
/// transaction completes. See View.destroy() /// transaction completes. See View.destroy()
destroying: bool = false, 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: State = .{},
pending_focus_stack_link: wl.list.Link, pending_focus_stack_link: wl.list.Link,
pending_wm_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: State = .{},
inflight_focus_stack_link: wl.list.Link, inflight_focus_stack_link: wl.list.Link,
inflight_wm_stack_link: wl.list.Link, inflight_wm_stack_link: wl.list.Link,
/// The current state represented by the scene graph.
current: State = .{}, current: State = .{},
/// The floating dimensions the view, saved so that they can be restored if the /// The floating dimensions the view, saved so that they can be restored if the