# Example windowrule v2 windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ See https://wiki.hyprland.org/Configuring/Window-Rules/ for more now invalid: # windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. windowrulev2 = float, pinned, class:^(dunst)$ windowrulev2 = float, pinned, class:^(notification)$ windowrulev2 = float, pin, title:^(Nextcloud)$ windowrulev2 = float, title:^(Volume Control)$ windowrulev2 = float, title:^(Network Connections)$ windowrulev2 = float, size 700 1050, stayfocused, dimaround, fullscreenstate 0, title:(Bitwarden.*) windowrulev2 = float, size 300 700, stayfocused, dimaround, fullscreenstate 0, class:^(org.kde.kwalletd6)$ windowrulev2 = float, size 500 700, stayfocused, dimaround, fullscreenstate 0, initialClass:^(hyprland-share-picker)$ windowrulev2 = float, initialTitle:^(Check Spelling)$ windowrulev2 = float, pin, workspace unset, noinitialfocus, suppressevents fullscreen maximize activate activatefocus, title:^(notificationtoasts) windowrulev2 = float, pin, workspace unset, noinitialfocus, suppressevents fullscreen maximize activate activatefocus, initialTitle:^(Calendar Reminders)$ windowrulev2 = float, initialTitle:^(Editor Settings)$ windowrulev2 = float, pin, workspace unset, title:(Picture in picture) # prevent flicker and border appearance on Godot hover tooltip windowrulev2 = bordersize 0 gapsout 0, initialClass:^(Godot)$ ## workspace rules workspace = 7, monitor:0 workspace = w[vt1], bordersize:0, gapsout:0, rounding:true workspace = w[t2-9], rounding:false # windows on special workspaces leave outer gaps workspace = s[true], gapsout:15, gapsin:5 # fullscreen windows leave no gaps and have decorations disabled workspace = f[1], gapsout:0, gapsin:0, bordersize:0, decorate:false, rounding:false, allow_tearing:true ## Workspace allocation windowrulev2 = workspace 6 silent, noinitialfocus, class:^(steam)$ windowrulev2 = workspace 6 silent, noinitialfocus, title:^(Steam)$ #windowrulev2 = workspace 1 silent, class:^(kitty)$ windowrulev2 = workspace 3 silent, class:^(obsidian)$ windowrulev2 = workspace 8 silent, noinitialfocus, class:^(input-remapper-gtk)$ windowrulev2 = workspace 2, initialClass:^(vivaldi-stable)$ windowrulev2 = workspace 5, class:^(thunderbird)$ ## tag allocation windowrulev2 = tag +comms, class:^[(org.telegram.desktop)(zapzap)(discord)(Slack)]$ windowrulev2 = tag +comms, class:^(org.telegram.desktop)$ windowrulev2 = tag +comms, class:^(discord)$ windowrulev2 = tag +comms, class:^(Slack)$ windowrulev2 = tag +comms, initialTitle:^(ZapZap)$ windowrulev2 = tag +music, class:^([Ss]potify)$ # not capitalised on PC # capitalised on laptop windowrulev2 = tag +music, class:^(com.sayonara-player.Sayonara)$ ################## gaming windowrulev2 = tag +game, class:^(gamescope)$ windowrulev2 = tag +game, class:^(noita)$ windowrulev2 = tag +game, class:^(steam_app.*)$ windowrulev2 = tag +game, title:^(Dota 2)$ windowrulev2 = tag +game, content game, fullscreen, immediate on, title:^(Dota 2)$ ## Tag rules windowrulev2 = workspace 7, content game, immediate on, decorate off, idleinhibit fullscreen, fullscreen, class:^(gamescope)$ windowrulev2 = workspace 7, content game, immediate on, decorate off, tile, idleinhibit fullscreen, fullscreen, tag: game windowrulev2 = workspace special:A silent, noinitialfocus, tag: comms windowrulev2 = workspace special:S silent, noinitialfocus, idleinhibit focus, tag: music windowrulev2 = stayfocused, pin, renderunfocused, initialTitle:^(ULTRAKILL)$ ## Idle inhibit windowrulev2 = idleinhibit fullscreen, fullscreen:1 ## fixes for screensharing windowrulev2 = workspace special:X silent, noinitialfocus, nofocus, noblur, maxsize 1 1, noanim, opacity 0.0 override, class:^(xwaylandvideobridge)$