oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git
907 bytes raw
1
const std = @import("std");
2
const client_mod = @import("../client.zig");
3
const monitor_mod = @import("../monitor.zig");
4
const xlib = @import("../x11/xlib.zig");
5
const tiling = @import("tiling.zig");
6
7
const Client = client_mod.Client;
8
const Monitor = monitor_mod.Monitor;
9
10
pub const layout = monitor_mod.Layout{
11
    .symbol = "[M]",
12
    .arrange_fn = monocle,
13
};
14
15
pub fn monocle(monitor: *Monitor) void {
16
    const gap_h = monitor.gap_outer_h;
17
    const gap_v = monitor.gap_outer_v;
18
19
    var current = client_mod.next_tiled(monitor.clients);
20
    while (current) |client| {
21
        tiling.resize(
22
            client,
23
            monitor.win_x + gap_v,
24
            monitor.win_y + gap_h,
25
            monitor.win_w - 2 * gap_v - 2 * client.border_width,
26
            monitor.win_h - 2 * gap_h - 2 * client.border_width,
27
            false,
28
        );
29
        current = client_mod.next_tiled(client.next);
30
    }
31
}