#[non_exhaustive]pub struct RunConfig {
pub mouse: bool,
}tui only.Expand description
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.mouse: boolWhether to negotiate mouse reporting with the terminal
(EnableMouseCapture/DisableMouseCapture).
Defaults to true. Set to false for no-mouse mode:
a host where mouse capture is refused or
unavailable (e.g. some multiplexers, restrictive SSH sessions, a
screen reader driving the terminal) never gets the capture escape
sequences at all — instead of getting them and then discarding
whatever the terminal sends back. An app can read the live
answer via crate::tui::backend::TuiBackend::mouse_enabled
(kept separate from crate::backend::BackendCaps::mouse, which
stays a static per-backend-type fact — see that accessor’s doc).
Every Tier-1 gesture in this crate’s own examples has a key path
that works with this flag off — see
tests/conformance/scenarios/**/*_keyboard.scn.json — so turning
it off costs an app nothing that a conformant AppLogic needs.
Implementations§
Source§impl RunConfig
impl RunConfig
Sourcepub fn no_mouse() -> Self
pub fn no_mouse() -> Self
Convenience constructor for no-mouse mode:
equivalent to RunConfig { mouse: false, ..Default::default() }.
RunConfig is #[non_exhaustive] so future fields can be added
without breaking downstream callers — but that same attribute means
a struct-literal expression (even one using ..Default::default())
is rejected by rustc (E0639) from outside this crate. Without
this constructor, no consumer could actually build a non-default
RunConfig at all: the field is pub, but the type would be
write-only from any caller that isn’t quadraui itself. This method
is the one supported way in.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RunConfig
impl RefUnwindSafe for RunConfig
impl Send for RunConfig
impl Sync for RunConfig
impl Unpin for RunConfig
impl UnsafeUnpin for RunConfig
impl UnwindSafe for RunConfig
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> 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