diff options
Diffstat (limited to 'src/config')
| -rw-r--r-- | src/config/model.rs | 3 | ||||
| -rw-r--r-- | src/config/tmuxrdr.rs | 16 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/config/model.rs b/src/config/model.rs index 0e2e57ce..69ba27ca 100644 --- a/src/config/model.rs +++ b/src/config/model.rs @@ -984,6 +984,8 @@ pub struct UiConfig { pub hide_tab_bar_when_single_tab: bool, /// Desktop tab row placement. Default: top. pub tab_bar_position: TabBarPositionConfig, + /// tmuxrdr: how the tab row draws its tabs. Default: herdr. + pub tab_style: super::TabStyleConfig, /// Ordered entries shown at the right edge of the desktop tab row. Empty by default. pub tab_bar_right: Vec<TabBarRightEntryConfig>, /// Text inserted between visible right-side tab bar entries. Default: one space. @@ -1217,6 +1219,7 @@ impl Default for UiConfig { show_agent_labels_on_pane_borders: false, hide_tab_bar_when_single_tab: false, tab_bar_position: TabBarPositionConfig::Top, + tab_style: Default::default(), tab_bar_right: Vec::new(), tab_bar_right_separator: " ".into(), window_title: super::window_title::default_window_title(), diff --git a/src/config/tmuxrdr.rs b/src/config/tmuxrdr.rs new file mode 100644 index 00000000..3cd36642 --- /dev/null +++ b/src/config/tmuxrdr.rs @@ -0,0 +1,16 @@ +//! tmuxrdr's own config options. In a file of their own, so the patch to +//! herdr's config model stays a field and its default. + +use serde::{Deserialize, Serialize}; + +/// How the tab row draws its tabs: `ui.tab_style`. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize, Default)] +#[serde(rename_all = "snake_case")] +pub enum TabStyleConfig { + /// herdr's: centred, padded blocks; a named tab shows its name only. + #[default] + Herdr, + /// tmux's status line: `[session] 1:name* 2:name-`, plain text, one space + /// apart -- src/client/shell/tabs_tmux.rs. + Tmux, +} |
