From f31e105043a9fae0fae3dcfe0feb7ea1193d5f77 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Tue, 19 Mar 2024 14:32:07 +0400 Subject: Make window a subdirectory --- src/window.rs | 80 ----------------------------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 src/window.rs (limited to 'src/window.rs') diff --git a/src/window.rs b/src/window.rs deleted file mode 100644 index a5023afa..00000000 --- a/src/window.rs +++ /dev/null @@ -1,80 +0,0 @@ -use smithay::desktop::Window; -use smithay::output::Output; - -use crate::layout::workspace::ColumnWidth; - -#[derive(Debug)] -pub struct Unmapped { - pub window: Window, - pub state: InitialConfigureState, -} - -#[derive(Debug)] -pub enum InitialConfigureState { - /// The window has not been initially configured yet. - NotConfigured { - /// Whether the window requested to be fullscreened, and the requested output, if any. - wants_fullscreen: Option>, - }, - /// The window has been configured. - Configured { - /// Up-to-date rules. - /// - /// We start tracking window rules when sending the initial configure, since they don't - /// affect anything before that. - rules: ResolvedWindowRules, - - /// Resolved default width for this window. - /// - /// `None` means that the window will pick its own width. - width: Option, - - /// Whether the window should open full-width. - is_full_width: bool, - - /// Output to open this window on. - /// - /// This can be `None` in cases like: - /// - /// - There are no outputs connected. - /// - This is a dialog with a parent, and there was no explicit output set, so this dialog - /// should fetch the parent's current output again upon mapping. - output: Option, - }, -} - -/// Rules fully resolved for a window. -#[derive(Debug, Default)] -pub struct ResolvedWindowRules { - /// Default width for this window. - /// - /// - `None`: unset (global default should be used). - /// - `Some(None)`: set to empty (window picks its own width). - /// - `Some(Some(width))`: set to a particular width. - pub default_width: Option>, - - /// Output to open this window on. - pub open_on_output: Option, - - /// Whether the window should open full-width. - pub open_maximized: Option, - - /// Whether the window should open fullscreen. - pub open_fullscreen: Option, -} - -impl Unmapped { - /// Wraps a newly created window that hasn't been initially configured yet. - pub fn new(window: Window) -> Self { - Self { - window, - state: InitialConfigureState::NotConfigured { - wants_fullscreen: None, - }, - } - } - - pub fn needs_initial_configure(&self) -> bool { - matches!(self.state, InitialConfigureState::NotConfigured { .. }) - } -} -- cgit