Files
dotfiles/.config/hypr/windowrules.conf
2026-01-22 22:54:47 +01:00

68 lines
3.7 KiB
Plaintext

# 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)$