pub struct Window {
pub oid: String,
pub version: i64,
pub workspaceid: String,
pub isnew: bool,
pub pos: Point,
pub winsize: WinSize,
pub lastfocusts: i64,
pub opacity: Option<f32>,
pub kind: Option<String>,
pub parent_window_id: Option<String>,
pub meta: HashMap<String, Value>,
}Expand description
Go: Window in pkg/obj/wtype.go
Fields§
§oid: String§version: i64§workspaceid: String§isnew: bool§pos: Point§winsize: WinSize§lastfocusts: i64§opacity: Option<f32>SPEC_PILLAR1_STEP2 — the host’s last-set opacity for this window
(0.0..=1.0), so a crashed/restarted host can restore it instead
of defaulting to fully opaque. None = never set / fully opaque.
Written only via the SetWindowOpacity RPC (a direct store
read-modify-write, not a reducer-dispatched Command — see
server::service::window::handle_window_service); the host is
the sole source of truth for the live value, this is a durable
mirror.
kind: Option<String>SPEC_PILLAR1_STEP3 — the window’s kind ("full_instance" |
"subwindow"), durable so a reproject can tell which native-window
creation path to drive. None = unknown/legacy row; treat as
full_instance on read (matches today’s implicit default — every
window was a full instance before this field existed). Written only
via the SetWindowTopology RPC (a direct store read-modify-write,
not reducer-dispatched — window kind/parent were never reducer
state, same rationale as opacity above).
parent_window_id: Option<String>SPEC_PILLAR1_STEP3 — the parent Window.oid for a subwindow;
None for a full_instance (or an unset/legacy row). A subwindow
with parent_window_id: None is a nonsensical state the
SetWindowTopology RPC rejects at write time.
meta: HashMap<String, Value>Trait Implementations§
Source§impl<'de> Deserialize<'de> for Window
impl<'de> Deserialize<'de> for Window
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl StoreObj for Window
impl StoreObj for Window
fn get_otype() -> &'static str
fn get_oid(&self) -> &str
fn set_oid(&mut self, oid: String)
fn get_version(&self) -> i64
fn set_version(&mut self, version: i64)
fn get_meta(&self) -> &HashMap<String, Value>
fn set_meta(&mut self, meta: HashMap<String, Value>)
fn oref(&self) -> ORef
Auto Trait Implementations§
impl Freeze for Window
impl RefUnwindSafe for Window
impl Send for Window
impl Sync for Window
impl Unpin for Window
impl UnsafeUnpin for Window
impl UnwindSafe for Window
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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> DowncastSync for T
impl<T> DowncastSync for T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§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