Expand description
Terminal configuration management.
Re-exports all configuration types from the par-term-config sub-crate.
All configuration types, defaults, and utilities are defined in par-term-config.
§Re-exports from par-term-config
This module is a thin facade: it re-exports every public type from par-term-config
so the rest of the main crate can write crate::config::Config instead of
par_term_config::Config. This keeps call sites insulated from the sub-crate
boundary and makes future refactoring easier (types can be relocated inside
par-term-config without touching every call site in the main crate).
Direct dependencies on par-term-config types should route through this module
rather than importing from par_term_config directly, unless the code is
inside a sub-crate that already depends on par-term-config explicitly.
Modules§
- automation
- Configuration types for triggers, coprocesses, and trigger security.
- cell
- config
- Terminal configuration management.
- defaults
- Default value functions for configuration.
- profile
- Profile configuration types.
- profile_
types - Profile types and manager for terminal session configurations.
- scripting
- Configuration types for external observer scripts.
- scrollback_
mark - shader_
config - Shader configuration resolution.
- shader_
metadata - Shader metadata parsing and caching.
- snippets
- Configuration types for snippets and custom actions.
- status_
bar - Status bar widget configuration types.
- themes
- watcher
- Config file watcher for automatic reload.
Structs§
- Alert
Sound Config - Configuration for an alert sound tied to a specific event
- Automation
Config - Regex triggers, coprocess definitions and external observer scripts.
- Background
Config - Background image source and how window transparency applies to cells and text.
- Badge
Config - Badge overlay text, colour, font and placement.
- Cell
- A single terminal cell with styled content for rendering.
- Clipboard
Config - Clipboard sync event retention and whether OSC 52 may set the system clipboard.
- Color
- A color in RGB format
- Command
Separator Config - Horizontal separator lines drawn between shell commands.
- Config
- Configuration for the terminal emulator Aligned with par-tui-term naming conventions for consistency
- Coprocess
DefConfig - Configuration for a coprocess that runs alongside a terminal session.
- Cursor
Shader Config - Cursor shader specific configuration.
- Cursor
Shader Metadata - Metadata embedded in cursor shader files via YAML block comments.
- Custom
AcpAgent Action Config - Action metadata for a custom ACP agent entry.
- Custom
AcpAgent Config - User-defined ACP agent configuration sourced from
config.yaml. - Divider
Rect - A divider rectangle between panes
- Dynamic
Profile Source - A remote profile source configuration stored in the main config file
- Font
Range - Font mapping for a specific Unicode range
- Image
Config - Inline image scaling (Sixel/iTerm2/Kitty) and the terminal background source.
- Input
Config - Option/Alt key behaviour, modifier remapping and physical key positions.
- Integration
Config - Install prompts and version tracking for bundled shaders and shell integration.
- Integration
Versions - Tracks installed and prompted versions for integrations
- KeyBinding
- A keybinding configuration entry
- Modifier
Remapping - Modifier remapping configuration.
- Pane
Background - Per-pane background image configuration (runtime state)
- Pane
Background Config - Per-pane background image configuration (for config persistence)
- Pane
Config - Split-pane divider, padding, title-bar and focus-indicator settings.
- Power
Config - Shader pausing and reduced frame rates for unfocused windows and inactive tabs.
- Profile
- A terminal session profile containing configuration for how to start a session
- Profile
Manager - Manages a collection of profiles
- Progress
BarConfig - Progress bar overlay style, placement and state colours.
- Rendering
Config - Frame rate target, VSync mode, GPU preference and output batching.
- Resolved
Cursor Shader Config - Fully resolved cursor shader configuration with all values filled in.
- Resolved
Shader Config - Fully resolved shader configuration with all values filled in.
- Script
Config - Configuration for an external observer script that receives terminal events via JSON protocol.
- Scrollback
Mark - Public-facing metadata for a mark anchored to a scrollback line.
- Scrollbar
Config - Scrollbar placement, size, colours, command marks and auto-hide.
- Security
Config - Environment variable substitution allowlist and plain-HTTP profile fetching.
- Selection
Config - Copy-on-select, paste behaviour and dropped-file quoting.
- Semantic
History Config - File-path/URL detection, the editor that opens them, and link highlighting.
- Session
LogConfig - Automatic session recording: format, destination and redaction.
- Session
Restore Config - Startup arrangement restore, session restore and closed-tab undo retention.
- Shader
Config - Per-shader configuration settings.
- Shader
Metadata - Metadata embedded in shader files via YAML block comments.
- Shader
Overrides Config - Per-file overrides for background and cursor shader settings.
- Shader
Watch Config - Automatic reloading of background and cursor shader files on change.
- Shell
Config - Which shell runs, where it starts, what it is sent, and what happens when it exits.
- Smart
Selection Rule - A smart selection rule for pattern-based text selection.
- Snippet
Config - A text snippet that can be inserted into the terminal.
- Snippet
Library - A portable snippet library for import/export.
- Status
BarWidget Config - Configuration for a single status bar widget.
- TabBar
Colors Config - Tab bar palette, dimming, sizing and border appearance.
- TabConfig
- Tab style presets, tab bar placement and new-tab behaviour.
- Theme
- Terminal color theme with 16 ANSI colors plus foreground/background
- Theme
Colors Config - Terminal colour theme, plus the light/dark pair used by auto dark mode.
- Tmux
Config - tmux control-mode integration: discovery, auto-attach and status bar.
- Trigger
Config - A trigger definition that matches terminal output and fires actions.
- Trigger
Rate Limiter - Rate limiter for output-triggered actions.
- Window
Placement Config - Window type, target monitor/Space, resize lock and window numbering.
- Word
Selection Config - Word boundary characters and pattern-based smart selection rules.
Enums§
- Alert
Event - Terminal events that can trigger alert sounds
- Ambiguous
Width - Treatment of East Asian Ambiguous width characters.
- Background
Image Mode - Background image display mode
- Background
Mode - Background source selection
- Built
InVariable - Built-in variables available for snippet substitution.
- Conflict
Resolution - How to resolve conflicts when a remote profile has the same ID as a local one
- Cursor
Style - Cursor style
- Custom
Action Config - A custom action that can be triggered via keybinding.
- Divider
Style - Style of dividers between panes
- Download
Save Location - Default save location for downloaded files
- Dropped
File Quote Style - Quote style for dropped file paths
- Image
Scaling Mode - Image scaling quality for inline graphics (Sixel, iTerm2, Kitty)
- Install
Prompt State - State of an integration’s install prompt
- KeyModifier
- Keyboard modifier for keybindings.
- Link
Underline Style - Style for link highlight underlines.
- LogLevel
- Log level for debug logging to file.
- Modifier
Target - Target modifier for remapping.
- NewTab
Position - Controls where newly created tabs are inserted in the tab bar.
- Normalization
Form - Unicode normalization form for terminal text.
- Option
KeyMode - Option/Alt key behavior mode
- Pane
Title Position - Position of pane title bars
- Power
Preference - GPU power preference for adapter selection
- Profile
Source - Tracks where a profile came from (runtime-only, not persisted)
- Progress
BarPosition - Progress bar position on screen
- Progress
BarStyle - Progress bar visual style
- Restart
Policy - Policy for restarting a coprocess when it exits
- Semantic
History Editor Mode - Editor selection mode for semantic history
- Session
LogFormat - Log format for session logging
- Shader
Install Prompt - Shader install prompt mode
- Shell
Exit Action - Action to take when the shell process exits
- Shell
Type - Detected shell type
- Smart
Selection Precision - Precision level for smart selection rules.
- Startup
Directory Mode - Startup directory mode
- Status
BarPosition - Status bar position
- Status
BarSection - Section of the status bar where a widget is placed.
- TabBar
Mode - Tab bar visibility mode
- TabBar
Position - Tab bar position
- TabStyle
- Tab visual style preset
- TabTitle
Mode - Controls how tab titles are automatically updated
- Thin
Strokes Mode - Thin strokes / font smoothing mode
- Trigger
Action Config - An action fired when a trigger pattern matches terminal output.
- Unfocused
Cursor Style - Unfocused cursor style - how the cursor appears when window loses focus
- Unicode
Version - Unicode version for width calculation tables.
- Update
Check Frequency - Update check frequency
- Vsync
Mode - VSync mode (presentation mode)
- Widget
Id - Identifier for a built-in or custom status bar widget.
- Window
Type - Window type for different display modes
Constants§
- ALLOWED_
ENV_ VARS - Environment variables that are safe to substitute in config files.
Functions§
- check_
command_ allowlist - SEC-002: Check if a command is allowed by the optional allowlist.
- check_
command_ denylist - Check if a command string matches any denied pattern.
- color_
tuple_ to_ f32_ a - Convert an
(u8, u8, u8)RGB tuple to[f32; 4]normalized to 0.0..1.0 with the given alpha value appended. - color_
u8_ to_ f32 - Convert a
[u8; 3]RGB color to[f32; 3]normalized to 0.0..1.0. - color_
u8_ to_ f32_ a - Convert a
[u8; 3]RGB color to[f32; 4]normalized to 0.0..1.0 with the given alpha value appended. - color_
u8x4_ rgb_ to_ f32 - Convert the RGB channels of a
[u8; 4]color to[f32; 3]normalized to 0.0..1.0, discarding the alpha channel. - color_
u8x4_ rgb_ to_ f32_ a - Convert the RGB channels of a
[u8; 4]color to[f32; 4]normalized to 0.0..1.0, replacing the alpha channel with the provided value. - color_
u8x4_ to_ f32 - Convert a
[u8; 4]RGBA color to[f32; 4]normalized to 0.0..1.0. - default_
smart_ selection_ rules - Get the default smart selection rules (based on iTerm2’s defaults)
- default_
widgets - Default widget configuration set.
- is_
env_ var_ allowed - Check whether a variable name is on the substitution allowlist.
- parse_
cursor_ shader_ metadata - Parse cursor shader metadata from GLSL source code.
- parse_
shader_ metadata - Parse shader metadata from GLSL source code.
- resolve_
cursor_ shader_ config - Resolve a cursor shader configuration by merging sources in priority order.
- resolve_
shader_ config - Resolve a shader configuration by merging sources in priority order.
- substitute_
variables - Substitute
${VAR_NAME}patterns in a string with environment variable values. - substitute_
variables_ with_ allowlist - Substitute variables with explicit allowlist control.
- substitute_
variables_ with_ lookup - Substitute variables, resolving names through
lookupinstead of the process environment. - update_
cursor_ shader_ metadata_ file - Update cursor shader metadata in a shader file.
- update_
shader_ metadata_ file - Update metadata in a shader file.
Type Aliases§
- Cursor
Shader Metadata Cache - Cache for parsed cursor shader metadata.
- PaneId
- Unique identifier for a pane
- Profile
Id - Unique identifier for a profile
- Separator
Mark - Visible command separator mark: (row, col_offset, optional_color)
- Shader
Metadata Cache - Cache for parsed background shader metadata.
- TabId
- Unique identifier for a tab