InternalSettings

Struct InternalSettings 

Source
pub struct InternalSettings {
    pub force_clear: bool,
    pub must_quit: bool,
    pub nvim_server: String,
    pub opener: Opener,
    pub width: u16,
    pub height: u16,
    pub disks: Disks,
    pub inside_neovim: bool,
    pub copy_file_queue: Vec<(Vec<PathBuf>, PathBuf)>,
    pub in_mem_progress: Option<InMemoryTerm>,
    pub clear_before_quit: bool,
    /* private fields */
}
Expand description

Internal settings of the status.

Every setting which couldn’t be attached elsewhere and is needed by the whole application. It knows:

  • if the content should be completely refreshed,
  • if the application has to quit,
  • the address of the nvim_server to send files to and if the application was launched from neovim,
  • which opener should be used for kind of files,
  • the height & width of the application,
  • basic informations about disks being used,
  • a copy queue to display informations about files beeing copied.

Fields§

§force_clear: bool

Do we have to clear the screen ?

§must_quit: bool

True if the user issued a quit event (Key::Char('q') by default). It’s used to exit the main loop before reseting the cursor.

§nvim_server: String

NVIM RPC server address

§opener: Opener

The opener used by the application.

§width: u16

terminal width

§height: u16

terminal height

§disks: Disks

Info about the running machine. Only used to detect disks and their mount points.

§inside_neovim: bool

true if the application was launched inside a neovim terminal emulator

§copy_file_queue: Vec<(Vec<PathBuf>, PathBuf)>

queue of pairs (sources, dest) to be copied. it shouldn’t be massive under normal usage so we can use a vector instead of an efficient queue data structure.

§in_mem_progress: Option<InMemoryTerm>

internal progressbar used to display copy progress

§clear_before_quit: bool

true if the terminal should be cleared before exit. It’s set to true when we reuse the window to start a new shell.

Implementations§

Source§

impl InternalSettings

Source

pub fn new(opener: Opener, size: Size, disks: Disks) -> Self

Source

pub fn term_size(&self) -> (u16, u16)

Returns the size of the terminal (width, height)

Source

pub fn update_size(&mut self, width: u16, height: u16)

Source

pub fn force_clear(&mut self)

Set a “force clear” flag to true, which will reset the display. It’s used when some command or whatever may pollute the terminal. We ensure to clear it before displaying again.

Source

pub fn reset_clear(&mut self)

Source

pub fn should_be_cleared(&self) -> bool

Source

pub fn disks(&mut self) -> &Disks

Source

pub fn mount_points(&mut self) -> Vec<&Path>

Source

pub fn update_nvim_listen_address(&mut self)

Source

pub fn copy_file_remove_head(&mut self) -> Result<()>

Remove the top of the copy queue.

Source

pub fn copy_next_file_in_queue( &mut self, fm_sender: Arc<Sender<FmEvents>>, width: u16, ) -> Result<()>

Source

pub fn store_copy_progress(&mut self, in_mem_progress_bar: InMemoryTerm)

Store copy progress bar. When a copy progress bar is stored, display manager is responsible for its display in the left tab.

Source

pub fn unset_copy_progress(&mut self)

Set copy progress bar to None.

Source

pub fn disable_display(&mut self)

Disable the application display. It’s used to give to allow another program to be executed.

Source

pub fn enable_display(&mut self)

Display the application after it gave its terminal to another program.

Enable the display again, clear the screen, set a flag to clear before quitting application.

Source

pub fn is_disabled(&self) -> bool

Source

pub fn open_in_window(&mut self, args: &[&str]) -> Result<()>

Source

pub fn open_single_file(&mut self, path: &Path) -> Result<()>

Source

pub fn open_flagged_files(&mut self, flagged: &Flagged) -> Result<()>

Source

pub fn quit(&mut self)

Set the must quit flag to true. The next update call will exit the application. It doesn’t exit the application itself.

Source

pub fn format_copy_progress(&self) -> Option<String>

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> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSend for T
where T: Send,