|
1 |
+ |
---@meta |
|
2 |
+ |
------------------------------------------------------------------------------- |
|
3 |
+ |
-- OXWM Configuration File |
|
4 |
+ |
------------------------------------------------------------------------------- |
|
5 |
+ |
-- This is the default configuration for OXWM, a dynamic window manager. |
|
6 |
+ |
-- Edit this file and reload with Mod+Shift+R (no compilation needed) |
|
7 |
+ |
-- |
|
8 |
+ |
-- For more information about configuring OXWM, see the documentation. |
|
9 |
+ |
-- The Lua Language Server provides autocomplete and type checking. |
|
10 |
+ |
------------------------------------------------------------------------------- |
|
11 |
+ |
|
|
12 |
+ |
---Load type definitions for LSP |
|
13 |
+ |
---@module 'oxwm' |
|
14 |
+ |
|
|
15 |
+ |
------------------------------------------------------------------------------- |
|
16 |
+ |
-- Variables |
|
17 |
+ |
------------------------------------------------------------------------------- |
|
18 |
+ |
-- Define your variables here for easy customization throughout the config. |
|
19 |
+ |
-- This makes it simple to change keybindings, colors, and settings in one place. |
|
20 |
+ |
|
|
21 |
+ |
-- Modifier key: "Mod4" is the Super/Windows key, "Mod1" is Alt |
|
22 |
+ |
local modkey = "Mod4" |
|
23 |
+ |
|
|
24 |
+ |
-- Terminal emulator command (defaults to alacritty) |
|
25 |
+ |
local terminal = "alacritty" |
|
26 |
+ |
|
|
27 |
+ |
-- Color palette - customize these to match your theme |
|
28 |
+ |
-- Alternatively you can import other files in here, such as |
|
29 |
+ |
-- local colors = require("colors.lua") and make colors.lua a file |
|
30 |
+ |
-- in the ~/.config/oxwm directory |
|
31 |
+ |
-- Darkmatter (matches wezterm/ghostty theme) |
|
32 |
+ |
local colors = { |
|
33 |
+ |
fg = "#ffffff", |
|
34 |
+ |
red = "#e78a53", |
|
35 |
+ |
bg = "#121113", |
|
36 |
+ |
cyan = "#aaaaaa", |
|
37 |
+ |
green = "#fbcb97", |
|
38 |
+ |
lavender = "#999999", |
|
39 |
+ |
light_blue = "#888888", |
|
40 |
+ |
grey = "#333333", |
|
41 |
+ |
blue = "#5f8787", |
|
42 |
+ |
purple = "#c1c1c1", |
|
43 |
+ |
} |
|
44 |
+ |
|
|
45 |
+ |
-- Workspace tags - can be numbers, names, or icons (requires a Nerd Font) |
|
46 |
+ |
-- The number of tags is deduced from the size of this table (up to a max of 12). |
|
47 |
+ |
-- The default is 9. To use more, add entries here and uncomment the matching |
|
48 |
+ |
-- keybinds for tags 10-12 further down in this file. |
|
49 |
+ |
local tags = { "1", "2", "3", "4", "5", "6", "7", "8", "9" } |
|
50 |
+ |
-- local tags = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" } -- Example of 12 tags |
|
51 |
+ |
-- local tags = { "", "", "", "", "", "", "", "", "" } -- Example of nerd font icon tags |
|
52 |
+ |
|
|
53 |
+ |
-- Font for the status bar (use "fc-list" to see available fonts) |
|
54 |
+ |
local bar_font = "BerkeleyMono Nerd Font:style=Bold:size=12" |
|
55 |
+ |
|
|
56 |
+ |
-- Define your blocks |
|
57 |
+ |
-- Similar to widgets in qtile, or dwmblocks |
|
58 |
+ |
local blocks = { |
|
59 |
+ |
oxwm.bar.block.ram({ |
|
60 |
+ |
format = "Ram: {used}/{total} GB", |
|
61 |
+ |
interval = 5, |
|
62 |
+ |
color = colors.light_blue, |
|
63 |
+ |
underline = true, |
|
64 |
+ |
}), |
|
65 |
+ |
oxwm.bar.block.static({ |
|
66 |
+ |
text = "│", |
|
67 |
+ |
interval = 999999999, |
|
68 |
+ |
color = colors.lavender, |
|
69 |
+ |
underline = false, |
|
70 |
+ |
}), |
|
71 |
+ |
oxwm.bar.block.shell({ |
|
72 |
+ |
format = "{}", |
|
73 |
+ |
command = "uname -r", |
|
74 |
+ |
interval = 999999999, |
|
75 |
+ |
color = colors.red, |
|
76 |
+ |
underline = true, |
|
77 |
+ |
}), |
|
78 |
+ |
oxwm.bar.block.static({ |
|
79 |
+ |
text = "│", |
|
80 |
+ |
interval = 999999999, |
|
81 |
+ |
color = colors.lavender, |
|
82 |
+ |
underline = false, |
|
83 |
+ |
}), |
|
84 |
+ |
oxwm.bar.block.datetime({ |
|
85 |
+ |
format = "{}", |
|
86 |
+ |
date_format = "%a, %b %d - %-I:%M %P", |
|
87 |
+ |
interval = 1, |
|
88 |
+ |
color = colors.cyan, |
|
89 |
+ |
underline = true, |
|
90 |
+ |
}), |
|
91 |
+ |
-- Uncomment to add battery status (useful for laptops) |
|
92 |
+ |
oxwm.bar.block.battery({ |
|
93 |
+ |
format = "Bat: {}%", |
|
94 |
+ |
charging = "⚡ Bat: {}%", |
|
95 |
+ |
discharging = "- Bat: {}%", |
|
96 |
+ |
full = "✓ Bat: {}%", |
|
97 |
+ |
interval = 30, |
|
98 |
+ |
color = colors.green, |
|
99 |
+ |
underline = true, |
|
100 |
+ |
-- click: run a command when the block is clicked |
|
101 |
+ |
-- click = "alacritty -e btop", |
|
102 |
+ |
-- click = { command = "bluetui", floating = true }, |
|
103 |
+ |
}), |
|
104 |
+ |
}; |
|
105 |
+ |
|
|
106 |
+ |
------------------------------------------------------------------------------- |
|
107 |
+ |
-- Basic Settings |
|
108 |
+ |
------------------------------------------------------------------------------- |
|
109 |
+ |
oxwm.set_terminal(terminal) |
|
110 |
+ |
oxwm.set_modkey(modkey) -- This is for Mod + mouse binds, such as drag/resize |
|
111 |
+ |
oxwm.set_tags(tags) |
|
112 |
+ |
|
|
113 |
+ |
-- Set default layout (tiling by default) |
|
114 |
+ |
-- oxwm.set_layout("tiling") |
|
115 |
+ |
|
|
116 |
+ |
------------------------------------------------------------------------------- |
|
117 |
+ |
-- Layouts |
|
118 |
+ |
------------------------------------------------------------------------------- |
|
119 |
+ |
-- Set custom symbols for layouts (displayed in the status bar) |
|
120 |
+ |
-- Available layouts: "tiling", "normie" (floating), "grid", "monocle", "tabbed", "dwindle" |
|
121 |
+ |
oxwm.set_layout_symbol("tiling", "[T]") |
|
122 |
+ |
oxwm.set_layout_symbol("normie", "[F]") |
|
123 |
+ |
oxwm.set_layout_symbol("tabbed", "[=]") |
|
124 |
+ |
-- oxwm.set_layout_symbol("dwindle", "[\\]") |
|
125 |
+ |
|
|
126 |
+ |
-- Example: bind dwindle (fibonacci) layout |
|
127 |
+ |
-- oxwm.key.bind({ modkey }, "R", oxwm.layout.set("dwindle")) |
|
128 |
+ |
|
|
129 |
+ |
-- Set default layout of specific tag (tag_index, layout_name) |
|
130 |
+ |
-- Unset value uses oxwm.set_layout value |
|
131 |
+ |
-- oxwm.set_tag_layout(1, "grid") |
|
132 |
+ |
|
|
133 |
+ |
------------------------------------------------------------------------------- |
|
134 |
+ |
-- Appearance |
|
135 |
+ |
------------------------------------------------------------------------------- |
|
136 |
+ |
-- Border configuration |
|
137 |
+ |
|
|
138 |
+ |
-- Width in pixels |
|
139 |
+ |
oxwm.border.set_width(2) |
|
140 |
+ |
-- Color of focused window border |
|
141 |
+ |
oxwm.border.set_focused_color(colors.blue) |
|
142 |
+ |
-- Color of unfocused window borders |
|
143 |
+ |
oxwm.border.set_unfocused_color(colors.grey) |
|
144 |
+ |
|
|
145 |
+ |
-- Where floating windows spawn: "top-left", "top-center", "top-right", |
|
146 |
+ |
-- "center-left", "center", "center-right", "bottom-left", "bottom-center", "bottom-right" |
|
147 |
+ |
oxwm.set_floating_position("center") |
|
148 |
+ |
|
|
149 |
+ |
-- Smart Enabled = No border if 1 window |
|
150 |
+ |
oxwm.gaps.set_smart(true) |
|
151 |
+ |
-- Inner gaps (horizontal, vertical) in pixels |
|
152 |
+ |
oxwm.gaps.set_inner(5, 5) |
|
153 |
+ |
-- Outer gaps (horizontal, vertical) in pixels |
|
154 |
+ |
oxwm.gaps.set_outer(5, 5) |
|
155 |
+ |
|
|
156 |
+ |
------------------------------------------------------------------------------- |
|
157 |
+ |
-- Window Rules |
|
158 |
+ |
------------------------------------------------------------------------------- |
|
159 |
+ |
-- Rules allow you to automatically configure windows based on their properties |
|
160 |
+ |
-- You can match windows by class, instance, title, or role |
|
161 |
+ |
-- Available properties: floating, tag, fullscreen, etc. |
|
162 |
+ |
-- |
|
163 |
+ |
-- Common use cases: |
|
164 |
+ |
-- - Force floating for certain applications (dialogs, utilities) |
|
165 |
+ |
-- - Send specific applications to specific workspaces |
|
166 |
+ |
-- - Configure window behavior based on title or class |
|
167 |
+ |
|
|
168 |
+ |
-- Examples (uncomment to use): |
|
169 |
+ |
oxwm.rule.add({ instance = "gimp", floating = true }) |
|
170 |
+ |
-- oxwm.rule.add({ class = "Alacritty", tag = 9, focus = true }) |
|
171 |
+ |
-- oxwm.rule.add({ class = "firefox", title = "Library", floating = true }) |
|
172 |
+ |
-- oxwm.rule.add({ class = "firefox", tag = 2 }) |
|
173 |
+ |
-- oxwm.rule.add({ instance = "mpv", floating = true }) |
|
174 |
+ |
|
|
175 |
+ |
-- To find window properties, use xprop and click on the window |
|
176 |
+ |
-- WM_CLASS(STRING) shows both instance and class (instance, class) |
|
177 |
+ |
|
|
178 |
+ |
------------------------------------------------------------------------------- |
|
179 |
+ |
-- Status Bar Configuration |
|
180 |
+ |
------------------------------------------------------------------------------- |
|
181 |
+ |
-- Font configuration |
|
182 |
+ |
oxwm.bar.set_font(bar_font) |
|
183 |
+ |
|
|
184 |
+ |
-- Position configuration (top/bottom, top is default) |
|
185 |
+ |
-- oxwm.bar.set_position("bottom") |
|
186 |
+ |
|
|
187 |
+ |
-- Set your blocks here (defined above) |
|
188 |
+ |
oxwm.bar.set_blocks(blocks) |
|
189 |
+ |
|
|
190 |
+ |
-- Bar color schemes (for workspace tag display) |
|
191 |
+ |
-- Parameters: foreground, background, border |
|
192 |
+ |
|
|
193 |
+ |
-- Unoccupied tags |
|
194 |
+ |
oxwm.bar.set_scheme_normal(colors.fg, colors.bg, colors.grey) |
|
195 |
+ |
-- Occupied tags |
|
196 |
+ |
oxwm.bar.set_scheme_occupied(colors.cyan, colors.bg, colors.cyan) |
|
197 |
+ |
-- Currently selected tag |
|
198 |
+ |
oxwm.bar.set_scheme_selected(colors.cyan, colors.bg, colors.purple) |
|
199 |
+ |
-- Urgent tags (windows requesting attention) |
|
200 |
+ |
oxwm.bar.set_scheme_urgent(colors.red, colors.bg, colors.red) |
|
201 |
+ |
|
|
202 |
+ |
-- Hide tags that have no windows and are not selected |
|
203 |
+ |
-- oxwm.bar.set_hide_vacant_tags(true) |
|
204 |
+ |
|
|
205 |
+ |
------------------------------------------------------------------------------- |
|
206 |
+ |
-- Keybindings |
|
207 |
+ |
------------------------------------------------------------------------------- |
|
208 |
+ |
-- Keybindings are defined using oxwm.key.bind(modifiers, key, action) |
|
209 |
+ |
-- Modifiers: {"Mod4"}, {"Mod1"}, {"Shift"}, {"Control"}, or combinations like {"Mod4", "Shift"} |
|
210 |
+ |
-- Keys: Use uppercase for letters (e.g., "Return", "H", "J", "K", "L") |
|
211 |
+ |
-- Actions: Functions that return actions (e.g., oxwm.spawn(), oxwm.client.kill()) |
|
212 |
+ |
-- |
|
213 |
+ |
-- A list of available keysyms can be found in the X11 keysym definitions. |
|
214 |
+ |
-- Common keys: Return, Space, Tab, Escape, Backspace, Delete, Left, Right, Up, Down |
|
215 |
+ |
|
|
216 |
+ |
-- Basic window management |
|
217 |
+ |
|
|
218 |
+ |
oxwm.key.bind({ modkey }, "Return", oxwm.spawn_terminal()) |
|
219 |
+ |
-- Launch Dmenu |
|
220 |
+ |
oxwm.key.bind({ modkey }, "D", oxwm.spawn({ "sh", "-c", "dmenu_run -l 10" })) |
|
221 |
+ |
-- Copy screenshot to clipboard |
|
222 |
+ |
oxwm.key.bind({ modkey }, "S", oxwm.spawn({ "sh", "-c", "maim -s | xclip -selection clipboard -t image/png" })) |
|
223 |
+ |
oxwm.key.bind({ modkey }, "W", oxwm.client.kill()) |
|
224 |
+ |
|
|
225 |
+ |
-- Keybind overlay - Shows important keybindings on screen |
|
226 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "Slash", oxwm.show_keybinds()) |
|
227 |
+ |
|
|
228 |
+ |
-- Window state toggles |
|
229 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "F", oxwm.client.toggle_fullscreen()) |
|
230 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "Space", oxwm.client.toggle_floating()) |
|
231 |
+ |
|
|
232 |
+ |
-- Layout management |
|
233 |
+ |
oxwm.key.bind({ modkey }, "F", oxwm.layout.set("normie")) |
|
234 |
+ |
oxwm.key.bind({ modkey }, "C", oxwm.layout.set("tiling")) |
|
235 |
+ |
-- Cycle through layouts |
|
236 |
+ |
oxwm.key.bind({ modkey }, "N", oxwm.layout.cycle()) |
|
237 |
+ |
|
|
238 |
+ |
-- Master area controls (tiling layout) |
|
239 |
+ |
|
|
240 |
+ |
-- Decrease/Increase master area width |
|
241 |
+ |
oxwm.key.bind({ modkey }, "H", oxwm.set_master_factor(-5)) |
|
242 |
+ |
oxwm.key.bind({ modkey }, "L", oxwm.set_master_factor(5)) |
|
243 |
+ |
-- Enable tiled resize mode: Mod+RMB drag adjusts mfact instead of floating |
|
244 |
+ |
-- oxwm.tiled_resize_mode(true) |
|
245 |
+ |
-- Increment/Decrement number of master windows |
|
246 |
+ |
oxwm.key.bind({ modkey }, "I", oxwm.inc_num_master(1)) |
|
247 |
+ |
oxwm.key.bind({ modkey }, "P", oxwm.inc_num_master(-1)) |
|
248 |
+ |
|
|
249 |
+ |
-- Gaps toggle |
|
250 |
+ |
oxwm.key.bind({ modkey }, "A", oxwm.toggle_gaps()) |
|
251 |
+ |
-- Bar toggle |
|
252 |
+ |
oxwm.key.bind({ modkey }, "B", oxwm.toggle_bar()) |
|
253 |
+ |
|
|
254 |
+ |
-- Window manager controls |
|
255 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "Q", oxwm.quit()) |
|
256 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "R", oxwm.restart()) |
|
257 |
+ |
|
|
258 |
+ |
-- Focus movement [1 for up in the stack, -1 for down] |
|
259 |
+ |
oxwm.key.bind({ modkey }, "J", oxwm.client.focus_stack(1)) |
|
260 |
+ |
oxwm.key.bind({ modkey }, "K", oxwm.client.focus_stack(-1)) |
|
261 |
+ |
|
|
262 |
+ |
-- Window movement (swap position in stack) |
|
263 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "J", oxwm.client.move_stack(1)) |
|
264 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "K", oxwm.client.move_stack(-1)) |
|
265 |
+ |
|
|
266 |
+ |
-- Multi-monitor support |
|
267 |
+ |
|
|
268 |
+ |
-- Focus next/previous Monitors |
|
269 |
+ |
oxwm.key.bind({ modkey }, "Comma", oxwm.monitor.focus(-1)) |
|
270 |
+ |
oxwm.key.bind({ modkey }, "Period", oxwm.monitor.focus(1)) |
|
271 |
+ |
-- Move window to next/previous Monitors |
|
272 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "Comma", oxwm.monitor.tag(-1)) |
|
273 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "Period", oxwm.monitor.tag(1)) |
|
274 |
+ |
|
|
275 |
+ |
-- Warp the cursor to the focused monitor when switching monitors |
|
276 |
+ |
-- oxwm.monitor.warp_cursor(true) |
|
277 |
+ |
-- Warp the cursor along when sending a window to another monitor |
|
278 |
+ |
-- oxwm.monitor.warp_cursor_on_send(true) |
|
279 |
+ |
|
|
280 |
+ |
-- Workspace (tag) navigation |
|
281 |
+ |
-- Switch to workspace N (tags are 0-indexed, so tag "1" is index 0) |
|
282 |
+ |
oxwm.key.bind({ modkey }, "1", oxwm.tag.view(0)) |
|
283 |
+ |
oxwm.key.bind({ modkey }, "2", oxwm.tag.view(1)) |
|
284 |
+ |
oxwm.key.bind({ modkey }, "3", oxwm.tag.view(2)) |
|
285 |
+ |
oxwm.key.bind({ modkey }, "4", oxwm.tag.view(3)) |
|
286 |
+ |
oxwm.key.bind({ modkey }, "5", oxwm.tag.view(4)) |
|
287 |
+ |
oxwm.key.bind({ modkey }, "6", oxwm.tag.view(5)) |
|
288 |
+ |
oxwm.key.bind({ modkey }, "7", oxwm.tag.view(6)) |
|
289 |
+ |
oxwm.key.bind({ modkey }, "8", oxwm.tag.view(7)) |
|
290 |
+ |
oxwm.key.bind({ modkey }, "9", oxwm.tag.view(8)) |
|
291 |
+ |
-- Tags 10-12 (opt-in): set 12 tags above, then pick keys you like and uncomment. |
|
292 |
+ |
-- oxwm.key.bind({ modkey }, "0", oxwm.tag.view(9)) |
|
293 |
+ |
-- oxwm.key.bind({ modkey }, "minus", oxwm.tag.view(10)) |
|
294 |
+ |
-- oxwm.key.bind({ modkey }, "equal", oxwm.tag.view(11)) |
|
295 |
+ |
|
|
296 |
+ |
-- Move focused window to workspace N |
|
297 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "1", oxwm.tag.move_to(0)) |
|
298 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "2", oxwm.tag.move_to(1)) |
|
299 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "3", oxwm.tag.move_to(2)) |
|
300 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "4", oxwm.tag.move_to(3)) |
|
301 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "5", oxwm.tag.move_to(4)) |
|
302 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "6", oxwm.tag.move_to(5)) |
|
303 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "7", oxwm.tag.move_to(6)) |
|
304 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "8", oxwm.tag.move_to(7)) |
|
305 |
+ |
oxwm.key.bind({ modkey, "Shift" }, "9", oxwm.tag.move_to(8)) |
|
306 |
+ |
-- oxwm.key.bind({ modkey, "Shift" }, "0", oxwm.tag.move_to(9)) |
|
307 |
+ |
-- oxwm.key.bind({ modkey, "Shift" }, "minus", oxwm.tag.move_to(10)) |
|
308 |
+ |
-- oxwm.key.bind({ modkey, "Shift" }, "equal", oxwm.tag.move_to(11)) |
|
309 |
+ |
|
|
310 |
+ |
-- Combo view (view multiple tags at once) {argos_nothing} |
|
311 |
+ |
-- Example: Mod+Ctrl+2 while on tag 1 will show BOTH tags 1 and 2 |
|
312 |
+ |
oxwm.key.bind({ modkey, "Control" }, "1", oxwm.tag.toggleview(0)) |
|
313 |
+ |
oxwm.key.bind({ modkey, "Control" }, "2", oxwm.tag.toggleview(1)) |
|
314 |
+ |
oxwm.key.bind({ modkey, "Control" }, "3", oxwm.tag.toggleview(2)) |
|
315 |
+ |
oxwm.key.bind({ modkey, "Control" }, "4", oxwm.tag.toggleview(3)) |
|
316 |
+ |
oxwm.key.bind({ modkey, "Control" }, "5", oxwm.tag.toggleview(4)) |
|
317 |
+ |
oxwm.key.bind({ modkey, "Control" }, "6", oxwm.tag.toggleview(5)) |
|
318 |
+ |
oxwm.key.bind({ modkey, "Control" }, "7", oxwm.tag.toggleview(6)) |
|
319 |
+ |
oxwm.key.bind({ modkey, "Control" }, "8", oxwm.tag.toggleview(7)) |
|
320 |
+ |
oxwm.key.bind({ modkey, "Control" }, "9", oxwm.tag.toggleview(8)) |
|
321 |
+ |
-- oxwm.key.bind({ modkey, "Control" }, "0", oxwm.tag.toggleview(9)) |
|
322 |
+ |
-- oxwm.key.bind({ modkey, "Control" }, "minus", oxwm.tag.toggleview(10)) |
|
323 |
+ |
-- oxwm.key.bind({ modkey, "Control" }, "equal", oxwm.tag.toggleview(11)) |
|
324 |
+ |
|
|
325 |
+ |
-- Multi tag (window on multiple tags) |
|
326 |
+ |
-- Example: Mod+Ctrl+Shift+2 puts focused window on BOTH current tag and tag 2 |
|
327 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "1", oxwm.tag.toggletag(0)) |
|
328 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "2", oxwm.tag.toggletag(1)) |
|
329 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "3", oxwm.tag.toggletag(2)) |
|
330 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "4", oxwm.tag.toggletag(3)) |
|
331 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "5", oxwm.tag.toggletag(4)) |
|
332 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "6", oxwm.tag.toggletag(5)) |
|
333 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "7", oxwm.tag.toggletag(6)) |
|
334 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "8", oxwm.tag.toggletag(7)) |
|
335 |
+ |
oxwm.key.bind({ modkey, "Control", "Shift" }, "9", oxwm.tag.toggletag(8)) |
|
336 |
+ |
-- oxwm.key.bind({ modkey, "Control", "Shift" }, "0", oxwm.tag.toggletag(9)) |
|
337 |
+ |
-- oxwm.key.bind({ modkey, "Control", "Shift" }, "minus", oxwm.tag.toggletag(10)) |
|
338 |
+ |
-- oxwm.key.bind({ modkey, "Control", "Shift" }, "equal", oxwm.tag.toggletag(11)) |
|
339 |
+ |
|
|
340 |
+ |
------------------------------------------------------------------------------- |
|
341 |
+ |
-- Advanced: Keychords |
|
342 |
+ |
------------------------------------------------------------------------------- |
|
343 |
+ |
-- Keychords allow you to bind multiple-key sequences (like Emacs or Vim) |
|
344 |
+ |
-- Format: {{modifiers}, key1}, {{modifiers}, key2}, ... |
|
345 |
+ |
-- Example: Press Mod4+Space, then release and press T to spawn a terminal |
|
346 |
+ |
oxwm.key.chord({ |
|
347 |
+ |
{ { modkey }, "Space" }, |
|
348 |
+ |
{ {}, "T" } |
|
349 |
+ |
}, oxwm.spawn_terminal()) |
|
350 |
+ |
|
|
351 |
+ |
------------------------------------------------------------------------------- |
|
352 |
+ |
-- Autostart |
|
353 |
+ |
------------------------------------------------------------------------------- |
|
354 |
+ |
-- Commands to run once when OXWM starts |
|
355 |
+ |
-- Uncomment and modify these examples, or add your own |
|
356 |
+ |
|
|
357 |
+ |
-- oxwm.autostart("picom") |
|
358 |
+ |
-- oxwm.autostart("feh --bg-scale ~/wallpaper.jpg") |
|
359 |
+ |
-- oxwm.autostart("dunst") |
|
360 |
+ |
-- oxwm.autostart("nm-applet") |