oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git
6,392 bytes raw
1
#![enable(implicit_some)]
2
// OXWM Configuration File
3
// Edit this file and reload with Mod+Shift+R (no compilation needed!)
4
5
#DEFINE $terminal = "alacritty"
6
#DEFINE $color_blue = 0x6dade3
7
#DEFINE $color_grey = 0xbbbbbb
8
#DEFINE $color_green = 0x9ece6a
9
#DEFINE $color_red = 0xf7768e
10
#DEFINE $color_cyan = 0x0db9d7
11
#DEFINE $color_purple = 0xad8ee6
12
#DEFINE $color_lavender = 0xa9b1d6
13
#DEFINE $color_bg = 0x1a1b26
14
#DEFINE $color_fg = 0xbbbbbb
15
#DEFINE $color_light_blue = 0x7aa2f7
16
17
(
18
    border_width: 2,
19
    border_focused: $color_blue,
20
    border_unfocused: $color_grey,
21
    font: "JetBrainsMono Nerd Font:style=Bold:size=12",
22
23
    gaps_enabled: true,
24
    gap_inner_horizontal: 5,
25
    gap_inner_vertical: 5,
26
    gap_outer_horizontal: 5,
27
    gap_outer_vertical: 5,
28
29
    terminal: $terminal,
30
    modkey: Mod1,
31
    tags: ["1", "2", "3", "4", "5", "6", "7", "8", "9"],
32
33
    // Alternative icon tags (uncomment to use):
34
    // tags: ["", "󰊯", "", "", "󰙯", "󱇤", "", "󱘶", "󰧮"],
35
    
36
    // Alternative text tags (uncomment to use):
37
    // tags: ["DEV", "WWW", "SYS", "DOC", "VBOX", "CHAT", "MUS", "VID", "MISC"],
38
39
    layout_symbols: [
40
        (name: "tiling", symbol: "[T]"),
41
        (name: "normie", symbol: "[F]"),
42
    ],
43
44
    keybindings: [
45
        (modifiers: [Mod1], key: Return, action: Spawn, arg: $terminal),
46
        (modifiers: [Mod1], key: D, action: Spawn, arg: ["sh", "-c", "dmenu_run -l 10"]),
47
        (modifiers: [Mod1], key: S, action: Spawn, arg: ["sh", "-c", "maim -s | xclip -selection clipboard -t image/png"]),
48
        (modifiers: [Mod1], key: Q, action: KillClient),
49
        (modifiers: [Mod1, Shift], key: F, action: ToggleFullScreen),
50
        (modifiers: [Mod1, Shift], key: Space, action: ToggleFloating),
51
        (modifiers: [Mod1], key: F, action: ChangeLayout, arg: "normie"),
52
        (modifiers: [Mod1], key: C, action: ChangeLayout, arg: "tiling"),
53
        (modifiers: [Mod1], key: N, action: CycleLayout),
54
        (modifiers: [Mod1], key: A, action: ToggleGaps),
55
        (modifiers: [Mod1, Shift], key: Q, action: Quit),
56
        (modifiers: [Mod1, Shift], key: R, action: Restart),
57
        (modifiers: [Mod1], key: J, action: FocusStack, arg: -1),
58
        (modifiers: [Mod1], key: K, action: FocusStack, arg: 1),
59
        // Exchange client (vim-style with Mod+Shift)
60
        (modifiers: [Mod1, Control], key: K, action: SmartMoveWin, arg: 0), // UP
61
        (modifiers: [Mod1, Control], key: J, action: SmartMoveWin, arg: 1), // DOWN
62
        (modifiers: [Mod1, Control], key: H, action: SmartMoveWin, arg: 2), // LEFT
63
        (modifiers: [Mod1, Control], key: L, action: SmartMoveWin, arg: 3), // RIGHT
64
        (modifiers: [Mod1, Shift], key: K, action: ExchangeClient, arg: 0), // UP
65
        (modifiers: [Mod1, Shift], key: J, action: ExchangeClient, arg: 1), // DOWN
66
        (modifiers: [Mod1, Shift], key: H, action: ExchangeClient, arg: 2), // LEFT
67
        (modifiers: [Mod1, Shift], key: L, action: ExchangeClient, arg: 3), // RIGHT
68
        (modifiers: [Mod1], key: Key1, action: ViewTag, arg: 0),
69
        (modifiers: [Mod1], key: Key2, action: ViewTag, arg: 1),
70
        (modifiers: [Mod1], key: Key3, action: ViewTag, arg: 2),
71
        (modifiers: [Mod1], key: Key4, action: ViewTag, arg: 3),
72
        (modifiers: [Mod1], key: Key5, action: ViewTag, arg: 4),
73
        (modifiers: [Mod1], key: Key6, action: ViewTag, arg: 5),
74
        (modifiers: [Mod1], key: Key7, action: ViewTag, arg: 6),
75
        (modifiers: [Mod1], key: Key8, action: ViewTag, arg: 7),
76
        (modifiers: [Mod1], key: Key9, action: ViewTag, arg: 8),
77
        (modifiers: [Mod1, Shift], key: Key1, action: MoveToTag, arg: 0),
78
        (modifiers: [Mod1, Shift], key: Key2, action: MoveToTag, arg: 1),
79
        (modifiers: [Mod1, Shift], key: Key3, action: MoveToTag, arg: 2),
80
        (modifiers: [Mod1, Shift], key: Key4, action: MoveToTag, arg: 3),
81
        (modifiers: [Mod1, Shift], key: Key5, action: MoveToTag, arg: 4),
82
        (modifiers: [Mod1, Shift], key: Key6, action: MoveToTag, arg: 5),
83
        (modifiers: [Mod1, Shift], key: Key7, action: MoveToTag, arg: 6),
84
        (modifiers: [Mod1, Shift], key: Key8, action: MoveToTag, arg: 7),
85
        (modifiers: [Mod1, Shift], key: Key9, action: MoveToTag, arg: 8),
86
    ],
87
    
88
    status_blocks: [
89
        // Battery block (shows charging/discharging status)
90
        (
91
            format: "",
92
            command: "Battery",
93
            battery_formats: (
94
                charging: "󰂄 Bat: {}%",
95
                discharging: "󰁹 Bat:{}%",
96
                full: "󰁹 Bat: {}%",
97
            ),
98
            interval_secs: 30,
99
            color: $color_green,
100
            underline: true,
101
        ),
102
        
103
        // Separator
104
        (
105
            format: " │  ",
106
            command: "Static",
107
            interval_secs: 18446744073709551615,
108
            color: $color_lavender,
109
            underline: false,
110
        ),
111
        
112
        // RAM usage
113
        (
114
            format: "󰍛 {used}/{total} GB",
115
            command: "Ram",
116
            interval_secs: 5,
117
            color: $color_light_blue,
118
            underline: true,
119
        ),
120
        
121
        // Separator
122
        (
123
            format: " │  ",
124
            command: "Static",
125
            interval_secs: 18446744073709551615,
126
            color: $color_lavender,
127
            underline: false,
128
        ),
129
        
130
        // Kernel version
131
        (
132
            format: " {}",
133
            command: "Shell",
134
            command_arg: "uname -r",
135
            interval_secs: 18446744073709551615,
136
            color: $color_red,
137
            underline: true,
138
        ),
139
        
140
        // Separator
141
        (
142
            format: " │  ",
143
            command: "Static",
144
            interval_secs: 18446744073709551615,
145
            color: $color_lavender,
146
            underline: false,
147
        ),
148
        
149
        // Date and time
150
        (
151
            format: "󰸘 {}",
152
            command: "DateTime",
153
            command_arg: "%a, %b %d - %-I:%M %P",
154
            interval_secs: 1,
155
            color: $color_cyan,
156
            underline: true,
157
        ),
158
    ],
159
    
160
    scheme_normal: (foreground: $color_fg, background: $color_bg, underline: 0x444444),
161
    scheme_occupied: (foreground: $color_cyan, background: $color_bg, underline: $color_cyan),
162
    scheme_selected: (foreground: $color_cyan, background: $color_bg, underline: $color_purple),
163
)