### pub async fn start_daemon(config: DaemonConfig, client: TmuxClient) -> Result<()> Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/fn.start_daemon.html Starts the daemon server with the specified configuration and client. ```APIDOC ## start_daemon ### Description Starts the daemon server. ### Signature `pub async fn start_daemon(config: DaemonConfig, client: TmuxClient) -> Result<()>` ### Parameters - **config** (DaemonConfig) - Required - The configuration object for the daemon. - **client** (TmuxClient) - Required - The tmux client instance. ### Returns - **Result<()>** - Returns an empty result on success, or an error if the daemon fails to start. ``` -------------------------------- ### start_daemon function signature Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/fn.start_daemon.html The function signature for starting the daemon server, requiring a DaemonConfig and a TmuxClient. ```rust pub async fn start_daemon( config: DaemonConfig, client: TmuxClient, ) -> Result<()> ``` -------------------------------- ### ControlModeClient::start Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/control/struct.ControlModeClient.html Starts a new tmux control mode session using the specified tmux binary path. ```APIDOC ## pub async fn start(tmux_binary: &PathBuf) -> Result ### Description Starts tmux in control mode, attaching to an existing server. Returns a client that yields events as they arrive. ### Parameters - **tmux_binary** (&PathBuf) - Required - The path to the tmux binary executable. ``` -------------------------------- ### TmuxClient::new Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/struct.TmuxClient.html Creates a new instance of the TmuxClient, optionally specifying the path to the tmux binary. ```APIDOC ## pub fn new(binary: Option) -> Result ### Description Initializes a new TmuxClient. If no binary path is provided, it defaults to the system tmux. ### Parameters - **binary** (Option) - Optional - The path to the tmux executable. ``` -------------------------------- ### ThemeConfig Methods Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/theme/struct.ThemeConfig.html Methods available for initializing and managing theme configurations. ```APIDOC ## pub fn by_name(name: &str) -> Self ### Description Creates a new ThemeConfig instance based on the provided theme name. ### Parameters - **name** (&str) - Required - The name of the theme to load. --- ## pub fn default_theme() -> Self ### Description Returns the default ThemeConfig instance. --- ## pub fn catppuccin_mocha() -> Self ### Description Returns a pre-configured ThemeConfig instance using the Catppuccin Mocha color palette. --- ## pub fn dracula() -> Self ### Description Returns a pre-configured ThemeConfig instance using the Dracula color palette. --- ## pub fn nord() -> Self ### Description Returns a pre-configured ThemeConfig instance using the Nord color palette. ``` -------------------------------- ### pub fn discover_plugins(directories: &[PathBuf]) -> Vec<(PathBuf, PluginManifest)> Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/fn.discover_plugins.html Discovers plugins in a directory without loading them. Returns a vector of tuples containing the path to the plugin and its associated manifest. ```APIDOC ## discover_plugins ### Description Discover plugins in a directory (without loading them). ### Signature `pub fn discover_plugins(directories: &[PathBuf]) -> Vec<(PathBuf, PluginManifest)>` ### Parameters - **directories** (&[PathBuf]) - Required - A slice of paths to search for plugins. ### Returns - **Vec<(PathBuf, PluginManifest)>** - A vector of tuples, where each tuple contains the `PathBuf` to the discovered plugin and its corresponding `PluginManifest`. ``` -------------------------------- ### AppConfig::load Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.AppConfig.html Loads the application configuration from a specified path or the default location. ```APIDOC ## pub fn load(path: Option<&Path>) -> Result ### Description Loads the configuration from the provided path or the default system path if None is provided. ### Parameters - **path** (Option<&Path>) - Optional - The filesystem path to the configuration file. ``` -------------------------------- ### PluginManager::new Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Creates a new instance of the PluginManager. ```APIDOC ## pub fn new() -> Self ### Description Creates a new instance of the PluginManager. ``` -------------------------------- ### AppConfig::theme Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.AppConfig.html Resolves and returns the theme configuration. ```APIDOC ## pub fn theme(&self) -> ThemeConfig ### Description Resolves the current theme configuration based on the loaded AppConfig settings. ``` -------------------------------- ### Retrieve default plugin directories Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/fn.default_plugin_dirs.html Returns a list of default paths where plugins are located. ```rust pub fn default_plugin_dirs() -> Vec ``` -------------------------------- ### PluginManager::list_plugins Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Lists all loaded plugin manifests. ```APIDOC ## pub fn list_plugins(&self) -> Vec<&PluginManifest> ### Description List loaded plugin manifests. ``` -------------------------------- ### PluginManager::load_plugins Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Discovers and loads plugins from the specified directories. ```APIDOC ## pub async fn load_plugins(&mut self, directories: &[PathBuf], enabled: &[String]) -> Result<()> ### Description Discover and load plugins from configured directories. ``` -------------------------------- ### AppConfig::write_default Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.AppConfig.html Writes the default configuration template to the specified path. ```APIDOC ## pub fn write_default(path: &Path) -> Result<()> ### Description Generates and writes the default configuration file to the provided path. ### Parameters - **path** (&Path) - Required - The destination path for the default configuration file. ``` -------------------------------- ### TmuxClient::snapshot Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/struct.TmuxClient.html Takes a full snapshot of all sessions, windows, and panes currently managed by the tmux server. ```APIDOC ## pub async fn snapshot(&self) -> Result ### Description Retrieves a comprehensive snapshot of the current tmux state. ``` -------------------------------- ### pub async fn rpc_call Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/fn.rpc_call.html Sends a single RPC request to the daemon and returns the response. ```APIDOC ## rpc_call ### Description Sends a single RPC request to the daemon and retrieves the response. ### Signature `pub async fn rpc_call(socket_path: &Path, method: &str, params: Value) -> Result` ### Parameters - **socket_path** (&Path) - The path to the daemon socket. - **method** (&str) - The RPC method to invoke. - **params** (Value) - The parameters for the RPC call. ``` -------------------------------- ### AppConfig::default_path Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.AppConfig.html Retrieves the default filesystem path used for the configuration file. ```APIDOC ## pub fn default_path() -> PathBuf ### Description Returns the default path where the application expects the configuration file to be located. ``` -------------------------------- ### discover_plugins Function Signature Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/fn.discover_plugins.html The function signature for discovering plugins within a slice of PathBuf directories. ```rust pub fn discover_plugins( directories: &[PathBuf], ) -> Vec<(PathBuf, PluginManifest)> ``` -------------------------------- ### pub async fn is_daemon_running(socket_path: &Path) -> bool Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/fn.is_daemon_running.html Checks if a daemon is currently running at the provided socket path. ```APIDOC ## Function: is_daemon_running ### Description Checks if a daemon is currently running by verifying the socket at the specified path. ### Signature `pub async fn is_daemon_running(socket_path: &Path) -> bool` ### Parameters - **socket_path** (&Path) - Required - The file system path to the daemon's socket. ### Returns - **bool** - Returns `true` if the daemon is running, otherwise `false`. ``` -------------------------------- ### Define UiConfig struct Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.UiConfig.html The structure definition for UI configuration settings in tmuxpulse. ```rust pub struct UiConfig { pub show_hidden: bool, pub default_view: ViewMode, pub mouse: bool, pub border_style: BorderStyle, pub show_status_bar: bool, pub card_min_width: u16, pub card_min_height: u16, } ``` -------------------------------- ### AppConfig Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.AppConfig.html The primary configuration structure containing nested configuration modules. ```rust pub struct AppConfig { pub general: GeneralConfig, pub ui: UiConfig, pub keybindings: KeybindingConfig, pub daemon: DaemonConfig, pub plugins: PluginConfig, } ``` -------------------------------- ### GeneralConfig Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.GeneralConfig.html The primary configuration structure containing settings for theme, polling, and tmux binary path. ```rust pub struct GeneralConfig { pub theme: String, pub poll_interval_ms: u64, pub capture_lines: usize, pub stale_threshold_secs: u64, pub tmux_binary: Option, } ``` -------------------------------- ### PluginManifest Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManifest.html Defines the schema for plugin manifests, including fields for name, version, description, entry point, hooks, and minimum version requirements. ```rust pub struct PluginManifest { pub name: String, pub version: String, pub description: String, pub entry: String, pub hooks: Vec, pub min_version: Option, } ``` -------------------------------- ### Define AppState struct Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/state/struct.AppState.html The primary state container holding configuration, session data, and UI-related flags. ```rust pub struct AppState {Show 19 fields pub config: AppConfig, pub snapshot: Snapshot, pub previews: HashMap, pub card_states: HashMap, pub cursor_index: usize, pub focused_session: Option, pub hovered_session: Option, pub tabs: Vec, pub active_tab: usize, pub search_active: bool, pub search_query: String, pub palette_open: bool, pub palette_index: usize, pub toast_message: Option, pub toast_expires: Option, pub capture_offset: usize, pub last_error: Option, pub inflight: bool, pub tick_count: u64, } ``` -------------------------------- ### Define ThemeConfig struct Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/theme/struct.ThemeConfig.html The structure definition for ThemeConfig, containing 21 fields for various UI color elements. ```rust pub struct ThemeConfig {Show 21 fields pub name: String, pub border_normal: ThemeColor, pub border_focused: ThemeColor, pub border_cursor: ThemeColor, pub border_hover: ThemeColor, pub border_pulse: ThemeColor, pub border_stale: ThemeColor, pub border_dead: ThemeColor, pub bg_primary: ThemeColor, pub bg_secondary: ThemeColor, pub fg_primary: ThemeColor, pub fg_secondary: ThemeColor, pub fg_muted: ThemeColor, pub accent: ThemeColor, pub warning: ThemeColor, pub error: ThemeColor, pub success: ThemeColor, pub tab_active: ThemeColor, pub tab_inactive: ThemeColor, pub status_bg: ThemeColor, pub search_highlight: ThemeColor, } ``` -------------------------------- ### default_plugin_dirs() Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/fn.default_plugin_dirs.html Retrieves the default plugin directories as a vector of PathBuf objects. ```APIDOC ## fn default_plugin_dirs ### Description Returns the default plugin directories used by the application. ### Signature `pub fn default_plugin_dirs() -> Vec` ### Returns - **Vec** - A vector containing the paths to the default plugin directories. ``` -------------------------------- ### DaemonConfig Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.DaemonConfig.html The primary structure definition for daemon configuration. ```rust pub struct DaemonConfig { pub socket_path: Option, pub auth_token: String, } ``` -------------------------------- ### PluginManager::broadcast_event Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Broadcasts a MuxEvent to all plugins. ```APIDOC ## pub async fn broadcast_event(&mut self, event: &MuxEvent) ### Description Broadcast a MuxEvent to all plugins. ``` -------------------------------- ### PluginManager::plugin_count Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Returns the number of loaded plugins. ```APIDOC ## pub fn plugin_count(&self) -> usize ### Description Get loaded plugin count. ``` -------------------------------- ### PluginManager::broadcast_snapshot Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Broadcasts a snapshot to all plugins that subscribe to on_snapshot. ```APIDOC ## pub async fn broadcast_snapshot(&mut self, snapshot: &Snapshot) ### Description Broadcast a snapshot to all plugins that subscribe to on_snapshot. ``` -------------------------------- ### ControlModeClient::next_event Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/control/struct.ControlModeClient.html Asynchronously retrieves the next event from the tmux control mode session. ```APIDOC ## pub async fn next_event(&mut self) -> Option ### Description Receive the next event. Returns None if the control mode session ended. ``` -------------------------------- ### Window Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/struct.Window.html The definition of the Window struct showing its fields and types. ```rust pub struct Window { pub id: WindowId, pub session_id: SessionId, pub name: String, pub index: u32, pub active: bool, pub panes: Vec, } ``` -------------------------------- ### Define PluginConfig struct Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.PluginConfig.html The primary structure used for plugin configuration, containing enabled plugins and associated directories. ```rust pub struct PluginConfig { pub enabled: Vec, pub directories: Vec, } ``` -------------------------------- ### KeybindingConfig Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/struct.KeybindingConfig.html The structure definition for KeybindingConfig, containing string fields for various application keybindings. ```rust pub struct KeybindingConfig { pub quit: String, pub search: String, pub palette: String, pub maximize: String, pub collapse: String, pub kill_stale: String, pub next_tab: String, pub prev_tab: String, } ``` -------------------------------- ### TmuxClient::send_keys Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/struct.TmuxClient.html Sends a sequence of keys to a specific tmux pane. ```APIDOC ## pub async fn send_keys(&self, pane_id: &PaneId, keys: &[String]) -> Result<()> ### Description Simulates keyboard input for a given pane. ### Parameters - **pane_id** (&PaneId) - Required - The target pane identifier. - **keys** (&[String]) - Required - A slice of strings representing the keys to send. ``` -------------------------------- ### PluginManager::status_lines Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Retrieves aggregated status lines from plugins. ```APIDOC ## pub fn status_lines(&self) -> &HashMap ### Description Get aggregated status lines from plugins. ``` -------------------------------- ### PanePreview Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/state/struct.PanePreview.html The primary data structure for tracking pane content and its associated metadata. ```rust pub struct PanePreview { pub content: String, pub content_hash: u64, pub last_changed: Instant, pub scroll_offset: u16, pub at_bottom: bool, } ``` -------------------------------- ### plugin Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/index.html The plugin module defines the system for extending TmuxPulse functionality. ```APIDOC ## Plugin System ### Description The plugin module provides the necessary structures and traits to implement custom plugins for the TmuxPulse system. ``` -------------------------------- ### TmuxClient::capture_pane Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/struct.TmuxClient.html Captures the output of a specific tmux pane. ```APIDOC ## pub async fn capture_pane(&self, pane_id: &PaneId, lines: usize) -> Result ### Description Reads the content of a specified pane. ### Parameters - **pane_id** (&PaneId) - Required - The identifier of the pane to capture. - **lines** (usize) - Required - The number of lines to capture. ``` -------------------------------- ### ControlModeClient::try_next_event Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/control/struct.ControlModeClient.html Checks for available events without blocking the current thread. ```APIDOC ## pub fn try_next_event(&mut self) -> Option ### Description Check if an event is available without blocking. ``` -------------------------------- ### PluginResponse Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginResponse.html The structure used to communicate plugin execution results back to the system. ```rust pub struct PluginResponse { pub status: Option, pub notification: Option, pub log: Option, pub ok: bool, } ``` -------------------------------- ### JSON-RPC Methods Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/index.html The following methods are available via the TmuxPulse JSON-RPC interface. ```APIDOC ## JSON-RPC Methods ### pulse.ping - Description: Health check for the daemon. ### pulse.snapshot - Description: Retrieve the current tmux snapshot. ### pulse.sessions - Description: List all tmux session names and IDs. ### pulse.capture - Description: Capture the output of a specific pane. ### pulse.send_keys - Description: Send keys to a specific tmux pane. ### pulse.kill_session - Description: Terminate a specific tmux session. ### pulse.version - Description: Retrieve the TmuxPulse version information. ``` -------------------------------- ### Session Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/struct.Session.html The structure definition for a terminal multiplexer session. ```rust pub struct Session { pub id: SessionId, pub name: String, pub attached: bool, pub windows: Vec, pub created_at: i64, pub last_activity: i64, } ``` -------------------------------- ### RpcRequest Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/struct.RpcRequest.html The structure definition for RpcRequest, containing the standard JSON-RPC fields. ```rust pub struct RpcRequest { pub jsonrpc: String, pub method: String, pub params: Value, pub id: Value, } ``` -------------------------------- ### Check daemon status Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/fn.is_daemon_running.html Use this function to verify if a daemon is running at the provided socket path. ```rust pub async fn is_daemon_running(socket_path: &Path) -> bool ``` -------------------------------- ### PluginManager::shutdown Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/struct.PluginManager.html Shuts down all plugins gracefully. ```APIDOC ## pub async fn shutdown(&mut self) ### Description Shutdown all plugins gracefully. ``` -------------------------------- ### PaletteAction Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/state/struct.PaletteAction.html The primary definition of the PaletteAction struct, which holds a name and description as String types. ```rust pub struct PaletteAction { pub name: String, pub description: String, } ``` -------------------------------- ### daemon Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/index.html The daemon module provides the RPC server interface for TmuxPulse, allowing external communication with the running daemon. ```APIDOC ## Daemon RPC Server ### Description The daemon module implements the RPC server for TmuxPulse. This interface allows users to interact with the daemon process programmatically. ``` -------------------------------- ### RpcResponse Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/struct.RpcResponse.html The structure definition for RpcResponse, including fields for JSON-RPC compliance. ```rust pub struct RpcResponse { pub jsonrpc: String, pub result: Option, pub error: Option, pub id: Value, } ``` -------------------------------- ### ThemeColor Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/theme/enum.ThemeColor.html The ThemeColor enum allows specifying colors either by an 8-bit index or by RGB values. ```APIDOC ## Enum: ThemeColor ### Description Represents a color configuration used within the theme settings. ### Variants - **Indexed(u8)**: Specifies a color using an 8-bit index. - **Rgb(u8, u8, u8)**: Specifies a color using red, green, and blue components. ### Methods #### pub fn to_ratatui(self) -> Color Converts the `ThemeColor` into a `ratatui::style::Color` type. ``` -------------------------------- ### DaemonState Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/struct.DaemonState.html Defines the shared state structure used by the daemon, including fields for the tmux client, snapshot data, authentication, and timing. ```rust pub struct DaemonState { pub client: TmuxClient, pub last_snapshot: RwLock>, pub auth_token: Option, pub start_time: Instant, } ``` -------------------------------- ### Define SessionId struct Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/struct.SessionId.html The definition of the SessionId tuple struct which wraps a String. ```rust pub struct SessionId(pub String); ``` -------------------------------- ### Pane struct definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/struct.Pane.html The primary data structure representing a tmux pane. ```rust pub struct Pane { pub id: PaneId, pub window_id: WindowId, pub session_id: SessionId, pub index: u32, pub active: bool, pub width: u16, pub height: u16, pub current_command: String, pub current_path: String, pub pid: u32, pub dead: bool, pub last_activity: i64, } ``` -------------------------------- ### Snapshot Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/struct.Snapshot.html The primary data structure representing a snapshot of the entire multiplexer state. ```rust pub struct Snapshot { pub sessions: Vec, pub timestamp: i64, } ``` -------------------------------- ### rpc_call function signature Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/fn.rpc_call.html The function signature for sending an RPC request to the daemon. ```rust pub async fn rpc_call( socket_path: &Path, method: &str, params: Value, ) -> Result ``` -------------------------------- ### TmuxClient::kill_pane Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/struct.TmuxClient.html Terminates a specific tmux pane. ```APIDOC ## pub async fn kill_pane(&self, pane_id: &PaneId) -> Result<()> ### Description Closes the specified tmux pane. ### Parameters - **pane_id** (&PaneId) - Required - The identifier of the pane to kill. ``` -------------------------------- ### ControlModeClient::drain_events Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/control/struct.ControlModeClient.html Retrieves all currently pending events from the session. ```APIDOC ## pub fn drain_events(&mut self) -> Vec ### Description Drain all pending events. ``` -------------------------------- ### TmuxClient::kill_session Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/struct.TmuxClient.html Terminates a specific tmux session. ```APIDOC ## pub async fn kill_session(&self, session_id: &SessionId) -> Result<()> ### Description Closes the specified tmux session. ### Parameters - **session_id** (&SessionId) - Required - The identifier of the session to kill. ``` -------------------------------- ### ControlModeClient::stop Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/tmux/control/struct.ControlModeClient.html Stops the active tmux control mode session. ```APIDOC ## pub async fn stop(&mut self) -> Result<()> ### Description Stop the control mode session. ``` -------------------------------- ### Define ThemeColor Enum Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/theme/enum.ThemeColor.html The structure of the ThemeColor enum, which supports either an indexed color or an RGB color definition. ```rust pub enum ThemeColor { Indexed(u8), Rgb(u8, u8, u8), } ``` -------------------------------- ### Define RpcError Struct Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/daemon/struct.RpcError.html The structure definition for RpcError, containing the error code and message fields. ```rust pub struct RpcError { pub code: i32, pub message: String, } ``` -------------------------------- ### Define ViewMode Enum Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/enum.ViewMode.html The ViewMode enum provides two variants for configuring the application display layout. ```rust pub enum ViewMode { Grid, Detail, } ``` -------------------------------- ### CardState Enum Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/state/enum.CardState.html The primary definition of the CardState enum used to manage card visibility and layout states. ```rust pub enum CardState { Normal, Collapsed, Hidden, Maximized, } ``` -------------------------------- ### PaneId Struct Definition Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/struct.PaneId.html The definition of the PaneId struct as a tuple struct wrapping a String. ```rust pub struct PaneId(pub String); ``` -------------------------------- ### Define BorderStyle Enum Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/config/enum.BorderStyle.html The BorderStyle enum defines the available styles for borders in the application. ```rust pub enum BorderStyle { Rounded, Plain, Double, Thick, } ``` -------------------------------- ### Define WindowId struct Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/struct.WindowId.html The WindowId struct is defined as a tuple struct containing a single String field. ```rust pub struct WindowId(pub String); ``` -------------------------------- ### Define PluginMessage Enum Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/plugin/enum.PluginMessage.html The structure of the PluginMessage enum, representing various message types sent to plugins. ```rust pub enum PluginMessage { Init { tmuxpulse_version: String, }, OnSnapshot { snapshot: Snapshot, }, OnEvent { event: String, }, Shutdown, } ``` -------------------------------- ### Define MuxEvent Enum Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/mux/enum.MuxEvent.html The MuxEvent enum captures different types of multiplexer events, including session, window, and client-related actions. ```rust pub enum MuxEvent { SessionCreated(SessionId), SessionClosed(SessionId), SessionRenamed { id: SessionId, new_name: String, }, WindowCreated { session_id: SessionId, window_id: WindowId, }, WindowClosed { session_id: SessionId, window_id: WindowId, }, PaneOutput { pane_id: PaneId, }, LayoutChanged(SessionId), ClientAttached(SessionId), ClientDetached(SessionId), } ``` -------------------------------- ### Define Tab enum Source: https://docs.rs/tmuxpulse/0.1.0/tmuxpulse/state/enum.Tab.html The Tab enum structure used to represent different tabs in the application interface. ```rust pub enum Tab { Overview, Session(SessionId), } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.