pub struct TmuxPaneSource;Expand description
Production implementation — shells out to tmux capture-pane.
-e preserves ANSI escape sequences (T-074 bug 3 fix; without
-e the captured output is colour-stripped and the detail pane
renders as monochrome regardless of terminal colour mode). -J
joins wrapped lines, -p writes to stdout, -S -3000 pulls the
last 3000 lines of scrollback. Order of flags is incidental;
keep -e adjacent to the other capture-shape flags for grep.
Trait Implementations§
Source§impl Clone for TmuxPaneSource
impl Clone for TmuxPaneSource
Source§fn clone(&self) -> TmuxPaneSource
fn clone(&self) -> TmuxPaneSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TmuxPaneSource
Source§impl Debug for TmuxPaneSource
impl Debug for TmuxPaneSource
Source§impl Default for TmuxPaneSource
impl Default for TmuxPaneSource
Source§fn default() -> TmuxPaneSource
fn default() -> TmuxPaneSource
Source§impl PaneSource for TmuxPaneSource
impl PaneSource for TmuxPaneSource
Source§fn last_activity_secs(&self, session: &str) -> Option<u64>
fn last_activity_secs(&self, session: &str) -> Option<u64>
tmux display-message -p -t <session> '#{window_activity}' is a
single cheap query (no scrollback transfer) returning the Unix
timestamp of the window’s last activity. Gating capture on it
stops an idle pane being re-captured ~10x/second (#277). The
resolution is whole seconds, so an unchanged ts within the current
second does not mean the pane is idle (it may be mid-burst) —
recapture_focused_pane only treats the cache as fresh once this ts
is in an earlier second (its settled-second gate). This is the
window’s activity, which is the right signal because a teamctl
agent session is single-window/single-pane today; if sessions ever
gain extra windows or splits, revisit this (the slow 1 Hz
unconditional refresh bounds any staleness to ~1s regardless). An
empty or non-numeric result (unknown session, or a tmux without
window_activity) yields None, which falls back to an
unconditional capture, the same behaviour as before this change.
fn capture(&self, session: &str) -> Result<Vec<String>>
Auto Trait Implementations§
impl Freeze for TmuxPaneSource
impl RefUnwindSafe for TmuxPaneSource
impl Send for TmuxPaneSource
impl Sync for TmuxPaneSource
impl Unpin for TmuxPaneSource
impl UnsafeUnpin for TmuxPaneSource
impl UnwindSafe for TmuxPaneSource
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> 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