| 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ |
| 2 | # ┃ Windowrules Configuration ┃ |
| 3 | # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ |
| 4 | |
| 5 | # Windows Rules https://wiki.hyprland.org/Configuring/Window-Rules/ # |
| 6 | |
| 7 | # Float Necessary Windows |
| 8 | windowrule = float, class:^(org.pulseaudio.pavucontrol) |
| 9 | windowrule = float, class:^()$,title:^(Picture in picture)$ |
| 10 | windowrule = float, class:^()$,title:^(Save File)$ |
| 11 | windowrule = float, class:^()$,title:^(Open File)$ |
| 12 | windowrule = float, class:^(LibreWolf)$,title:^(Picture-in-Picture)$ |
| 13 | windowrule = float, class:^(blueman-manager)$ |
| 14 | windowrule = float, class:^(xdg-desktop-portal-gtk|xdg-desktop-portal-kde|xdg-desktop-portal-hyprland)(.*)$ |
| 15 | windowrule = float, class:^(polkit-gnome-authentication-agent-1|hyprpolkitagent|org.org.kde.polkit-kde-authentication-agent-1)(.*)$ |
| 16 | windowrule = float, class:^(CachyOSHello)$ |
| 17 | windowrule = float, class:^(zenity)$ |
| 18 | windowrule = float, class:^()$,title:^(Steam - Self Updater)$ |
| 19 | |
| 20 | # Increase the opacity |
| 21 | windowrule = opacity 0.92, class:^(thunar|nemo|dolphin)$ |
| 22 | windowrule = opacity 0.96, class:^(discord)$ |
| 23 | |
| 24 | # General window rules |
| 25 | windowrule = float, title:^(Picture-in-Picture)$ |
| 26 | windowrule = size 960 540, title:^(Picture-in-Picture)$ |
| 27 | windowrule = move 25%-, title:^(Picture-in-Picture)$ |
| 28 | windowrule = float, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$ |
| 29 | windowrule = move 25%-, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$ |
| 30 | windowrule = size 960 540, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$ |
| 31 | windowrule = pin, title:^(danmufloat)$ |
| 32 | windowrule = rounding 5, title:^(danmufloat|termfloat)$ |
| 33 | windowrule = animation slide right, class:^(kitty|Alacritty|ghostty)$ |
| 34 | windowrule = noblur, class:^(org.mozilla.firefox)$ |
| 35 | |
| 36 | # Decorations related to floating windows on workspaces 1 to 10 |
| 37 | windowrule = bordersize 2, floating:1, onworkspace:w[fv1-10] |
| 38 | windowrule = bordercolor $cachylblue, floating:1, onworkspace:w[fv1-10] |
| 39 | windowrule = rounding 8, floating:1, onworkspace:w[fv1-10] |
| 40 | |
| 41 | # Decorations related to tiling windows on workspaces 1 to 10 |
| 42 | windowrule = bordersize 3, floating:0, onworkspace:f[1-10] |
| 43 | windowrule = rounding 4, floating:0, onworkspace:f[1-10] |
| 44 | # Windows Rules End # |
| 45 | |
| 46 | # Workspaces Rules https://wiki.hyprland.org/Configuring/Workspace-Rules/ # |
| 47 | workspace = 1, default:true, monitor:$priMon |
| 48 | workspace = 6, default:true, monitor:$secMon |
| 49 | |
| 50 | # Workspace selectors https://wiki.hyprland.org/Configuring/Workspace-Rules/#workspace-selectors |
| 51 | workspace = r[1-5], monitor:$priMon |
| 52 | workspace = r[6-10], monitor:$secMon |
| 53 | # workspace = special:scratchpad, on-created-empty:$applauncher |
| 54 | # no_gaps_when_only deprecated instead workspaces rules with selectors can do the same |
| 55 | |
| 56 | # Smart gaps from 0.45.0 https://wiki.hyprland.org/Configuring/Workspace-Rules/#smart-gaps |
| 57 | workspace = w[tv1-10], gapsout:5, gapsin:3 |
| 58 | workspace = f[1], gapsout:5, gapsin:3 |
| 59 | |
| 60 | # App -> Workspace Rules |
| 61 | windowrule = workspace 9, class:^(REAPER) |
| 62 | windowrule = workspace 10, class:^(LibreWolf) |
| 63 | |
| 64 | ## Empty Workspace -> App Rules |
| 65 | workspace = 8, monitor:@secMon |
| 66 | workspace = 9, on-created-empty:reaper |
| 67 | workspace = 10, on-created-empty:librewolf |
| 68 | |
| 69 | ## Empty Special -> App Rules |
| 70 | workspace = special:disc, on-created-empty:discord |
| 71 | workspace = special:term, on-created-empty:ghostty |
| 72 | workspace = special:spot, on-created-empty:spotify |
| 73 | workspace = special:adct, on-created-empty:audacity |
| 74 | workspace = special:tick, on-created-empty:ticktick |
| 75 | workspace = special:zenn, on-created-empty:zen-browser |
| 76 | workspace = special:bitt, on-created-empty:bitwarden-desktop |
| 77 | |
| 78 | # Named special workspaces |
| 79 | windowrule = workspace special:disc, class:^(Discord)$ |
| 80 | windowrule = workspace special:term, class:^(Ghostty)$ |
| 81 | windowrule = workspace special:spot, class:^(Spotify)$ |
| 82 | windowrule = workspace special:adct, class:^(Audacity)$ |
| 83 | windowrule = workspace special:tick, class:^(TickTick)$ |
| 84 | windowrule = workspace special:bitt, class:^(Bitwarden)$ |
| 85 | windowrule = workspace special:zenn, class:^(Zen Browser)$ |
| 86 | |
| 87 | |
| 88 | # Workspaces Rules End # |
| 89 | |
| 90 | # Layers Rules # |
| 91 | layerrule = animation slide top, logout_dialog |
| 92 | # layerrule = animation popin 50%, waybar |
| 93 | layerrule = animation slide down, waybar |
| 94 | layerrule = animation fade 50%, wallpaper |
| 95 | # Layers Rules End # |
| 96 |