pub struct WmState {Show 19 fields
policy: Option<Box<dyn WindowPolicy>>,
pub frames: HashMap<WindowId, FrameBuffers>,
pub overlays: BTreeMap<u32, Overlay>,
pub effects: HashMap<WindowId, Transform>,
pub ghosts: HashMap<WindowId, Ghost>,
pub hidden: HashMap<WindowId, Window>,
pub rects: HashMap<WindowId, Rect>,
pub states: HashMap<WindowId, States>,
pub decorations: HashMap<WindowId, Decoration>,
pub known: HashMap<WindowId, Size>,
pub pending_moves: HashMap<WindowId, PendingMove>,
pub acked: HashMap<WindowId, Option<Size>>,
pub wake_at: Option<Instant>,
pub cursor: Option<CursorIcon>,
pub pointer_taken: bool,
pub taken_at: Option<Point<f64, Logical>>,
pub outputs: Vec<OutputInfo>,
pub focus: Option<WindowId>,
pub dirty: bool,
}Expand description
Everything the compositor keeps for an installed policy.
Fields§
§policy: Option<Box<dyn WindowPolicy>>§frames: HashMap<WindowId, FrameBuffers>§overlays: BTreeMap<u32, Overlay>§effects: HashMap<WindowId, Transform>§ghosts: HashMap<WindowId, Ghost>The last pictures of windows that went away, by the id the policy’s close effect names.
Windows the policy hid (minimized, or on another desktop): unmapped from the Space, kept here for their return.
rects: HashMap<WindowId, Rect>The client rectangle the policy last configured each window to.
states: HashMap<WindowId, States>The states the policy last configured each window to.
decorations: HashMap<WindowId, Decoration>What each client said about decorations.
known: HashMap<WindowId, Size>The windows the policy was told about, with the size it last saw them at.
pending_moves: HashMap<WindowId, PendingMove>Where a toplevel goes once it commits the size it was configured with along with the move: a resize from a window’s top or left edge, or a maximize, changes both, and moving the old buffer first would show its far edge jump and come back.
acked: HashMap<WindowId, Option<Size>>The size of the configure each toplevel last acknowledged, as of its last commit, so a commit that answers a configure is told from one that was already on its way.
wake_at: Option<Instant>When the policy asked to be ticked.
cursor: Option<CursorIcon>The cursor the policy shows while it holds the pointer; None leaves the client’s.
pointer_taken: boolWhether the policy took the last pointer event, so the clients saw the pointer leave.
taken_at: Option<Point<f64, Logical>>Where the policy took the last pointer motion, while it keeps taking pointer events.
outputs: Vec<OutputInfo>The outputs the policy was last told about.
focus: Option<WindowId>The focus the policy last asked for.
dirty: boolSomething the policy presents changed since the last render.
Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for WmState
impl !Send for WmState
impl !Sync for WmState
impl !UnwindSafe for WmState
impl Freeze for WmState
impl Unpin for WmState
impl UnsafeUnpin for WmState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more