use crate::options::window::common::constants::*;
use crate::{GetOptionTr, GetUserOption, TmuxCommand};
use std::borrow::Cow;
pub trait GetWindowOptionTr: GetOptionTr + GetUserOption {
fn all<'a, S: Into<Cow<'a, str>>>(target: Option<S>) -> TmuxCommand<'a> {
Self::get_all(target)
}
#[cfg(feature = "tmux_1_0")]
fn aggressive_resize<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, AGGRESSIVE_RESIZE)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_3_0")))]
fn allow_rename<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, ALLOW_RENAME)
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_3_0")))]
fn alternate_screen<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, ALTERNATE_SCREEN)
}
#[cfg(feature = "tmux_1_0")] fn automatic_rename<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, AUTOMATIC_RENAME)
}
#[cfg(feature = "tmux_1_9")]
fn automatic_rename_format<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, AUTOMATIC_RENAME_FORMAT)
}
#[cfg(all(feature = "tmux_1_7", not(feature = "tmux_2_1")))]
fn c0_change_interval<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, C0_CHANGE_INTERVAL)
}
#[cfg(all(feature = "tmux_1_7", not(feature = "tmux_2_1")))]
fn c0_change_trigger<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, C0_CHANGE_TRIGGER)
}
#[cfg(feature = "tmux_1_0")]
fn clock_mode_colour<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, CLOCK_MODE_COLOUR)
}
#[cfg(feature = "tmux_1_0")]
fn clock_mode_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, CLOCK_MODE_STYLE)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_9")))]
fn force_height<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, FORCE_HEIGHT)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_9")))]
fn force_width<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, FORCE_WIDTH)
}
#[cfg(all(feature = "tmux_1_7", not(feature = "tmux_1_8")))]
fn layout_history_limit<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, LAYOUT_HISTORY_LIMIT)
}
#[cfg(feature = "tmux_1_0")]
fn main_pane_height<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MAIN_PANE_HEIGHT)
}
#[cfg(feature = "tmux_1_0")]
fn main_pane_width<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MAIN_PANE_WIDTH)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn mode_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MODE_ATTR)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn mode_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MODE_BG)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn mode_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MODE_FG)
}
#[cfg(feature = "tmux_1_0")]
fn mode_keys<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MODE_KEYS)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_1")))]
fn mode_mouse<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MODE_MOUSE)
}
#[cfg(feature = "tmux_1_9")]
fn mode_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MODE_STYLE)
}
#[cfg(feature = "tmux_1_0")]
fn monitor_activity<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MONITOR_ACTIVITY)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_0")))]
fn monitor_content<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MONITOR_CONTENT)
}
#[cfg(feature = "tmux_2_6")]
fn monitor_bell<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MONITOR_BELL)
}
#[cfg(feature = "tmux_1_4")]
fn monitor_silence<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, MONITOR_SILENCE)
}
#[cfg(feature = "tmux_1_4")]
fn other_pane_height<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, OTHER_PANE_HEIGHT)
}
#[cfg(feature = "tmux_1_4")]
fn other_pane_width<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, OTHER_PANE_WIDTH)
}
#[cfg(feature = "tmux_2_0")]
fn pane_active_border_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_ACTIVE_BORDER_STYLE)
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_active_border_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_ACTIVE_BORDER_BG)
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_active_border_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_ACTIVE_BORDER_FG)
}
#[cfg(feature = "tmux_1_6")]
fn pane_base_index<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_BASE_INDEX)
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_border_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_BORDER_BG)
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_border_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_BORDER_FG)
}
#[cfg(feature = "tmux_2_3")]
fn pane_border_format<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_BORDER_FORMAT)
}
#[cfg(feature = "tmux_2_3")]
fn pane_border_status<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_BORDER_STATUS)
}
#[cfg(feature = "tmux_2_0")]
fn pane_border_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, PANE_BORDER_STYLE)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_3_0")))]
fn remain_on_exit<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, REMAIN_ON_EXIT)
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_3_2")))]
fn synchronize_panes<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, SYNCHRONIZE_PANES)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_2")))]
fn utf8<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, UTF8)
}
#[cfg(all(feature = "tmux_2_1", not(feature = "tmux_3_0")))]
fn window_active_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_ACTIVE_STYLE)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_bell_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_BELL_ATTR)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_bell_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_BELL_BG)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_bell_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_BELL_FG)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_content_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CONTENT_ATTR)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_content_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CONTENT_BG)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_content_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CONTENT_FG)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_activity_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ACTIVITY_ATTR)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_activity_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ACTIVITY_BG)
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_activity_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ACTIVITY_FG)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ATTR)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_BG)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_FG)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_current_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CURRENT_ATTR)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_current_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CURRENT_BG)
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_current_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CURRENT_FG)
}
#[cfg(all(feature = "tmux_1_3", not(feature = "tmux_1_6")))]
fn window_status_alert_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ALERT_ATTR)
}
#[cfg(all(feature = "tmux_1_3", not(feature = "tmux_1_6")))]
fn window_status_alert_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ALERT_BG)
}
#[cfg(all(feature = "tmux_1_3", not(feature = "tmux_1_6")))]
fn window_status_alert_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ALERT_FG)
}
#[cfg(feature = "tmux_1_9")]
fn window_status_activity_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_ACTIVITY_STYLE)
}
#[cfg(feature = "tmux_1_9")]
fn window_status_bell_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_BELL_STYLE)
}
#[cfg(all(feature = "tmux_1_9", not(feature = "tmux_2_0")))]
fn window_status_content_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CONTENT_STYLE)
}
#[cfg(feature = "tmux_1_2")]
fn window_status_current_format<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CURRENT_FORMAT)
}
#[cfg(all(feature = "tmux_1_8", not(feature = "tmux_1_9")))]
fn window_status_last_attr<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_LAST_ATTR)
}
#[cfg(all(feature = "tmux_1_8", not(feature = "tmux_1_9")))]
fn window_status_last_bg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_LAST_BG)
}
#[cfg(all(feature = "tmux_1_8", not(feature = "tmux_1_9")))]
fn window_status_last_fg<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_LAST_FG)
}
#[cfg(feature = "tmux_1_9")]
fn window_status_current_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_CURRENT_STYLE)
}
#[cfg(feature = "tmux_1_2")]
fn window_status_format<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_FORMAT)
}
#[cfg(feature = "tmux_1_9")]
fn window_status_last_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_LAST_STYLE)
}
#[cfg(feature = "tmux_1_7")]
fn window_status_separator<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_SEPARATOR)
}
#[cfg(feature = "tmux_1_9")]
fn window_status_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STATUS_STYLE)
}
#[cfg(feature = "tmux_2_9")]
fn window_size<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_SIZE)
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_1_6")))]
fn word_separators<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WORD_SEPARATORS)
}
#[cfg(all(feature = "tmux_2_1", not(feature = "tmux_3_0")))]
fn window_style<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WINDOW_STYLE)
}
#[cfg(feature = "tmux_1_7")]
fn wrap_search<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, WRAP_SEARCH)
}
#[cfg(feature = "tmux_1_0")]
fn xterm_keys<'a, T>(target: Option<T>) -> TmuxCommand<'a>
where
T: Into<Cow<'a, str>>,
{
Self::get_ext(target, XTERM_KEYS)
}
}