use crate::{GetWindowOptionTr, TmuxCommand, TmuxCommands};
use std::borrow::Cow;
pub trait GetWindowOptionsTr<'a, Getter: GetWindowOptionTr> {
fn new() -> Self;
fn push<T: Into<TmuxCommand<'a>>>(&mut self, cmd: T);
fn into_commands(self) -> TmuxCommands<'a>;
#[cfg(feature = "tmux_1_0")]
fn aggressive_resize<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::aggressive_resize(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_3_0")))]
fn allow_rename<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::allow_rename(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_3_0")))]
fn alternate_screen<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::alternate_screen(target));
self
}
#[cfg(feature = "tmux_1_0")] fn automatic_rename<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::automatic_rename(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn automatic_rename_format<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::automatic_rename_format(target));
self
}
#[cfg(all(feature = "tmux_1_7", not(feature = "tmux_2_1")))]
fn c0_change_interval<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::c0_change_interval(target));
self
}
#[cfg(all(feature = "tmux_1_7", not(feature = "tmux_2_1")))]
fn c0_change_trigger<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::c0_change_trigger(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn clock_mode_colour<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::clock_mode_colour(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn clock_mode_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::clock_mode_style(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_9")))]
fn force_height<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::force_height(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_9")))]
fn force_width<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::force_width(target));
self
}
#[cfg(all(feature = "tmux_1_7", not(feature = "tmux_1_8")))]
fn layout_history_limit<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::layout_history_limit(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn main_pane_height<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::main_pane_height(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn main_pane_width<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::main_pane_width(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn mode_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::mode_attr(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn mode_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::mode_bg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn mode_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::mode_fg(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn mode_keys<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::mode_keys(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_1")))]
fn mode_mouse<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::mode_mouse(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn mode_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::mode_style(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn monitor_activity<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::monitor_activity(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_0")))]
fn monitor_content<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::monitor_content(target));
self
}
#[cfg(feature = "tmux_2_6")]
fn monitor_bell<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::monitor_bell(target));
self
}
#[cfg(feature = "tmux_1_4")]
fn monitor_silence<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::monitor_silence(target));
self
}
#[cfg(feature = "tmux_1_4")]
fn other_pane_height<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::other_pane_height(target));
self
}
#[cfg(feature = "tmux_1_4")]
fn other_pane_width<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::other_pane_width(target));
self
}
#[cfg(feature = "tmux_2_0")]
fn pane_active_border_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_active_border_style(target));
self
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_active_border_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_active_border_bg(target));
self
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_active_border_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_active_border_fg(target));
self
}
#[cfg(feature = "tmux_1_6")]
fn pane_base_index<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_base_index(target));
self
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_border_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_border_bg(target));
self
}
#[cfg(all(feature = "tmux_0_8", not(feature = "tmux_1_9")))]
fn pane_border_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_border_fg(target));
self
}
#[cfg(feature = "tmux_2_3")]
fn pane_border_format<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_border_format(target));
self
}
#[cfg(feature = "tmux_2_3")]
fn pane_border_status<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_border_status(target));
self
}
#[cfg(feature = "tmux_2_0")]
fn pane_border_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::pane_border_style(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_3_0")))]
fn remain_on_exit<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::remain_on_exit(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_3_2")))]
fn synchronize_panes<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::synchronize_panes(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_2_2")))]
fn utf8<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::utf8(target));
self
}
#[cfg(all(feature = "tmux_2_1", not(feature = "tmux_3_0")))]
fn window_active_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_active_style(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_bell_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_bell_attr(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_bell_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_bell_bg(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_bell_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_bell_fg(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_content_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_content_attr(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_content_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_content_bg(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_content_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_content_fg(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_activity_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_activity_attr(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_activity_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_activity_bg(target));
self
}
#[cfg(all(feature = "tmux_1_6", not(feature = "tmux_1_9")))]
fn window_status_activity_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_activity_fg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_attr(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_bg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_fg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_current_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_current_attr(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_current_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_current_bg(target));
self
}
#[cfg(all(feature = "tmux_1_0", not(feature = "tmux_1_9")))]
fn window_status_current_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_current_fg(target));
self
}
#[cfg(all(feature = "tmux_1_3", not(feature = "tmux_1_6")))]
fn window_status_alert_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_alert_attr(target));
self
}
#[cfg(all(feature = "tmux_1_3", not(feature = "tmux_1_6")))]
fn window_status_alert_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_alert_bg(target));
self
}
#[cfg(all(feature = "tmux_1_3", not(feature = "tmux_1_6")))]
fn window_status_alert_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_alert_fg(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn window_status_activity_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_activity_style(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn window_status_bell_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_bell_style(target));
self
}
#[cfg(all(feature = "tmux_1_9", not(feature = "tmux_2_0")))]
fn window_status_content_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_content_style(target));
self
}
#[cfg(feature = "tmux_1_2")]
fn window_status_current_format<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_current_format(target));
self
}
#[cfg(all(feature = "tmux_1_8", not(feature = "tmux_1_9")))]
fn window_status_last_attr<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_last_attr(target));
self
}
#[cfg(all(feature = "tmux_1_8", not(feature = "tmux_1_9")))]
fn window_status_last_bg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_last_bg(target));
self
}
#[cfg(all(feature = "tmux_1_8", not(feature = "tmux_1_9")))]
fn window_status_last_fg<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_last_fg(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn window_status_current_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_current_style(target));
self
}
#[cfg(feature = "tmux_1_2")]
fn window_status_format<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_format(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn window_status_last_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_last_style(target));
self
}
#[cfg(feature = "tmux_1_7")]
fn window_status_separator<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_separator(target));
self
}
#[cfg(feature = "tmux_1_9")]
fn window_status_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_status_style(target));
self
}
#[cfg(feature = "tmux_2_9")]
fn window_size<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_size(target));
self
}
#[cfg(all(feature = "tmux_1_2", not(feature = "tmux_1_6")))]
fn word_separators<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::word_separators(target));
self
}
#[cfg(all(feature = "tmux_2_1", not(feature = "tmux_3_0")))]
fn window_style<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::window_style(target));
self
}
#[cfg(feature = "tmux_1_7")]
fn wrap_search<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::wrap_search(target));
self
}
#[cfg(feature = "tmux_1_0")]
fn xterm_keys<T>(mut self, target: Option<T>) -> Self
where
Self: Sized,
T: Into<Cow<'a, str>>,
{
self.push(Getter::xterm_keys(target));
self
}
}