oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git
518 bytes raw
1
pub mod tiling;
2
3
use x11rb::protocol::xproto::Window;
4
5
pub struct GapConfig {
6
    pub inner_horizontal: u32,
7
    pub inner_vertical: u32,
8
    pub outer_horizontal: u32,
9
    pub outer_vertical: u32,
10
}
11
12
pub trait Layout {
13
    fn arrange(
14
        &self,
15
        windows: &[Window],
16
        screen_width: u32,
17
        screen_height: u32,
18
        gaps: &GapConfig,
19
    ) -> Vec<WindowGeometry>;
20
}
21
22
pub struct WindowGeometry {
23
    pub x_coordinate: i32,
24
    pub y_coordinate: i32,
25
    pub width: u32,
26
    pub height: u32,
27
}