# 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)$ windowrulev2 = workspace 5, class:^(chromium-browser)$ # 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)$ windowrulev2 = workspace 10, class:^(clash-verge)$ # 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)$