dotfiles/.config/hypr/configs/WindowRules-config-v3.conf
2025-12-15 18:20:18 +01:00

204 lines
9.8 KiB
Text

# /* ---- 💫 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
# Vendor defaults for window rules and layerrules
# windowrule - tags - add apps under appropriate tag to use the same settings
windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
windowrule = match:class ^(chrome-.+-Default)$ # Chrome PWAs, tag +browser
windowrule = match:class ^([Cc]hromium)$, tag +browser
windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
windowrule = match:class ^(Brave-browser(-beta|-dev|-unstable)?)$, tag +browser
windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
windowrule = match:class ^(zen-alpha|zen)$, tag +browser
windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
windowrule = match:class ^(Alacritty|kitty|kitty-dropterm)$, tag +terminal
windowrule = match:class ^([Tt]hunderbird|org.gnome.Evolution)$, tag +email
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
windowrule = match:class ^(jetbrains-.+)$ # JetBrains IDEs, tag +projects
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
windowrule = match:class ^([Ff]erdium)$, tag +im
windowrule = match:class ^([Ww]hatsapp-for-linux)$, tag +im
windowrule = match:class ^(ZapZap|com.rtosta.zapzap)$, tag +im
windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
windowrule = match:class ^(teams-for-linux)$, tag +im
windowrule = match:class ^(im.riot.Riot|Element)$ # Element Matrix client, tag +im
windowrule = match:class ^(gamescope)$, tag +games
windowrule = match:class ^(steam_app_\d+)$, tag +games
windowrule = match:class ^([Ss]team)$, tag +gamestore
windowrule = match:title ^([Ll]utris)$, tag +gamestore
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, tag +gamestore
windowrule = match:class ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$, tag +file-manager
windowrule = match:class ^(app.drey.Warp)$, tag +file-manager
windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
windowrule = match:class ^([Aa]udacious)$, tag +multimedia
windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
windowrule = match:title ^(ROG Control)$, tag +settings
windowrule = match:class ^(wihotspot(-gui)?)$ # wifi hotspot, tag +settings
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer, tag +settings
windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
windowrule = match:title (Kvantum Manager), tag +settings
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$ # archive manager, tag +settings
windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
windowrule = match:class ^(qt5ct|qt6ct|[Yy]ad)$, tag +settings
windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
windowrule = match:class ^([Rr]ofi)$, tag +settings
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor, tag +viewer
windowrule = match:class ^(evince)$ # document viewer, tag +viewer
windowrule = match:class ^(eog|org.gnome.Loupe)$ # image viewer, tag +viewer
windowrule = match:tag multimedia_video*, noblur
windowrule = match:tag multimedia_video*, opacity 1.0
# POSITION
windowrule = match:tag KooL_Cheat*, center
windowrule = match:class ([Tt]hunar) title negative:(.*[Tt]hunar.*), center
windowrule = match:title ^(ROG Control)$, center
windowrule = match:tag KooL-Settings*, center
windowrule = match:title ^(Keybindings)$, center
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center
windowrule = match:class ^([Ff]erdium)$, center
windowrule = match:title ^(Picture-in-Picture)$, move 72% 7%
#windowrule = move 72% 7%,title:^(Firefox)$
# windowrule to avoid idle for fullscreen apps
#windowrule = idleinhibit fullscreen, class:^(*)$
#windowrule = idleinhibit fullscreen, title:^(*)$
windowrule = match:fullscreen 1, idleinhibit fullscreen
# windowrule move to workspace
#windowrule = workspace 1, tag:email*
#windowrule = workspace 2, tag:browser*
#windowrule = workspace 3, class:^([Tt]hunar)$
#windowrule = workspace 3, tag:projects*
#windowrule = workspace 5, tag:gamestore*
#windowrule = workspace 7, tag:im*
#windowrule = workspace 8, tag:games*
# windowrule move to workspace (silent)
#windowrule = workspace 4 silent, tag:screenshare*
#windowrule = workspace 6 silent, class:^(virt-manager)$
#windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$
#windowrule = workspace 9 silent, tag:multimedia*
# FLOAT
windowrule = match:tag KooL_Cheat*, float
windowrule = match:tag wallpaper*, float
windowrule = match:tag settings*, float
windowrule = match:tag viewer*, float
windowrule = match:tag KooL-Settings*, float
windowrule = match:class ([Zz]oom|onedriver|onedriver-launcher)$, float
windowrule = match:class (org.gnome.Calculator) title (Calculator), float
windowrule = match:class ^(mpv|com.github.rafostar.Clapper)$, float
windowrule = match:class ^([Qq]alculate-gtk)$, float
#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
windowrule = match:class ^([Ff]erdium)$, float
windowrule = match:title ^(Picture-in-Picture)$, float
#windowrule = float, title:^(Firefox)$
# windowrule - ######### float popups and dialogue #######
windowrule = match:title ^(Authentication Required)$, float
windowrule = match:title ^(Authentication Required)$, center
windowrule = match:class (codium|codium-url-handler|VSCodium) title negative:(.*codium.*|.*VSCodium.*), float
windowrule = match:class ^(com.heroicgameslauncher.hgl)$ title negative:(Heroic Games Launcher), float
windowrule = match:class ^([Ss]team)$ title negative:^([Ss]team)$, float
windowrule = match:class ([Tt]hunar) title negative:(.*[Tt]hunar.*), float
windowrule = match:title ^(Add Folder to Workspace)$, float
windowrule = match:title ^(Add Folder to Workspace)$, size 70% 60%
windowrule = match:title ^(Add Folder to Workspace)$, center
windowrule = match:title ^(Save As)$, float
windowrule = match:title ^(Save As)$, size 70% 60%
windowrule = match:title ^(Save As)$, center
windowrule = match:initialTitle (Open Files), float
windowrule = match:initialTitle (Open Files), size 70% 60%
windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, float
windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, center
windowrule = match:title ^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background, size 16% 12%
# END of float popups and dialogue #######
# OPACITY
windowrule = match:tag browser*, opacity 0.99 0.8
windowrule = match:tag projects*, opacity 0.9 0.8
windowrule = match:tag im*, opacity 0.94 0.86
windowrule = match:tag multimedia*, opacity 0.94 0.86
windowrule = match:tag file-manager*, opacity 0.9 0.8
windowrule = match:tag terminal*, opacity 0.9 0.7
windowrule = match:tag settings*, opacity 0.8 0.7
windowrule = match:tag viewer*, opacity 0.82 0.75
windowrule = match:tag wallpaper*, opacity 0.9 0.7
windowrule = match:class ^(gedit|org.gnome.TextEditor|mousepad)$, opacity 0.8 0.7
windowrule = match:class ^(deluge)$, opacity 0.9 0.8
windowrule = match:class ^(seahorse)$ # gnome-keyring gui, opacity 0.9 0.8
windowrule = match:title ^(Picture-in-Picture)$, opacity 0.95 0.75
# SIZE
windowrule = match:tag KooL_Cheat*, size 65% 90%
windowrule = match:tag wallpaper*, size 70% 70%
windowrule = match:tag settings*, size 70% 70%
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, size 60% 70%
windowrule = match:class ^([Ff]erdium)$, size 60% 70%
#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
#windowrule = size 25% 25%, title:^(Firefox)$
# PINNING
windowrule = match:title ^(Picture-in-Picture)$, pin
#windowrule = pin,title:^(Firefox)$
# windowrule - extras
windowrule = match:title ^(Picture-in-Picture)$, keepaspectratio
# BLUR & FULLSCREEN
windowrule = match:tag games*, noblur
windowrule = match:tag games*, fullscreen
#This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
windowrule = match:class ^(jetbrains-*), noinitialfocus
windowrule = match:title ^(wind.*)$, noinitialfocus
#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
#windowrule = opacity 0.8 0.8, pinned:1
# LAYER RULES
layerrule = blur, rofi
layerrule = ignorezero, rofi
layerrule = blur, notifications
layerrule = ignorezero, notifications
layerrule = blur, quickshell:overview
layerrule = ignorezero, quickshell:overview
layerrule = ignorealpha 0.5, quickshell:overview
#layerrule = ignorealpha 0.5, tag:notif*
#layerrule = ignorezero, class:^([Rr]ofi)$
#layerrule = blur, class:^([Rr]ofi)$
#layerrule = unset,class:^([Rr]ofi)$
#layerrule = ignorezero, <rofi>
#layerrule = ignorezero, overview
#layerrule = blur, overview