Files
nixos/packages/hyprland/config/rules.nix
T
2025-07-17 14:44:11 -05:00

128 lines
4.2 KiB
Nix

{
config,
pkgs,
myConfig,
...
}: {
wayland.windowManager.hyprland.settings = {
# ######## Window rules ########
windowrule = [
"opaque, class:foot|equibop"
"center 1, floating:1, xwayland:0"
# Float
"float, class:guifetch"
"float, class:yad"
"float, class:zenity"
"float, class:wev"
"float, class:org\\.gnome\\.FileRoller" # Escaped backslash
"float, class:file-roller"
"float, class:blueman-manager"
"float, class:com\\.github\\.GradienceTeam\\.Gradience" # Escaped backslash
"float, class:feh"
"float, class:imv"
"float, class:system-config-printer"
"float, class:quickshell"
# Float, resize and center
"float, class:foot, title:nmtui"
"size 60% 70%, class:foot, title:nmtui"
"center 1, class:foot, title:nmtui"
"float, class:org\\.gnome\\.Settings"
"size 70% 80%, class:org\\.gnome\\.Settings"
"center 1, class:org\\.gnome\\.Settings"
"float, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
"size 60% 70%, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
"center 1, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
"float, class:nwg-look"
"size 50% 60%, class:nwg-look"
"center 1, class:nwg-look"
# Special workspaces
"workspace special:sysmon, class:btop"
"workspace special:music, class:feishin|Spotify|Supersonic"
"workspace special:music, initialTitle:Spotify( Free)?"
"workspace special:communication, class:discord|equibop|vesktop|whatsapp"
"workspace special:todo, class:Todoist"
"workspace special:steam, class:^(steam_app_.*)$"
"noinitialfocus, class:discord"
"focusonactivate 0, class:discord"
# Always full screen
# "fullscreen, title:^(Steam Big Picture Mode)$"
# Dialogs
"float, title:(Select|Open)( a)? (File|Folder)(s)?"
"float, title:File (Operation|Upload)( Progress)?"
"float, title:.* Properties"
"float, title:Export Image as PNG"
"float, title:GIMP Crash Debug"
"float, title:Save As"
"float, title:Library"
# Picture in picture (resize and move done via script)
"move 100%-w-2% 100%-w-3%, title:Picture(-| )in(-| )[Pp]icture"
"keepaspectratio, title:Picture(-| )in(-| )[Pp]icture"
"float, title:Picture(-| )in(-| )[Pp]icture"
"pin, title:Picture(-| )in(-| )[Pp]icture"
# Steam
"workspace special:steam, class:steam"
"rounding 10, title:, class:steam"
"float, title:Friends List, class:steam"
"immediate, class:steam_app_[0-9]+"
"idleinhibit always, class:steam_app_[0-9]+"
# ATLauncher console
"float, class:com-atlauncher-App, title:ATLauncher Console"
# Autodesk Fusion 360
"noblur, title:Fusion360|(Marking Menu), class:fusion360\\.exe" # Escaped backslash
# Ugh xwayland popups
"nodim, xwayland:1, title:win[0-9]+"
"noshadow, xwayland:1, title:win[0-9]+"
"rounding 10, xwayland:1, title:win[0-9]+"
];
# ######## Workspace rules ########
workspace = [
"w[tv1]s[false], gapsout:20, gapsin:20"
"f[1]s[false], gapsout:20, gapsin:20"
"1, monitor:DP-1, default:true"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-2"
"5, monitor:DP-2"
"6, monitor:DP-2"
"special:gaming, monitor:DP-1, persistent:true"
"special:steam, monitor:DP-1, persistent:true, on-created-empty:steam"
];
# ######## Layer rules ########
layerrule = [
"animation fade, hyprpicker"
"animation fade, logout_dialog"
"animation fade, selection"
"animation fade, wayfreeze"
# Fuzzel
"animation popin 80%, launcher"
"blur, launcher"
# Shell
"noanim, caelestia-(launcher|osd|notifications|border-exclusion|area-picker)"
"animation fade, caelestia-(drawers|background)"
"order 1, caelestia-border-exclusion"
"order 2, caelestia-bar"
# The commented out lines below need to remain commented if you don't want them active
#"xray 1, caelestia-(border|launcher|bar|sidebar|navbar|mediadisplay|screencorners)"
#"blur, caelestia-.*"
#"blurpopups, caelestia-.*"
#"ignorealpha 0.57, caelestia-.*"
];
};
}