Skip to main content

RawTerminal

Struct RawTerminal 

Source
pub struct RawTerminal { /* private fields */ }
Expand description

A drop guard that applies raw mode to a terminal and restores the original settings when dropped.

The guard duplicates the target file descriptor so restoration still works even if the caller later drops the original handle.

Implementations§

Source§

impl RawTerminal

Source

pub fn enter() -> Result<Self>

Enters raw mode for the process stdin file descriptor.

Source

pub fn from_fd<Fd>(fd: &Fd) -> Result<Self>
where Fd: AsFd,

Enters raw mode for the provided terminal file descriptor.

The descriptor must refer to a terminal device. The guard duplicates the descriptor before applying raw mode so the caller may drop the original handle after creation.

Source

pub fn restore(&self) -> Result<()>

Restores the terminal settings captured when the guard was created.

This provides explicit restore support for callers that want error feedback before the guard later runs its drop path.

Trait Implementations§

Source§

impl Debug for RawTerminal

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for RawTerminal

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.