oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git
5,990 bytes raw
1
---@meta
2
---@module 'oxwm'
3
4
local modkey = "Mod4"
5
local terminal = "alacritty"
6
7
local colors = {
8
    fg = "#bbbbbb",
9
    red = "#f7768e",
10
    bg = "#1a1b26",
11
    cyan = "#0db9d7",
12
    green = "#9ece6a",
13
    lavender = "#a9b1d6",
14
    light_blue = "#7aa2f7",
15
    grey = "#bbbbbb",
16
    blue = "#6dade3",
17
    purple = "#ad8ee6",
18
    sep = "#444b6a",
19
}
20
21
22
local tags = { "", "󰊯", "", "", "󰙯", "󱇤", "", "󱘶", "󰧮" } -- Example of nerd font icon tags
23
24
local bar_font = "JetBrainsMono Nerd Font Propo:style=Bold:size=12"
25
26
local blocks = {
27
    oxwm.bar.block.shell({
28
        format = " {}",
29
        command = "uname -r",
30
        interval = 999999999,
31
        color = colors.red,
32
        underline = true,
33
    }),
34
    oxwm.bar.block.static({
35
        text = " │  ",
36
        interval = 999999999,
37
        color = colors.sep,
38
        underline = false,
39
    }),
40
    oxwm.bar.block.ram({
41
        format = "󰍛 Ram: {used}/{total} GB",
42
        interval = 5,
43
        color = colors.light_blue,
44
        underline = true,
45
    }),
46
    oxwm.bar.block.static({
47
        text = " │  ",
48
        interval = 999999999,
49
        color = colors.sep,
50
        underline = false,
51
    }),
52
    oxwm.bar.block.datetime({
53
        format = "󰸘 {}",
54
        date_format = "%a, %b %d - %-I:%M %P",
55
        interval = 1,
56
        color = colors.cyan,
57
        underline = true,
58
    }),
59
};
60
61
oxwm.set_terminal(terminal)
62
oxwm.set_modkey(modkey)
63
oxwm.set_tags(tags)
64
65
oxwm.set_layout_symbol("tiling", "[T]")
66
oxwm.set_layout_symbol("normie", "[F]")
67
oxwm.set_layout_symbol("tabbed", "[=]")
68
69
oxwm.border.set_width(0)
70
oxwm.border.set_focused_color(colors.purple)
71
oxwm.border.set_unfocused_color(colors.grey)
72
73
oxwm.gaps.set_smart(false)
74
oxwm.gaps.set_inner(0, 0)
75
oxwm.gaps.set_outer(0, 0)
76
oxwm.rule.add({ instance = "gimp", floating = true })
77
oxwm.rule.add({ class = "firefox", tag = 3 })
78
79
oxwm.bar.set_font(bar_font)
80
oxwm.bar.set_blocks(blocks)
81
oxwm.bar.set_scheme_normal(colors.fg, colors.bg, "#444444")
82
oxwm.bar.set_scheme_occupied(colors.cyan, colors.bg, colors.cyan)
83
oxwm.bar.set_scheme_selected(colors.cyan, colors.bg, colors.purple)
84
85
oxwm.key.bind({ modkey }, "Return", oxwm.spawn_terminal())
86
oxwm.key.bind({ modkey }, "D", oxwm.spawn({ "sh", "-c", "rofi -show drun" }))
87
oxwm.key.bind({ modkey }, "S", oxwm.spawn({ "sh", "-c", "maim -s | xclip -selection clipboard -t image/png" }))
88
oxwm.key.bind({ modkey }, "Q", oxwm.client.kill())
89
90
oxwm.key.bind({ modkey, "Shift" }, "Slash", oxwm.show_keybinds())
91
oxwm.key.bind({ modkey, "Shift" }, "F", oxwm.client.toggle_fullscreen())
92
oxwm.key.bind({ modkey, "Shift" }, "Space", oxwm.client.toggle_floating())
93
oxwm.key.bind({ modkey }, "C", oxwm.layout.set("tiling"))
94
oxwm.key.bind({ modkey }, "N", oxwm.layout.cycle())
95
oxwm.key.bind({ modkey }, "H", oxwm.set_master_factor(-5))
96
oxwm.key.bind({ modkey }, "L", oxwm.set_master_factor(5))
97
oxwm.key.bind({ modkey }, "I", oxwm.inc_num_master(1))
98
oxwm.key.bind({ modkey }, "P", oxwm.inc_num_master(-1))
99
oxwm.key.bind({ modkey }, "A", oxwm.toggle_gaps())
100
oxwm.key.bind({ modkey, "Shift" }, "Q", oxwm.quit())
101
oxwm.key.bind({ modkey, "Shift" }, "R", oxwm.restart())
102
oxwm.key.bind({ modkey }, "J", oxwm.client.focus_stack(1))
103
oxwm.key.bind({ modkey }, "K", oxwm.client.focus_stack(-1))
104
oxwm.key.bind({ modkey, "Shift" }, "J", oxwm.client.move_stack(1))
105
oxwm.key.bind({ modkey, "Shift" }, "K", oxwm.client.move_stack(-1))
106
oxwm.key.bind({ modkey }, "Comma", oxwm.monitor.focus(-1))
107
oxwm.key.bind({ modkey }, "Period", oxwm.monitor.focus(1))
108
oxwm.key.bind({ modkey, "Shift" }, "Comma", oxwm.monitor.tag(-1))
109
oxwm.key.bind({ modkey, "Shift" }, "Period", oxwm.monitor.tag(1))
110
111
oxwm.key.bind({ modkey }, "1", oxwm.tag.view(0))
112
oxwm.key.bind({ modkey }, "2", oxwm.tag.view(1))
113
oxwm.key.bind({ modkey }, "3", oxwm.tag.view(2))
114
oxwm.key.bind({ modkey }, "4", oxwm.tag.view(3))
115
oxwm.key.bind({ modkey }, "5", oxwm.tag.view(4))
116
oxwm.key.bind({ modkey }, "6", oxwm.tag.view(5))
117
oxwm.key.bind({ modkey }, "7", oxwm.tag.view(6))
118
oxwm.key.bind({ modkey }, "8", oxwm.tag.view(7))
119
oxwm.key.bind({ modkey }, "9", oxwm.tag.view(8))
120
121
oxwm.key.bind({ modkey, "Shift" }, "1", oxwm.tag.move_to(0))
122
oxwm.key.bind({ modkey, "Shift" }, "2", oxwm.tag.move_to(1))
123
oxwm.key.bind({ modkey, "Shift" }, "3", oxwm.tag.move_to(2))
124
oxwm.key.bind({ modkey, "Shift" }, "4", oxwm.tag.move_to(3))
125
oxwm.key.bind({ modkey, "Shift" }, "5", oxwm.tag.move_to(4))
126
oxwm.key.bind({ modkey, "Shift" }, "6", oxwm.tag.move_to(5))
127
oxwm.key.bind({ modkey, "Shift" }, "7", oxwm.tag.move_to(6))
128
oxwm.key.bind({ modkey, "Shift" }, "8", oxwm.tag.move_to(7))
129
oxwm.key.bind({ modkey, "Shift" }, "9", oxwm.tag.move_to(8))
130
131
oxwm.key.bind({ modkey, "Control" }, "1", oxwm.tag.toggleview(0))
132
oxwm.key.bind({ modkey, "Control" }, "2", oxwm.tag.toggleview(1))
133
oxwm.key.bind({ modkey, "Control" }, "3", oxwm.tag.toggleview(2))
134
oxwm.key.bind({ modkey, "Control" }, "4", oxwm.tag.toggleview(3))
135
oxwm.key.bind({ modkey, "Control" }, "5", oxwm.tag.toggleview(4))
136
oxwm.key.bind({ modkey, "Control" }, "6", oxwm.tag.toggleview(5))
137
oxwm.key.bind({ modkey, "Control" }, "7", oxwm.tag.toggleview(6))
138
oxwm.key.bind({ modkey, "Control" }, "8", oxwm.tag.toggleview(7))
139
oxwm.key.bind({ modkey, "Control" }, "9", oxwm.tag.toggleview(8))
140
141
oxwm.key.bind({ modkey, "Control", "Shift" }, "1", oxwm.tag.toggletag(0))
142
oxwm.key.bind({ modkey, "Control", "Shift" }, "2", oxwm.tag.toggletag(1))
143
oxwm.key.bind({ modkey, "Control", "Shift" }, "3", oxwm.tag.toggletag(2))
144
oxwm.key.bind({ modkey, "Control", "Shift" }, "4", oxwm.tag.toggletag(3))
145
oxwm.key.bind({ modkey, "Control", "Shift" }, "5", oxwm.tag.toggletag(4))
146
oxwm.key.bind({ modkey, "Control", "Shift" }, "6", oxwm.tag.toggletag(5))
147
oxwm.key.bind({ modkey, "Control", "Shift" }, "7", oxwm.tag.toggletag(6))
148
oxwm.key.bind({ modkey, "Control", "Shift" }, "8", oxwm.tag.toggletag(7))
149
oxwm.key.bind({ modkey, "Control", "Shift" }, "9", oxwm.tag.toggletag(8))
150
151
oxwm.key.chord({
152
    { { modkey }, "Space" },
153
    { {},         "T" }
154
}, oxwm.spawn_terminal())