126 lines
5.3 KiB
Lua
126 lines
5.3 KiB
Lua
-- config/windowrules.lua
|
|
-- Translated from config_windowrules.conf to hl.window_rule() / hl.layer_rule().
|
|
|
|
-- ── Float rules ───────────────────────────────────────────────
|
|
local float_classes = {
|
|
"org.pulseaudio.pavucontrol",
|
|
"blueman-manager",
|
|
"zenity",
|
|
"pomodorolm",
|
|
"CachyOSHello",
|
|
"Rofi",
|
|
"Picture in picture",
|
|
"Save File",
|
|
"Open File",
|
|
"Steam - Self Updater",
|
|
"^Extension:.*",
|
|
}
|
|
|
|
for _, cls in ipairs(float_classes) do
|
|
hl.window_rule({ match = { class = cls }, float = true })
|
|
end
|
|
|
|
hl.window_rule({ match = { class = "LibreWolf", title = "Picture-in-Picture" }, float = true })
|
|
hl.window_rule({
|
|
match = { class = "^(xdg-desktop-portal-gtk|xdg-desktop-portal-kde|xdg-desktop-portal-hyprland).*" },
|
|
float = true,
|
|
})
|
|
hl.window_rule({
|
|
match = {
|
|
class = "^(polkit-gnome-authentication-agent-1|hyprpolkitagent|org.kde.polkit-kde-authentication-agent-1).*",
|
|
},
|
|
float = true,
|
|
})
|
|
hl.window_rule({ match = { class = "Zotero", title = "Progress" }, float = true })
|
|
hl.window_rule({ match = { class = "Zotero", title = "Zotero Settings" }, float = true })
|
|
hl.window_rule({ match = { class = "Zotero", title = "Citation Dialog" }, float = true, center = true, no_anim = true })
|
|
hl.window_rule({ match = { class = "waypaper" }, float = true, center = true })
|
|
hl.window_rule({ match = { title = "calcure" }, float = true, center = true })
|
|
hl.window_rule({ match = { class = "org.gnome.Calculator" }, float = true, center = true })
|
|
hl.window_rule({
|
|
match = { class = "org.gnome.Calendar", title = "Calendar" },
|
|
float = true,
|
|
center = true,
|
|
animation = "popin",
|
|
opacity = "0.8",
|
|
})
|
|
hl.window_rule({ match = { class = "steam", title = "Freundesliste" }, float = true, size = { 400, 600 } })
|
|
|
|
-- ── PiP ──────────────────────────────────────────────────────
|
|
hl.window_rule({
|
|
match = { title = "Picture-in-Picture" },
|
|
float = true,
|
|
size = { 960, 540 },
|
|
move = { "(monitor_w*0.25)", "0" },
|
|
})
|
|
|
|
-- ── Media / misc float + position ────────────────────────────
|
|
hl.window_rule({
|
|
match = { title = "^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp|nwg-look|nwg-displays)$" },
|
|
float = true,
|
|
})
|
|
hl.window_rule({
|
|
match = { title = "^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$" },
|
|
move = { "(monitor_w*0.25)", "0" },
|
|
size = { 960, 540 },
|
|
})
|
|
hl.window_rule({ match = { title = "danmufloat" }, pin = true })
|
|
hl.window_rule({ match = { title = "^(danmufloat|termfloat)$" }, rounding = 5 })
|
|
|
|
-- ── Opacity ───────────────────────────────────────────────────
|
|
hl.window_rule({ match = { class = "^(thunar|nemo|dolphin)$" }, opacity = "0.92" })
|
|
hl.window_rule({ match = { class = "^(discord|armcord|webcord)$" }, opacity = "0.96" })
|
|
hl.window_rule({ match = { title = "^(QQ|Telegram)$" }, opacity = "0.95" })
|
|
hl.window_rule({ match = { title = "NetEase Cloud Music Gtk4" }, opacity = "0.95" })
|
|
hl.window_rule({ match = { class = "kitty" }, opacity = "1.0" })
|
|
hl.window_rule({ match = { class = "^(libreoffice.*)$" }, opacity = "1.0 override 1.0 override 1.0" })
|
|
hl.window_rule({ match = { title = "^(.+nvim$)" }, opacity = "0.9" })
|
|
hl.window_rule({ match = { class = "^code$" }, opacity = "0.93" })
|
|
|
|
-- ── Blur / dim exceptions ─────────────────────────────────────
|
|
hl.window_rule({ match = { class = "org.mozilla.firefox" }, no_blur = true })
|
|
hl.window_rule({ match = { class = "zen" }, no_dim = true })
|
|
|
|
-- ── Animations ───────────────────────────────────────────────
|
|
hl.window_rule({ match = { class = "^(kitty|Alacritty)$" }, animation = "slide right" })
|
|
|
|
-- ── Floating decoration overrides ────────────────────────────
|
|
hl.window_rule({
|
|
match = { float = true, workspace = "w[fv1-10]" },
|
|
border_size = 2,
|
|
border_color = color4,
|
|
rounding = 8,
|
|
})
|
|
hl.window_rule({
|
|
match = { float = false, workspace = "f[1-10]" },
|
|
border_size = 3,
|
|
rounding = 4,
|
|
})
|
|
|
|
-- ── Pomodorolm size ──────────────────────────────────────────
|
|
hl.window_rule({ match = { class = "pomodorolm" }, size = { 260, 340 } })
|
|
|
|
-- ── Layer rules ───────────────────────────────────────────────
|
|
hl.layer_rule({ match = { namespace = "logout_dialog" }, animation = "slide top" })
|
|
-- QuickShell bar (replaces waybar layer rule)
|
|
hl.layer_rule({ match = { namespace = "quickshell" }, animation = "slide down" })
|
|
hl.layer_rule({ match = { namespace = "wallpaper" }, animation = "fade 50%" })
|
|
-- vicinae
|
|
hl.layer_rule({
|
|
match = { namespace = "vicinae" },
|
|
blur = true,
|
|
animation = "popin",
|
|
dim_around = true,
|
|
ignore_alpha = 1,
|
|
})
|
|
-- screenshare fix
|
|
hl.window_rule({
|
|
match = { class = "^(xwaylandvideobridge)$" },
|
|
opacity = "0.0 override 0.0",
|
|
no_anim = true,
|
|
no_initial_focus = true,
|
|
no_focus = true,
|
|
no_blur = true,
|
|
max_size = { 1, 1 },
|
|
})
|