# You can discover a class with 'hyprctl clients'
# Check the syntax on:  https://wiki.hyprland.org/Configuring/Window-Rules/


# WINDOW RULES
# ============================================================================

# Workspace        RULE                WINDOW
# Terminals
windowrulev2   =   workspace 1,     class:^(foot)$
windowrulev2   =   workspace 2,     class:^(Alacritty)$
# Work Chat / Meeting
windowrulev2   =   workspace 3,     class:^(Zoom Workplace)$
# Browsers
windowrulev2   =   workspace 4,     class:^(firefox)$
windowrulev2   =   workspace 5,     class:^(google-chrome)$
# Chat
windowrulev2   =   workspace 6,     class:^(QQ)$
windowrulev2   =   workspace 6,     class:^(wechat)$
windowrulev2   =   workspace 6,     class:^(org.telegram.desktop)$
# Music
# windowrulev2   =   workspace 7,     class:^(music)$
# Mail / Calendar
windowrulev2   =   workspace 8,     class:^(thunderbird)$,title:^(.*Reminder)
# File Manager & Image/PDF Viewer
windowrulev2   =   workspace 9,     class:^(thunder)$
windowrulev2   =   workspace 9,     class:^(code)$ # VS Code
windowrulev2   =   workspace 9,     class:^(cursor)$ # Cursor AI Editor
# Other
windowrulev2   =   workspace 10,     class:^(org.wireshark.Wireshark)$


# Float             RULE               WINDOW
windowrulev2   =    float,             class:^(Zoom Workplace)$
windowrulev2   =    float,             class:^(pulsemixer)$
windowrulev2   =    float,             class:^(org.pulseaudio.pavucontrol)$
windowrulev2   =    float,             class:^(nm-connection-editor)$
windowrulev2   =    float,             class:^(feh|imv|Gpicview)$
windowrulev2   =    float,             title:^(File Transfer*)$
windowrulev2   =    float,             title:^(Firefox — Sharing Indicator)$
windowrulev2   =    float,             class:^(firefox)$,title:^(library)
windowrulev2   =    float,             title:^(Save File)$
windowrulev2   =    float,             class:^(blueman-manager)$
windowrulev2   =    float,             class:^(thunderbird)$,title:^(.*Reminder)

# HOT FIXES
# ============================================================================

# Steam
# Fix: Steam menus disappearing on mouseover
windowrulev2   =   stayfocused,        title:^()$,  class:^(steam)$
windowrulev2   =   minsize 1 1,        title:^()$,  class:^(steam)$
# Fix: Steam starts in a broken position as float window
windowrulev2   =   tile,               class:^(steam)$
windowrulev2   =   fullscreen,         class:^(steam)$
# Games
# windowrulev2 =  immediate,      class:^(steam_app_xxx)$ # game 1

# wlogout
windowrulev2 = float,           class:^(wlogout)$
windowrulev2 = move 0 0,        class:^(wlogout)$
windowrulev2 = size 100% 100%,  class:^(wlogout)$
windowrulev2 = animation slide, class:^(wlogout)$
