##############################
### WINDOWS AND WORKSPACES ###
##############################

# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

# Example windowrule v1
# windowrule = float, ^(kitty)$

# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

# Ignore maximize requests from apps. You'll probably like this.
windowrulev2 = suppressevent maximize, class:.*

# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

# Windows that become floating windows
windowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float, class:^(blueman-manager)$
windowrulev2 = float, class:^(nm-connection-editor)$
windowrulev2 = float, class:^(qalculate-gtk)$
windowrulev2 = float, class:^(org.remmina.Remmina)$
windowrulev2 = float, class:^(wdisplays)$

# Browser Picture in Picture
windowrulev2 = float, title:^(Picture-in-Picture)$
windowrulev2 = float, title:^(Bild-im-Bild)$
windowrulev2 = move 60% 10%,title:^(Picture-in-Picture)$
windowrulev2 = move 60% 10%,title:^(Bild-im-Bild)$
windowrulev2 = opacity 0.95 0.75, title:^(Picture-in-Picture)$
windowrulev2 = opacity 0.95 0.75, title:^(Bild-im-Bild)$
windowrulev2 = pin, title:^(Picture-in-Picture)$
windowrulev2 = pin, title:^(Bild-im-Bild)$
windowrulev2 = keepaspectratio, title:^(Picture-in-Picture)$
windowrulev2 = keepaspectratio, title:^(Bild-im-Bild)$

# idleinhibit
windowrule = idleinhibit fullscreen,class:([window]) # Available modes: none, always, focus, fullscreen

# Move Windows
windowrulev2 = workspace 3, class:^(codium)$
windowrulev2 = workspace 4, class:^(Spotify)$
windowrulev2 = workspace 4, class:^(feishin)$
windowrulev2 = workspace 4, class:^(Supersonic)$
windowrulev2 = workspace 5, class:^(teams-for-linux)$

# JetBrains IDEs (IntelliJ, PyCharm) - Workarounds für Hyprland

# Kein Rand für alle JetBrains-Fenster
windowrulev2 = noborder, class:^(jetbrains-.*)$

# Alle JetBrains-Fenster schweben (float)
windowrulev2 = float, class:^(jetbrains-.*)$

# Fokus immer behalten (hilft gegen ungewolltes Schließen von Popups/Suchfenstern)
windowrulev2 = stayfocused, class:^(jetbrains-.*)$

# Initialen Fokus nicht setzen (optional, kann Fokusprobleme mindern)
windowrulev2 = noinitialfocus, class:^(jetbrains-.*)$