pub struct Session { /* private fields */ }Expand description
A single detached RMUX session.
Implementations§
Source§impl Session
impl Session
Sourcepub const fn name(&self) -> &SessionName
pub const fn name(&self) -> &SessionName
Returns the stable validated session name.
Sourcepub const fn group_name(&self) -> Option<&SessionName>
pub const fn group_name(&self) -> Option<&SessionName>
Returns the named session group when the session is grouped.
Sourcepub const fn id(&self) -> SessionId
pub const fn id(&self) -> SessionId
Returns the store-assigned session identity used by $N targets.
Sourcepub const fn created_at(&self) -> i64
pub const fn created_at(&self) -> i64
Returns the session creation timestamp as Unix seconds.
Sourcepub const fn activity_at(&self) -> i64
pub const fn activity_at(&self) -> i64
Returns the last session activity timestamp as Unix seconds.
Sourcepub const fn last_attached_at(&self) -> Option<i64>
pub const fn last_attached_at(&self) -> Option<i64>
Returns the last attached timestamp as Unix seconds.
Sourcepub fn cwd(&self) -> Option<&Path>
pub fn cwd(&self) -> Option<&Path>
Returns the session working directory when one has been assigned.
Sourcepub const fn terminal_size(&self) -> TerminalSize
pub const fn terminal_size(&self) -> TerminalSize
Returns the terminal size last applied to the session as a whole.
Sourcepub fn rename(&mut self, new_name: SessionName)
pub fn rename(&mut self, new_name: SessionName)
Renames the session without rewriting any other session state.
Sourcepub fn set_group_name(&mut self, group_name: Option<SessionName>)
pub fn set_group_name(&mut self, group_name: Option<SessionName>)
Assigns or clears the session group name without mutating any other session state.
Sourcepub fn touch_attached(&mut self)
pub fn touch_attached(&mut self)
Records that a client attached to the session at the current time.
Sourcepub fn clone_as_group_member(
&self,
name: SessionName,
group_name: SessionName,
session_id: SessionId,
) -> Self
pub fn clone_as_group_member( &self, name: SessionName, group_name: SessionName, session_id: SessionId, ) -> Self
Clones the session as a grouped peer with a fresh identity and timestamps.
Sourcepub fn synchronize_group_from(&mut self, source: &Session)
pub fn synchronize_group_from(&mut self, source: &Session)
Synchronizes shared grouped-session window state from the source session while preserving the local current window when possible.
Sourcepub fn synchronize_group_from_with_winlink_alert_map(
&mut self,
source: &Session,
winlink_alert_map: &BTreeMap<u32, u32>,
)
pub fn synchronize_group_from_with_winlink_alert_map( &mut self, source: &Session, winlink_alert_map: &BTreeMap<u32, u32>, )
Synchronizes grouped windows by identity while applying an authoritative permutation to peer-local winlink alert flags.
Sourcepub fn synchronize_group_from_with_window_selection_map(
&mut self,
source: &Session,
index_map: &BTreeMap<u32, u32>,
)
pub fn synchronize_group_from_with_window_selection_map( &mut self, source: &Session, index_map: &BTreeMap<u32, u32>, )
Synchronizes grouped window state while remapping selected source slots explicitly.
Sourcepub fn synchronize_group_from_with_window_selection_and_winlink_alert_maps(
&mut self,
source: &Session,
window_selection_map: &BTreeMap<u32, u32>,
winlink_alert_map: &BTreeMap<u32, u32>,
)
pub fn synchronize_group_from_with_window_selection_and_winlink_alert_maps( &mut self, source: &Session, window_selection_map: &BTreeMap<u32, u32>, winlink_alert_map: &BTreeMap<u32, u32>, )
Synchronizes grouped windows with independent maps for peer selection and peer-local winlink alert flags.
Sourcepub fn window_at(&self, window_index: u32) -> Option<&Window>
pub fn window_at(&self, window_index: u32) -> Option<&Window>
Returns the explicitly addressed window when it exists.
Sourcepub const fn windows(&self) -> &BTreeMap<u32, Window>
pub const fn windows(&self) -> &BTreeMap<u32, Window>
Returns all windows keyed by window index.
Sourcepub fn window_at_mut(&mut self, window_index: u32) -> Option<&mut Window>
pub fn window_at_mut(&mut self, window_index: u32) -> Option<&mut Window>
Returns the addressed window as a mutable reference when it exists.
Sourcepub fn winlink_alert_flags(&self, window_index: u32) -> AlertFlags
pub fn winlink_alert_flags(&self, window_index: u32) -> AlertFlags
Returns the persistent alert flags for the addressed window slot.
Sourcepub fn session_alert_flags(&self) -> AlertFlags
pub fn session_alert_flags(&self) -> AlertFlags
Returns the combined session alert flags across all alerted windows.
Sourcepub fn alerted_window_indexes(&self) -> Vec<u32>
pub fn alerted_window_indexes(&self) -> Vec<u32>
Returns the alerted window indexes in display order.
Sourcepub fn has_alerts(&self) -> bool
pub fn has_alerts(&self) -> bool
Returns whether any window in the session currently carries an alert.
Sourcepub fn add_winlink_alert_flags(
&mut self,
window_index: u32,
flags: AlertFlags,
) -> bool
pub fn add_winlink_alert_flags( &mut self, window_index: u32, flags: AlertFlags, ) -> bool
Adds persistent alert flags to the addressed session winlink.
Sourcepub fn clear_winlink_alert_flags(
&mut self,
window_index: u32,
flags: AlertFlags,
) -> bool
pub fn clear_winlink_alert_flags( &mut self, window_index: u32, flags: AlertFlags, ) -> bool
Clears the selected persistent alert flags from the addressed session winlink.
Sourcepub fn clear_all_winlink_alert_flags(&mut self, window_index: u32) -> bool
pub fn clear_all_winlink_alert_flags(&mut self, window_index: u32) -> bool
Clears all persistent alert flags from the addressed session winlink.
Sourcepub const fn active_window_index(&self) -> u32
pub const fn active_window_index(&self) -> u32
Returns the active window index.
Sourcepub const fn last_window_index(&self) -> Option<u32>
pub const fn last_window_index(&self) -> Option<u32>
Returns the previously active window index when one exists.
Sourcepub fn active_pane_index(&self) -> u32
pub fn active_pane_index(&self) -> u32
Returns the active pane index owned by the session.
Sourcepub fn active_pane_id(&self) -> Option<PaneId>
pub fn active_pane_id(&self) -> Option<PaneId>
Returns the stable internal identity for the active pane.
Sourcepub fn active_pane(&self) -> Option<&Pane>
pub fn active_pane(&self) -> Option<&Pane>
Returns the active pane when the session invariant is satisfied.
Source§impl Session
impl Session
Sourcepub fn select_layout(&mut self, layout: LayoutName)
pub fn select_layout(&mut self, layout: LayoutName)
Applies a layout to the session’s active window.
Sourcepub fn select_layout_in_window(
&mut self,
window_index: u32,
layout: LayoutName,
) -> Result<(), RmuxError>
pub fn select_layout_in_window( &mut self, window_index: u32, layout: LayoutName, ) -> Result<(), RmuxError>
Applies a layout to the addressed window.
Sourcepub fn select_layout_in_window_with_main_pane_size(
&mut self,
window_index: u32,
layout: LayoutName,
main_width: Option<u16>,
main_height: Option<u16>,
) -> Result<(), RmuxError>
pub fn select_layout_in_window_with_main_pane_size( &mut self, window_index: u32, layout: LayoutName, main_width: Option<u16>, main_height: Option<u16>, ) -> Result<(), RmuxError>
Applies a layout to the addressed window using tmux main-pane-* option values.
Sourcepub fn select_custom_layout_in_window(
&mut self,
window_index: u32,
layout: &str,
) -> Result<(), RmuxError>
pub fn select_custom_layout_in_window( &mut self, window_index: u32, layout: &str, ) -> Result<(), RmuxError>
Applies a tmux custom layout string to the addressed window.
Sourcepub fn reapply_old_layout_in_window(
&mut self,
window_index: u32,
) -> Result<bool, RmuxError>
pub fn reapply_old_layout_in_window( &mut self, window_index: u32, ) -> Result<bool, RmuxError>
Reapplies the previously saved tmux old layout to the addressed window.
Sourcepub fn save_old_layout_in_window(
&mut self,
window_index: u32,
) -> Result<(), RmuxError>
pub fn save_old_layout_in_window( &mut self, window_index: u32, ) -> Result<(), RmuxError>
Saves the current serialized layout as the window old layout.
Sourcepub fn spread_layout_in_window(
&mut self,
window_index: u32,
) -> Result<bool, RmuxError>
pub fn spread_layout_in_window( &mut self, window_index: u32, ) -> Result<bool, RmuxError>
Spreads the addressed window around its active pane, matching tmux select-layout -E.
Sourcepub fn next_layout_in_window(
&mut self,
window_index: u32,
) -> Result<LayoutName, RmuxError>
pub fn next_layout_in_window( &mut self, window_index: u32, ) -> Result<LayoutName, RmuxError>
Selects the next tmux-standard layout for the addressed window.
Sourcepub fn next_layout_in_window_with_main_pane_size(
&mut self,
window_index: u32,
main_width: Option<u16>,
main_height: Option<u16>,
) -> Result<LayoutName, RmuxError>
pub fn next_layout_in_window_with_main_pane_size( &mut self, window_index: u32, main_width: Option<u16>, main_height: Option<u16>, ) -> Result<LayoutName, RmuxError>
Selects the next tmux-standard layout using tmux main-pane-* option values.
Sourcepub fn previous_layout_in_window(
&mut self,
window_index: u32,
) -> Result<LayoutName, RmuxError>
pub fn previous_layout_in_window( &mut self, window_index: u32, ) -> Result<LayoutName, RmuxError>
Selects the previous tmux-standard layout for the addressed window.
Sourcepub fn previous_layout_in_window_with_main_pane_size(
&mut self,
window_index: u32,
main_width: Option<u16>,
main_height: Option<u16>,
) -> Result<LayoutName, RmuxError>
pub fn previous_layout_in_window_with_main_pane_size( &mut self, window_index: u32, main_width: Option<u16>, main_height: Option<u16>, ) -> Result<LayoutName, RmuxError>
Selects the previous tmux-standard layout using tmux main-pane-* option values.
Source§impl Session
impl Session
Sourcepub fn break_pane(
&mut self,
source: SessionPaneTarget,
options: BreakPaneOptions,
) -> Result<u32, RmuxError>
pub fn break_pane( &mut self, source: SessionPaneTarget, options: BreakPaneOptions, ) -> Result<u32, RmuxError>
Breaks one pane out into another window in the same session.
Source§impl Session
impl Session
Sourcepub fn last_pane_in_window(
&mut self,
window_index: u32,
) -> Result<u32, RmuxError>
pub fn last_pane_in_window( &mut self, window_index: u32, ) -> Result<u32, RmuxError>
Selects the previously active pane in the addressed window.
Sourcepub fn last_pane_in_window_with_zoom(
&mut self,
window_index: u32,
preserve_zoom: bool,
) -> Result<u32, RmuxError>
pub fn last_pane_in_window_with_zoom( &mut self, window_index: u32, preserve_zoom: bool, ) -> Result<u32, RmuxError>
Selects the previously active pane in the addressed window, preserving zoom when requested.
Sourcepub fn swap_panes(
&mut self,
source: SessionPaneTarget,
target: SessionPaneTarget,
options: PaneSwapOptions,
) -> Result<(), RmuxError>
pub fn swap_panes( &mut self, source: SessionPaneTarget, target: SessionPaneTarget, options: PaneSwapOptions, ) -> Result<(), RmuxError>
Swaps two panes within the same session without renumbering either pane.
Sourcepub fn join_pane(
&mut self,
source: SessionPaneTarget,
target: SessionPaneTarget,
options: PaneJoinOptions,
) -> Result<(), RmuxError>
pub fn join_pane( &mut self, source: SessionPaneTarget, target: SessionPaneTarget, options: PaneJoinOptions, ) -> Result<(), RmuxError>
Moves one pane next to another pane in the same session.
Source§impl Session
impl Session
Sourcepub fn swap_panes_with_session(
&mut self,
source: SessionPaneTarget,
target_session: &mut Session,
target: SessionPaneTarget,
options: PaneSwapOptions,
) -> Result<(), RmuxError>
pub fn swap_panes_with_session( &mut self, source: SessionPaneTarget, target_session: &mut Session, target: SessionPaneTarget, options: PaneSwapOptions, ) -> Result<(), RmuxError>
Swaps one pane in this session with one pane in another session.
Sourcepub fn join_pane_from_session(
&mut self,
target: SessionPaneTarget,
source_session: &mut Session,
source: SessionPaneTarget,
options: PaneJoinOptions,
) -> Result<(), RmuxError>
pub fn join_pane_from_session( &mut self, target: SessionPaneTarget, source_session: &mut Session, source: SessionPaneTarget, options: PaneJoinOptions, ) -> Result<(), RmuxError>
Moves one pane from another session into this session.
Sourcepub fn break_pane_to_session(
&mut self,
source: SessionPaneTarget,
destination_session: &mut Session,
options: BreakPaneOptions,
) -> Result<u32, RmuxError>
pub fn break_pane_to_session( &mut self, source: SessionPaneTarget, destination_session: &mut Session, options: BreakPaneOptions, ) -> Result<u32, RmuxError>
Breaks one pane out into another session as its own window.
Source§impl Session
impl Session
Sourcepub fn resize_pane(
&mut self,
pane_index: u32,
adjustment: ResizePaneAdjustment,
) -> Result<(), RmuxError>
pub fn resize_pane( &mut self, pane_index: u32, adjustment: ResizePaneAdjustment, ) -> Result<(), RmuxError>
Applies the supported resize adjustment to the session layout.
Sourcepub fn resize_pane_in_window(
&mut self,
window_index: u32,
pane_index: u32,
adjustment: ResizePaneAdjustment,
) -> Result<(), RmuxError>
pub fn resize_pane_in_window( &mut self, window_index: u32, pane_index: u32, adjustment: ResizePaneAdjustment, ) -> Result<(), RmuxError>
Applies the supported resize adjustment to the addressed window.
Sourcepub fn resize_pane_to_in_window(
&mut self,
window_index: u32,
pane_index: u32,
direction: SplitDirection,
size: u32,
) -> Result<(), RmuxError>
pub fn resize_pane_to_in_window( &mut self, window_index: u32, pane_index: u32, direction: SplitDirection, size: u32, ) -> Result<(), RmuxError>
Resizes the addressed pane to an exact size along the split axis.
Sourcepub fn resize_new_split_pane_to_in_window(
&mut self,
window_index: u32,
new_pane_index: u32,
direction: SplitDirection,
size: u32,
inserted_before_target: bool,
) -> Result<(), RmuxError>
pub fn resize_new_split_pane_to_in_window( &mut self, window_index: u32, new_pane_index: u32, direction: SplitDirection, size: u32, inserted_before_target: bool, ) -> Result<(), RmuxError>
Resizes the newly split pane while keeping the adjustment inside the
original target pane cell. Plain resize_pane_to follows tmux’s normal
border-selection rules and may borrow size from the next sibling when a
pane is not last. For split-window -l, tmux instead sizes the new pane
against the pane it just split, leaving unrelated neighbours untouched.
Source§impl Session
impl Session
Sourcepub fn select_window(&mut self, window_index: u32) -> Result<(), RmuxError>
pub fn select_window(&mut self, window_index: u32) -> Result<(), RmuxError>
Selects the active window by index.
Sourcepub fn next_window(&mut self) -> Result<u32, RmuxError>
pub fn next_window(&mut self) -> Result<u32, RmuxError>
Selects the next window in sparse index order, wrapping to the lowest index.
Sourcepub fn next_window_with_alerts(&mut self) -> Result<u32, RmuxError>
pub fn next_window_with_alerts(&mut self) -> Result<u32, RmuxError>
Selects the next alerted window in sparse index order.
Sourcepub fn previous_window(&mut self) -> Result<u32, RmuxError>
pub fn previous_window(&mut self) -> Result<u32, RmuxError>
Selects the previous window in sparse index order, wrapping to the highest index.
Sourcepub fn previous_window_with_alerts(&mut self) -> Result<u32, RmuxError>
pub fn previous_window_with_alerts(&mut self) -> Result<u32, RmuxError>
Selects the previous alerted window in sparse index order.
Sourcepub fn last_window(&mut self) -> Result<u32, RmuxError>
pub fn last_window(&mut self) -> Result<u32, RmuxError>
Selects the most recently active window.
Sourcepub fn restore_last_window_after_active_unlink(&mut self)
pub fn restore_last_window_after_active_unlink(&mut self)
Restores tmux’s winlink stack fallback after unlinking an active linked slot.
Source§impl Session
impl Session
Sourcepub fn create_window(
&mut self,
size: TerminalSize,
) -> Result<(u32, PaneId), RmuxError>
pub fn create_window( &mut self, size: TerminalSize, ) -> Result<(u32, PaneId), RmuxError>
Creates a new window at the lowest available index and returns its window index together with the initial pane ID.
Sourcepub fn create_window_at_or_above(
&mut self,
size: TerminalSize,
minimum_index: u32,
) -> Result<(u32, PaneId), RmuxError>
pub fn create_window_at_or_above( &mut self, size: TerminalSize, minimum_index: u32, ) -> Result<(u32, PaneId), RmuxError>
Creates a new window at the lowest available index at or above minimum_index.
Sourcepub fn create_window_at_or_above_with_pane_id(
&mut self,
size: TerminalSize,
minimum_index: u32,
pane_id: PaneId,
) -> Result<(u32, PaneId), RmuxError>
pub fn create_window_at_or_above_with_pane_id( &mut self, size: TerminalSize, minimum_index: u32, pane_id: PaneId, ) -> Result<(u32, PaneId), RmuxError>
Creates a new window at the lowest available index at or above minimum_index
using the provided initial pane identity.
Sourcepub fn insert_window_with_initial_pane(
&mut self,
window_index: u32,
size: TerminalSize,
) -> Result<(), RmuxError>
pub fn insert_window_with_initial_pane( &mut self, window_index: u32, size: TerminalSize, ) -> Result<(), RmuxError>
Inserts a window with its initial pane at the provided window index.
Sourcepub fn insert_window_with_initial_pane_with_id(
&mut self,
window_index: u32,
size: TerminalSize,
pane_id: PaneId,
) -> Result<(), RmuxError>
pub fn insert_window_with_initial_pane_with_id( &mut self, window_index: u32, size: TerminalSize, pane_id: PaneId, ) -> Result<(), RmuxError>
Inserts a window with its initial pane at the provided window index using the supplied pane identity.
Sourcepub fn insert_existing_window(
&mut self,
window_index: u32,
window: Window,
) -> Result<(), RmuxError>
pub fn insert_existing_window( &mut self, window_index: u32, window: Window, ) -> Result<(), RmuxError>
Inserts an existing window at the provided window index without rewriting its identities.
Sourcepub fn make_room_for_window(
&mut self,
window_index: u32,
) -> Result<BTreeMap<u32, u32>, RmuxError>
pub fn make_room_for_window( &mut self, window_index: u32, ) -> Result<BTreeMap<u32, u32>, RmuxError>
Opens a destination slot for insertion and returns every shifted old-to-new winlink index.
Sourcepub fn link_window(
&mut self,
window_index: u32,
window: Window,
kill_destination: bool,
select_destination: bool,
) -> Result<Option<Window>, RmuxError>
pub fn link_window( &mut self, window_index: u32, window: Window, kill_destination: bool, select_destination: bool, ) -> Result<Option<Window>, RmuxError>
Inserts a linked copy of an existing window at the destination slot.
Sourcepub fn replace_window(
&mut self,
window_index: u32,
window: Window,
) -> Result<Window, RmuxError>
pub fn replace_window( &mut self, window_index: u32, window: Window, ) -> Result<Window, RmuxError>
Replaces an existing window at the provided index and returns the removed window.
Sourcepub fn remove_window(&mut self, window_index: u32) -> Result<Window, RmuxError>
pub fn remove_window(&mut self, window_index: u32) -> Result<Window, RmuxError>
Removes the addressed window and returns it, using tmux’s last-then-previous-then-next active fallback when needed.
Sourcepub fn remove_window_allowing_empty(
&mut self,
window_index: u32,
) -> Result<Window, RmuxError>
pub fn remove_window_allowing_empty( &mut self, window_index: u32, ) -> Result<Window, RmuxError>
Removes a window even when it is the final window in the session.
Callers must destroy the now-empty session in the same transaction.
Sourcepub fn rename_window(
&mut self,
window_index: u32,
name: String,
) -> Result<(), RmuxError>
pub fn rename_window( &mut self, window_index: u32, name: String, ) -> Result<(), RmuxError>
Renames the addressed window and disables automatic renaming for it.
Sourcepub fn set_automatic_window_name(
&mut self,
window_index: u32,
name: String,
) -> Result<(), RmuxError>
pub fn set_automatic_window_name( &mut self, window_index: u32, name: String, ) -> Result<(), RmuxError>
Updates the addressed window name while preserving automatic renaming.
Sourcepub fn reindex_windows(&mut self) -> Result<BTreeMap<u32, u32>, RmuxError>
pub fn reindex_windows(&mut self) -> Result<BTreeMap<u32, u32>, RmuxError>
Reindexes sparse window slots into a contiguous 0..n range without rewriting the windows themselves.
Sourcepub fn reindex_windows_from(
&mut self,
first_index: u32,
) -> Result<BTreeMap<u32, u32>, RmuxError>
pub fn reindex_windows_from( &mut self, first_index: u32, ) -> Result<BTreeMap<u32, u32>, RmuxError>
Reindexes sparse window slots into a contiguous range starting at first_index.
Sourcepub fn move_window(
&mut self,
source_index: u32,
destination_index: u32,
kill_destination: bool,
select_destination: bool,
) -> Result<Option<Window>, RmuxError>
pub fn move_window( &mut self, source_index: u32, destination_index: u32, kill_destination: bool, select_destination: bool, ) -> Result<Option<Window>, RmuxError>
Moves one window to another slot within the same session, optionally removing an occupied destination.
When select_destination is true, the destination slot becomes active
using tmux’s winlink-based selection semantics instead of following the
moved window by identity.
Sourcepub fn swap_windows(
&mut self,
source_index: u32,
destination_index: u32,
) -> Result<(), RmuxError>
pub fn swap_windows( &mut self, source_index: u32, destination_index: u32, ) -> Result<(), RmuxError>
Swaps two window slots within the same session while preserving the underlying windows.
Sourcepub fn rotate_window(
&mut self,
window_index: u32,
direction: RotateWindowDirection,
) -> Result<(), RmuxError>
pub fn rotate_window( &mut self, window_index: u32, direction: RotateWindowDirection, ) -> Result<(), RmuxError>
Rotates pane positions in the addressed window without renumbering the panes themselves.
Sourcepub fn rotate_window_with_zoom(
&mut self,
window_index: u32,
direction: RotateWindowDirection,
restore_zoom: bool,
) -> Result<(), RmuxError>
pub fn rotate_window_with_zoom( &mut self, window_index: u32, direction: RotateWindowDirection, restore_zoom: bool, ) -> Result<(), RmuxError>
Rotates pane positions with zoom save/restore via -Z.
Sourcepub fn resize_window(
&mut self,
window_index: u32,
size: TerminalSize,
) -> Result<(), RmuxError>
pub fn resize_window( &mut self, window_index: u32, size: TerminalSize, ) -> Result<(), RmuxError>
Sets the explicit size of the addressed window.
Source§impl Session
impl Session
Sourcepub fn new(name: SessionName, size: TerminalSize) -> Self
pub fn new(name: SessionName, size: TerminalSize) -> Self
Creates a new session with its initial pane active.
Sourcepub fn split_active_pane(&mut self) -> Result<u32, RmuxError>
pub fn split_active_pane(&mut self) -> Result<u32, RmuxError>
Splits the current active pane and returns the new pane index, making the new pane active.
Sourcepub fn split_active_pane_with_direction(
&mut self,
direction: SplitDirection,
) -> Result<u32, RmuxError>
pub fn split_active_pane_with_direction( &mut self, direction: SplitDirection, ) -> Result<u32, RmuxError>
Splits the current active pane in the requested direction.
Sourcepub fn split_pane(&mut self, pane_index: u32) -> Result<u32, RmuxError>
pub fn split_pane(&mut self, pane_index: u32) -> Result<u32, RmuxError>
Splits the addressed pane, inserting the new pane immediately after the split target in window order.
Sourcepub fn split_pane_with_direction(
&mut self,
pane_index: u32,
direction: SplitDirection,
) -> Result<u32, RmuxError>
pub fn split_pane_with_direction( &mut self, pane_index: u32, direction: SplitDirection, ) -> Result<u32, RmuxError>
Splits the addressed pane in the active window using the requested direction.
Sourcepub fn split_pane_in_window(
&mut self,
window_index: u32,
pane_index: u32,
) -> Result<u32, RmuxError>
pub fn split_pane_in_window( &mut self, window_index: u32, pane_index: u32, ) -> Result<u32, RmuxError>
Splits the addressed pane in the addressed window and returns the new pane index.
Sourcepub fn split_pane_in_window_with_direction(
&mut self,
window_index: u32,
pane_index: u32,
direction: SplitDirection,
) -> Result<u32, RmuxError>
pub fn split_pane_in_window_with_direction( &mut self, window_index: u32, pane_index: u32, direction: SplitDirection, ) -> Result<u32, RmuxError>
Splits the addressed pane in the addressed window using the requested direction.
Sourcepub fn split_pane_in_window_with_direction_before(
&mut self,
window_index: u32,
pane_index: u32,
direction: SplitDirection,
before: bool,
) -> Result<u32, RmuxError>
pub fn split_pane_in_window_with_direction_before( &mut self, window_index: u32, pane_index: u32, direction: SplitDirection, before: bool, ) -> Result<u32, RmuxError>
Splits the addressed pane in the addressed window using the requested
direction, controlling whether the new pane is inserted before the
target on the chosen axis (tmux -b).
Sourcepub fn split_pane_in_window_with_id_and_direction(
&mut self,
window_index: u32,
pane_index: u32,
pane_id: PaneId,
direction: SplitDirection,
) -> Result<u32, RmuxError>
pub fn split_pane_in_window_with_id_and_direction( &mut self, window_index: u32, pane_index: u32, pane_id: PaneId, direction: SplitDirection, ) -> Result<u32, RmuxError>
Splits the addressed pane in the addressed window using the provided pane identity.
The new pane is inserted after the target on the chosen axis. Callers
that need tmux -b semantics (insert before) should use
Session::split_pane_in_window_with_id_and_direction_before.
Sourcepub fn split_pane_in_window_with_id_and_direction_before(
&mut self,
window_index: u32,
pane_index: u32,
pane_id: PaneId,
direction: SplitDirection,
before: bool,
) -> Result<u32, RmuxError>
pub fn split_pane_in_window_with_id_and_direction_before( &mut self, window_index: u32, pane_index: u32, pane_id: PaneId, direction: SplitDirection, before: bool, ) -> Result<u32, RmuxError>
Splits the addressed pane, controlling whether the new pane lands
before (-b) or after the target on the chosen axis.
Sourcepub fn split_pane_in_window_with_id_and_direction_before_detached(
&mut self,
window_index: u32,
pane_index: u32,
pane_id: PaneId,
direction: SplitDirection,
before: bool,
detached: bool,
) -> Result<u32, RmuxError>
pub fn split_pane_in_window_with_id_and_direction_before_detached( &mut self, window_index: u32, pane_index: u32, pane_id: PaneId, direction: SplitDirection, before: bool, detached: bool, ) -> Result<u32, RmuxError>
Splits like Self::split_pane_in_window_with_id_and_direction_before
but honors tmux -d: a detached spawn leaves the active pane, the
last pane, and the active_point counters untouched.
Sourcepub fn split_pane_full_size_in_window_with_id_and_direction_before(
&mut self,
window_index: u32,
pane_index: u32,
pane_id: PaneId,
direction: SplitDirection,
before: bool,
) -> Result<u32, RmuxError>
pub fn split_pane_full_size_in_window_with_id_and_direction_before( &mut self, window_index: u32, pane_index: u32, pane_id: PaneId, direction: SplitDirection, before: bool, ) -> Result<u32, RmuxError>
Splits the full addressed window root and returns the new pane index.
Sourcepub fn split_pane_full_size_in_window_with_id_and_direction_before_detached(
&mut self,
window_index: u32,
pane_index: u32,
pane_id: PaneId,
direction: SplitDirection,
before: bool,
detached: bool,
) -> Result<u32, RmuxError>
pub fn split_pane_full_size_in_window_with_id_and_direction_before_detached( &mut self, window_index: u32, pane_index: u32, pane_id: PaneId, direction: SplitDirection, before: bool, detached: bool, ) -> Result<u32, RmuxError>
Full-size split honoring tmux -d like
Self::split_pane_in_window_with_id_and_direction_before_detached.
Sourcepub fn kill_pane(
&mut self,
pane_index: u32,
) -> Result<KillPaneOutcome, RmuxError>
pub fn kill_pane( &mut self, pane_index: u32, ) -> Result<KillPaneOutcome, RmuxError>
Removes the addressed pane in the active window.
Sourcepub fn kill_pane_in_window(
&mut self,
window_index: u32,
pane_index: u32,
) -> Result<KillPaneOutcome, RmuxError>
pub fn kill_pane_in_window( &mut self, window_index: u32, pane_index: u32, ) -> Result<KillPaneOutcome, RmuxError>
Removes the addressed pane or destroys its window when it is the last pane there.
Sourcepub fn kill_other_panes_in_window(
&mut self,
window_index: u32,
pane_index: u32,
) -> Result<KillPaneOutcome, RmuxError>
pub fn kill_other_panes_in_window( &mut self, window_index: u32, pane_index: u32, ) -> Result<KillPaneOutcome, RmuxError>
Removes every pane except the addressed pane, matching kill-pane -a.
Sourcepub fn select_pane(&mut self, pane_index: u32) -> Result<(), RmuxError>
pub fn select_pane(&mut self, pane_index: u32) -> Result<(), RmuxError>
Selects the active pane for the session.
Sourcepub fn select_pane_in_window(
&mut self,
window_index: u32,
pane_index: u32,
) -> Result<(), RmuxError>
pub fn select_pane_in_window( &mut self, window_index: u32, pane_index: u32, ) -> Result<(), RmuxError>
Selects the active pane for the addressed window.
Sourcepub fn select_pane_in_window_with_zoom(
&mut self,
window_index: u32,
pane_index: u32,
preserve_zoom: bool,
) -> Result<(), RmuxError>
pub fn select_pane_in_window_with_zoom( &mut self, window_index: u32, pane_index: u32, preserve_zoom: bool, ) -> Result<(), RmuxError>
Selects the active pane for the addressed window, preserving zoom when requested.
Sourcepub fn select_adjacent_pane_in_window(
&mut self,
window_index: u32,
pane_index: u32,
direction: SelectPaneDirection,
) -> Result<u32, RmuxError>
pub fn select_adjacent_pane_in_window( &mut self, window_index: u32, pane_index: u32, direction: SelectPaneDirection, ) -> Result<u32, RmuxError>
Selects the pane adjacent to the addressed pane in the requested direction.
Sourcepub fn select_adjacent_pane_in_window_with_zoom(
&mut self,
window_index: u32,
pane_index: u32,
direction: SelectPaneDirection,
preserve_zoom: bool,
) -> Result<u32, RmuxError>
pub fn select_adjacent_pane_in_window_with_zoom( &mut self, window_index: u32, pane_index: u32, direction: SelectPaneDirection, preserve_zoom: bool, ) -> Result<u32, RmuxError>
Selects an adjacent pane, preserving zoom when requested.
Sourcepub fn resize_terminal(&mut self, size: TerminalSize)
pub fn resize_terminal(&mut self, size: TerminalSize)
Updates the backing terminal size and recalculates pane geometry for all windows.
Sourcepub fn resize_active_window_terminal(&mut self, size: TerminalSize)
pub fn resize_active_window_terminal(&mut self, size: TerminalSize)
Updates the backing terminal size and recalculates only the active window geometry.
Attached clients drive the size of the window they are currently viewing. Inactive windows can have independent policies and may share a runtime with another session, so resizing every window here would leak the active window’s size into unrelated runtimes.
Sourcepub fn window_index_for_pane_id(&self, pane_id: PaneId) -> Option<u32>
pub fn window_index_for_pane_id(&self, pane_id: PaneId) -> Option<u32>
Resolves the owning window index for the given pane identity when present.