# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

# Ignore maximize requests from apps. You'll probably like this.
# windowrule = suppress_event maximize, match:class .*

# Fix some dragging issues with XWayland
# windowrule = no_focus 1, match:class ^$, match:title ^$, match:xwayland 1, match:floating 1, match:fullscreen 0, match:pinned 0
windowrule = no_blur 1, match:class ^$, match:title ^$


# games for tearing add the immediate rule

# Float Windows
windowrule = float 1, match:title ^(Open File|Select a File|Select Folder|Choose a file|Open Form|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = float 1, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$

# Center and Resize Windows
windowrule = size 800 600, match:title ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = size 800 600, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$

windowrule = center 1, match:title ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = center 1, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$

windowrule = no_blur 1, match:title ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = no_blur 1, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$

# Workspace Rules
# windowrule = workspace 1, match:class ^(firefox)$
# windowrule = workspace 2, match:class ^(kitty)$
# windowrule = workspace 3, match:class ^(Code)$


windowrule = workspace special:virtual, match:class ^(Spotify|spotify)$
windowrule = workspace special:discord, match:class ^(discord|vesktop)$

# steam rules

windowrule = workspace 3 silent, match:class ^(steam)$, match:title ^(Steam)$
windowrule = workspace 4, match:class ^(gamescope)$

# fixed sizes for different windows
windowrule = size 400 800, match:title ^(Friends List)$, match:class ^(steam)$
windowrule = size 1000 800, match:title ^(Steam Settings)$, match:class ^(steam)$
windowrule = size 1000 800, match:title ^(Add Non-Steam Game)$, match:class ^(steam)$

# float windows that arent the main steam window
windowrule = float 1, match:class ^(steam)$, match:title negative:^(Steam)$
windowrule = no_blur 1, match:class ^(steam)$, match:title negative:^(Steam)$
# windowrule = center 1, match:class ^(steam)$, match:title negative:^(Steam)$

# allow tearing for games started with gamescope
windowrule = immediate 1, match:class ^(gamescope)$
