68 lines
2.2 KiB
Lua
68 lines
2.2 KiB
Lua
local float_classes = {
|
|
"^(.*Emulator.*)$", "^(.*desktop-portal.*)$", "^(org.quickshell)$",
|
|
"^(polkit.*agent.*)$", "^(praat)$", "^(network)$", "^(nm-)$", "^(Network)$",
|
|
"^(Rofi)$", "^(Gimp)$", "^(thunar)$", "^(Nautilus)$",
|
|
"^(LmDev-.*)$", "^(notification)$", "^(Genymotion Player)$", "^(launcher)$",
|
|
}
|
|
local workspace_rules = {
|
|
{ class = "^(KeePassXC)$", ws = "2" },
|
|
{ class = "^(firefox)$", ws = "3" },
|
|
{ class = "^(floorp)$", ws = "3" },
|
|
{ class = "^(brave-browser)$", ws = "3" },
|
|
{ class = "^(Spotify)$", ws = "4" },
|
|
{ class = "^(discord)$", ws = "6" },
|
|
{ class = "^(.*obs.*)$", ws = "8" },
|
|
{ title = "^(Minecraft)$", ws = "name:extra" },
|
|
{ class = "^(signal)$", title = "^(Signal)$", ws = "6" },
|
|
{ class = "^(.*)$", title = "^(.*WhatsApp.*)$", ws = "6" },
|
|
}
|
|
local fullscreen_inhibits = {
|
|
"^(floorp)$", "^(firefox)$", "^(ghostty)$", "^(brave-browser)$",
|
|
}
|
|
local focus_inhibits = {
|
|
"^(mpv)$", "^(firefox)$", "^(floorp)$", "^(spotify)$",
|
|
"^(Emacs|emacs)$", "^(brave-browser)$", "^(Discord|dicord)$",
|
|
}
|
|
|
|
hl.window_rule({
|
|
match = { class = "steam", title = "^(Friends List)$"},
|
|
float = true,
|
|
})
|
|
hl.window_rule({
|
|
match = { class = "^(Discord|discord)$" },
|
|
opacity = "0.98 0.90",
|
|
})
|
|
hl.window_rule({
|
|
match = { class = "^(Emacs|emacs)$" },
|
|
opacity = "0.96 0.90",
|
|
})
|
|
hl.window_rule({
|
|
match = { xwayland = true },
|
|
rounding = 0,
|
|
})
|
|
|
|
for _, float_class in ipairs(float_classes) do
|
|
hl.window_rule({
|
|
match = { class = float_class},
|
|
float = true
|
|
})
|
|
end
|
|
for _, rule in ipairs(workspace_rules) do
|
|
hl.window_rule({
|
|
match = { class = rule.class, title = rule.title },
|
|
workspace = rule.ws
|
|
})
|
|
end
|
|
for _, fs_inhib in ipairs(fullscreen_inhibits) do
|
|
hl.window_rule({
|
|
match = { class = fs_inhib },
|
|
idle_inhibit = "fullscreen",
|
|
})
|
|
end
|
|
for _, fo_inhib in ipairs(focus_inhibits) do
|
|
hl.window_rule({
|
|
match = { class = fo_inhib },
|
|
idle_inhibit = "focus",
|
|
})
|
|
end
|