oxwm

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