# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # For window rules and layerrules # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # NOTES: This is only for Hyprland > 0.52.1 # note: This should NOT be implemented on Debian and Ubuntu # --- Converted to v3 Window rules --- # windowrule { name = windowrule-1 match:class = ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$ tag = +browser } windowrule { name = windowrule-2 match:class = ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$ tag = +browser } windowrule { name = windowrule-3 match:class = ^(chrome-.+-Default)$ # Chrome PWAs tag = +browser } windowrule { name = windowrule-4 match:class = ^([Cc]hromium)$ tag = +browser } windowrule { name = windowrule-5 match:class = ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$ tag = +browser } windowrule { name = windowrule-6 match:class = ^(Brave-browser(-beta|-dev|-unstable)?)$ tag = +browser } windowrule { name = windowrule-7 match:class = ^([Tt]horium-browser|[Cc]achy-browser)$ tag = +browser } windowrule { name = windowrule-8 match:class = ^(zen-alpha|zen)$ tag = +browser } windowrule { name = windowrule-9 match:class = ^(swaync-control-center|swaync-notification-window|swaync-client|class)$ tag = +notif } windowrule { name = windowrule-10 match:title = ^(KooL Quick Cheat Sheet)$ tag = +KooL_Cheat } windowrule { name = windowrule-11 match:title = ^(KooL Hyprland Settings)$ tag = +KooL_Settings } windowrule { name = windowrule-12 match:class = ^(nwg-displays|nwg-look)$ tag = +KooL-Settings } windowrule { name = windowrule-13 match:class = ^(Alacritty|kitty|kitty-dropterm)$ tag = +terminal } windowrule { name = windowrule-14 match:class = ^([Tt]hunderbird|org.gnome.Evolution)$ tag = +email } windowrule { name = windowrule-15 match:class = ^(eu.betterbird.Betterbird)$ tag = +email } windowrule { name = windowrule-16 match:class = ^(codium|codium-url-handler|VSCodium)$ tag = +projects } windowrule { name = windowrule-17 match:class = ^(VSCode|code-url-handler)$ tag = +projects } windowrule { name = windowrule-18 match:class = ^(jetbrains-.+)$ # JetBrains IDEs tag = +projects } windowrule { name = windowrule-19 match:class = ^(com.obsproject.Studio)$ tag = +screenshare } windowrule { name = windowrule-20 match:class = ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$ tag = +im } windowrule { name = windowrule-21 match:class = ^([Ff]erdium)$ tag = +im center = on float = on size = (monitor_w*0.6) (monitor_h*0.7) } windowrule { name = windowrule-22 match:class = ^([Ww]hatsapp-for-linux)$ tag = +im } windowrule { name = windowrule-23 match:class = ^(ZapZap|com.rtosta.zapzap)$ tag = +im } windowrule { name = windowrule-24 match:class = ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ tag = +im } windowrule { name = windowrule-25 match:class = ^(teams-for-linux)$ tag = +im } windowrule { name = windowrule-26 match:class = ^(im.riot.Riot|Element)$ # Element Matrix client tag = +im } windowrule { name = windowrule-27 match:class = ^(gamescope)$ tag = +games } windowrule { name = windowrule-28 match:class = ^(steam_app_\d+)$ tag = +games } windowrule { name = windowrule-29 match:class = ^([Ss]team)$ tag = +gamestore } windowrule { name = windowrule-30 match:title = ^([Ll]utris)$ tag = +gamestore } windowrule { name = windowrule-31 match:class = ^(com.heroicgameslauncher.hgl)$ tag = +gamestore } windowrule { name = windowrule-32 match:class = ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$ tag = +file-manager } windowrule { name = windowrule-33 match:class = ^(app.drey.Warp)$ tag = +file-manager } windowrule { name = windowrule-34 match:class = ^([Ww]aytrogen)$ tag = +wallpaper } windowrule { name = windowrule-35 match:class = ^([Aa]udacious)$ tag = +multimedia } windowrule { name = windowrule-36 match:class = ^([Mm]pv|vlc)$ tag = +multimedia_video } windowrule { name = windowrule-37 match:title = ^(ROG Control)$ tag = +settings center = on } windowrule { name = windowrule-38 match:class = ^(wihotspot(-gui)?)$ # wifi hotspot tag = +settings } windowrule { name = windowrule-39 match:class = ^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer tag = +settings } windowrule { name = windowrule-40 match:class = ^(gnome-disks|wihotspot(-gui)?)$ tag = +settings } windowrule { name = windowrule-41 match:title = (Kvantum Manager) tag = +settings } windowrule { name = windowrule-42 match:class = ^(file-roller|org.gnome.FileRoller)$ # archive manager tag = +settings } windowrule { name = windowrule-43 match:class = ^(nm-applet|nm-connection-editor|blueman-manager)$ tag = +settings } windowrule { name = windowrule-44 match:class = ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$ tag = +settings center = on } windowrule { name = windowrule-45 match:class = ^(qt5ct|qt6ct|[Yy]ad)$ tag = +settings } windowrule { name = windowrule-46 match:class = (xdg-desktop-portal-gtk) tag = +settings } windowrule { name = windowrule-47 match:class = ^(org.kde.polkit-kde-authentication-agent-1)$ tag = +settings } windowrule { name = windowrule-48 match:class = ^([Rr]ofi)$ tag = +settings } windowrule { name = windowrule-49 match:class = ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor tag = +viewer } windowrule { name = windowrule-50 match:class = ^(evince)$ # document viewer tag = +viewer } windowrule { name = windowrule-51 match:class = ^(eog|org.gnome.Loupe)$ # image viewer tag = +viewer } windowrule { name = windowrule-52 match:tag = multimedia_video* no_blur = on opacity = 1.0 } windowrule { name = windowrule-53 match:tag = KooL_Cheat* center = on float = on size = (monitor_w*0.65) (monitor_h*0.9) } windowrule { name = windowrule-54 match:class = ([Tt]hunar) match:title = negative:(.*[Tt]hunar.*) center = on float = on } windowrule { name = windowrule-55 match:tag = KooL-Settings* center = on float = on } windowrule { name = windowrule-56 match:title = ^(Keybindings)$ center = on } windowrule { name = windowrule-57 match:class = ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ center = on size = (monitor_w*0.6) (monitor_h*0.7) } windowrule { name = windowrule-58 match:title = ^(Picture-in-Picture)$ move = 72% 7% float = on opacity = 0.95 0.75 pin = on keep_aspect_ratio = on } windowrule { name = windowrule-59 match:fullscreen = 1 idle_inhibit = fullscreen } windowrule { name = windowrule-60 match:tag = wallpaper* float = on opacity = 0.9 0.7 size = (monitor_w*0.7) (monitor_h*0.7) } windowrule { name = windowrule-61 match:tag = settings* float = on opacity = 0.8 0.7 size = (monitor_w*0.7) (monitor_h*0.7) } windowrule { name = windowrule-62 match:tag = viewer* float = on opacity = 0.82 0.75 } windowrule { name = windowrule-63 match:class = ([Zz]oom|onedriver|onedriver-launcher)$ float = on } windowrule { name = windowrule-64 match:class = (org.gnome.Calculator) match:title = (Calculator) float = on } windowrule { name = windowrule-65 match:class = ^(mpv|com.github.rafostar.Clapper)$ float = on } windowrule { name = windowrule-66 match:class = ^([Qq]alculate-gtk)$ float = on } windowrule { name = windowrule-67 match:title = ^(Authentication Required)$ float = on center = on } windowrule { name = windowrule-68 match:class = (codium|codium-url-handler|VSCodium) match:title = negative:(.*codium.*|.*VSCodium.*) float = on } windowrule { name = windowrule-69 match:class = ^(com.heroicgameslauncher.hgl)$ match:title = negative:(Heroic Games Launcher) float = on } windowrule { name = windowrule-70 match:class = ^([Ss]team)$ match:title = negative:^([Ss]team)$ float = on } windowrule { name = windowrule-71 match:title = ^(Add Folder to Workspace)$ float = on size = (monitor_w*0.7) (monitor_h*0.6) center = on } windowrule { name = windowrule-72 match:title = ^(Save As)$ float = on size = (monitor_w*0.7) (monitor_h*0.6) center = on } windowrule { name = windowrule-73 match:initial_title = (Open Files) float = on size = (monitor_w*0.7) (monitor_h*0.6) } windowrule { name = windowrule-74 match:title = ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background float = on center = on size = (monitor_w*0.16) (monitor_h*0.12) } windowrule { name = windowrule-75 match:tag = browser* opacity = 0.99 0.8 } windowrule { name = windowrule-76 match:tag = projects* opacity = 0.9 0.8 } windowrule { name = windowrule-77 match:tag = im* opacity = 0.94 0.86 } windowrule { name = windowrule-78 match:tag = multimedia* opacity = 0.94 0.86 } windowrule { name = windowrule-79 match:tag = file-manager* opacity = 0.9 0.8 } windowrule { name = windowrule-80 match:tag = terminal* opacity = 0.9 0.7 } windowrule { name = windowrule-81 match:class = ^(gedit|org.gnome.TextEditor|mousepad)$ opacity = 0.8 0.7 } windowrule { name = windowrule-82 match:class = ^(deluge)$ opacity = 0.9 0.8 } windowrule { name = windowrule-83 match:class = ^(seahorse)$ # gnome-keyring gui opacity = 0.9 0.8 } windowrule { name = windowrule-84 match:class = ^(code)$ opacity = 0.8 } windowrule { name = windowrule-85 match:tag = games* no_blur = on fullscreen = on } windowrule { name = windowrule-86 match:class = ^(jetbrains-*) no_initial_focus = on } windowrule { name = windowrule-87 match:title = ^(wind.*)$ no_initial_focus = on } # --- Auto-generated layer rules --- layerrule { name = layerrule-1 blur = on ignore_alpha = 0 match:namespace = rofi } layerrule { name = layerrule-2 blur = on ignore_alpha = 0 match:namespace = notifications } layerrule { name = layerrule-3 blur = on ignore_alpha = 0.5 match:namespace = quickshell:overview }