leftwm_core/
display_action.rs1use crate::models::Handle;
2use crate::models::TagId;
3use crate::models::Window;
4use crate::models::WindowHandle;
5use crate::models::WindowState;
6use crate::utils::modmask_lookup::Button;
7use serde::{Deserialize, Serialize};
8
9#[allow(clippy::large_enum_variant)]
12#[derive(Serialize, Deserialize, Clone, Debug)]
13pub enum DisplayAction<H: Handle> {
14 #[serde(bound = "")]
16 KillWindow(WindowHandle<H>),
17
18 #[serde(bound = "")]
21 AddedWindow(WindowHandle<H>, bool, bool),
22
23 #[serde(bound = "")]
25 MoveMouseOver(WindowHandle<H>, bool),
26
27 MoveMouseOverPoint((i32, i32)),
29
30 #[serde(bound = "")]
32 SetState(WindowHandle<H>, bool, WindowState),
33
34 #[serde(bound = "")]
37 SetWindowOrder(Vec<WindowHandle<H>>),
38
39 #[serde(bound = "")]
41 MoveToTop(WindowHandle<H>),
42
43 #[serde(bound = "")]
46 DestroyedWindow(WindowHandle<H>),
47
48 #[serde(bound = "")]
50 WindowTakeFocus {
51 window: Window<H>,
52 previous_window: Option<Window<H>>,
53 },
54
55 #[serde(bound = "")]
57 Unfocus(Option<WindowHandle<H>>, bool),
58
59 FocusWindowUnderCursor,
61
62 #[serde(bound = "")]
63 ReplayClick(WindowHandle<H>, Button),
64
65 #[serde(bound = "")]
67 ReadyToResizeWindow(WindowHandle<H>),
68
69 #[serde(bound = "")]
71 ReadyToMoveWindow(WindowHandle<H>),
72
73 SetCurrentTags(Option<TagId>),
75
76 #[serde(bound = "")]
78 SetWindowTag(WindowHandle<H>, Option<TagId>),
79
80 NormalMode,
83
84 #[serde(bound = "")]
86 ConfigureXlibWindow(Window<H>),
87}