#[cfg(target_os = "linux")]
mod linux;
#[cfg(target_os = "macos")]
mod macos;
#[cfg(windows)]
mod windows;
#[cfg(target_os = "linux")]
pub use self::linux::WindowActivator;
#[cfg(target_os = "macos")]
pub use self::macos::WindowActivator;
#[cfg(windows)]
pub use self::windows::WindowActivator;
use crate::config::Config;
use crate::error::Result;
use crate::window::WindowInfo;
pub trait ActivateWindow {
fn find_windows(&mut self) -> Result<Vec<WindowInfo>>;
fn activate(&self, window: &WindowInfo) -> Result<()>;
fn execute(&mut self) -> Result<()>;
fn config(&self) -> &Config;
}