leftwm_core/
display_event.rs

1use super::{models::Screen, models::Window, models::WindowHandle, Button, ModMask};
2use crate::models::{Handle, WindowChange};
3use crate::Command;
4
5#[allow(clippy::large_enum_variant)]
6#[derive(Debug, Clone)]
7pub enum DisplayEvent<H: Handle> {
8    Movement(WindowHandle<H>, i32, i32),
9    MouseCombo(ModMask, Button, WindowHandle<H>, i32, i32),
10    WindowCreate(Window<H>, i32, i32),
11    WindowChange(WindowChange<H>),
12    WindowDestroy(WindowHandle<H>),
13    WindowTakeFocus(WindowHandle<H>),
14    HandleWindowFocus(WindowHandle<H>),
15    VerifyFocusedAt(WindowHandle<H>), // Request focus validation for this window.
16    MoveFocusTo(i32, i32),            // Focus the nearest window to this point.
17    MoveWindow(WindowHandle<H>, i32, i32),
18    ResizeWindow(WindowHandle<H>, i32, i32),
19    ScreenCreate(Screen<H>),
20    SendCommand(Command<H>),
21    ConfigureXlibWindow(WindowHandle<H>), // TODO: check if this has backend specific code
22    ChangeToNormalMode,
23}