wm

[root]/ src / config.zig

1.6KB

raw
const c = @import("c.zig").c;

pub const bar_height: u32 = 30;
pub const border_width: u32 = 2;
pub const snap_distance: i32 = 10;
pub const focus_follows_mouse: bool = false;

pub const font_names = [_][:0]const u8{"monospace:size=14"};

pub const col = struct {
    pub const border_focused = "#005f5f";
    pub const border_unfocused = "#444444";
    pub const bar_bg = "#222222";
    pub const bar_fg = "#eeeeee";
    pub const bar_sel_bg = "#555555";
    pub const bar_min_fg = "#888888";
    pub const bar_urg_fg = "#ff0000";
};

pub const Action = union(enum) {
    close_focused,
    toggle_fullscreen,
    focus_next,
    minimize,
    spawn: []const [:0]const u8,
    quit,
};

pub const Keybind = struct {
    mod: c_uint,
    keysym: c.KeySym,
    action: Action,
};

pub const keybinds = [_]Keybind{
    .{ .mod = c.Mod1Mask | c.ShiftMask, .keysym = c.XK_q, .action = .quit },
    .{ .mod = c.Mod1Mask | c.ShiftMask, .keysym = c.XK_c, .action = .close_focused },
    .{ .mod = c.Mod1Mask, .keysym = c.XK_f, .action = .toggle_fullscreen },
    .{ .mod = c.Mod1Mask, .keysym = c.XK_Tab, .action = .focus_next },
    .{ .mod = c.Mod1Mask, .keysym = c.XK_m, .action = .minimize },
    .{ .mod = c.Mod1Mask, .keysym = c.XK_Return, .action = .{ .spawn = &.{"st"} } },
    .{ .mod = c.Mod1Mask, .keysym = c.XK_p, .action = .{ .spawn = &.{"/home/smi/.scripts/run.sh"} } },
};

pub const autostart = [_][]const [:0]const u8{
    &.{ "sh", "/home/smi/.scripts/2zw.sh" },
};

pub const Rule = struct {
    class: ?[:0]const u8,
    floating: bool,
};

pub const rules = [_]Rule{
    .{ .class = "float", .floating = true },
};