pub struct App {Show 14 fields
pub processes: Vec<ProcessInfo>,
pub selected: usize,
pub buffers: HashMap<String, OutputBuffer>,
pub stream_mode: StreamMode,
pub paused: bool,
pub scroll_offsets: HashMap<String, usize>,
pub running: bool,
pub stop_all_on_quit: bool,
pub input_mode: InputMode,
pub filter_buf: String,
pub filter: Option<String>,
pub visible_height: usize,
pub disk_readers: HashMap<String, DiskLogReader>,
pub filtered_indices: HashMap<String, FilteredIndex>,
}Fields§
§processes: Vec<ProcessInfo>§selected: usize§buffers: HashMap<String, OutputBuffer>§stream_mode: StreamMode§paused: bool§scroll_offsets: HashMap<String, usize>§running: bool§stop_all_on_quit: bool§input_mode: InputMode§filter_buf: StringIn-progress filter text while the user is typing.
filter: Option<String>Active filter applied to output lines. None means no filter.
visible_height: usizeCached visible height of the output pane (set during render).
disk_readers: HashMap<String, DiskLogReader>Disk-backed log readers for each process.
filtered_indices: HashMap<String, FilteredIndex>Cached filtered indices for filtered disk scrollback.
Implementations§
Source§impl App
impl App
pub fn new() -> Self
pub fn update_processes(&mut self, processes: Vec<ProcessInfo>)
pub fn selected_name(&self) -> Option<&str>
pub fn select_next(&mut self)
pub fn select_prev(&mut self)
pub fn cycle_stream_mode(&mut self)
pub fn toggle_pause(&mut self)
Sourcepub fn scroll_up_by(&mut self, lines: usize)
pub fn scroll_up_by(&mut self, lines: usize)
Scroll up by the given number of lines. Auto-pauses if not already paused. Clamps to the maximum scrollable range so overshooting the top is impossible.
Sourcepub fn scroll_down_by(&mut self, lines: usize)
pub fn scroll_down_by(&mut self, lines: usize)
Scroll down by the given number of lines. If we reach the bottom, unpause.
Sourcepub fn scroll_down(&mut self)
pub fn scroll_down(&mut self)
Scroll down by half a page.
pub fn scroll_to_top(&mut self)
pub fn scroll_to_bottom(&mut self)
Sourcepub fn visible_lines(
&mut self,
name: &str,
visible_height: usize,
) -> Option<Vec<(LineSource, String)>>
pub fn visible_lines( &mut self, name: &str, visible_height: usize, ) -> Option<Vec<(LineSource, String)>>
Fetch exactly the visible window of lines for rendering.
When a filter is active, uses the FilteredIndex to read matching
lines from disk. Returns Some in all cases.
pub fn start_filter(&mut self)
pub fn confirm_filter(&mut self)
pub fn cancel_filter(&mut self)
pub fn clear_filter(&mut self)
pub fn push_output(&mut self, process: &str, stream: Stream, line: &str)
pub fn quit(&mut self)
pub fn quit_and_stop(&mut self)
pub fn running_count(&self) -> usize
pub fn exited_count(&self) -> usize
pub fn failed_count(&self) -> usize
Trait Implementations§
Auto Trait Implementations§
impl Freeze for App
impl RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnsafeUnpin for App
impl UnwindSafe for App
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
Mutably borrows from an owned value. Read more
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>
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 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>
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