.dotfiles/.config/hypr/windowrules.conf
2026-01-18 21:08:16 -07:00

108 lines
6.6 KiB
Plaintext

# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# See https://wiki.hyprland.org/Configuring/Window-Rules/
#? ------- WINDOWRULES_HYPRLAND_V_0_53 COMPATIBLE ----------------#
# This Config is compatible with windowrules changes in Hyprland v0.53+
# Any future breaking changes disables this block and notifies the user to update.
# User template files will be provided in $XDG_DATA_HOME/hyde/templates/hypr/windowrules.conf for manual update.
# hyprlang if WINDOWRULES_HYPRLAND_V_0_53
# idle_inhibit rules
windowrule = idle_inhibit fullscreen true, match:class ^(.*celluloid.*)$|^(.*mpv.*)$|^(.*vlc.*)$
windowrule = idle_inhibit fullscreen true, match:class ^(.*[Ss]potify.*)$
windowrule = idle_inhibit fullscreen true, match:class ^(.*LibreWolf.*)$|^(.*floorp.*)$|^(.*brave-browser.*)$|^(.*firefox.*)$|^(.*chromium.*)$|^(.*zen.*)$|^(.*vivaldi.*)$
# Picture-in-Picture
windowrule {
name = hyde_picture_in_picture
match:title = ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
tag = +picture-in-picture
tag = +hyde_picture_in_picture
float = true
keep_aspect_ratio = true
move = (monitor_w*0.73) (monitor_h*0.72)
size = (monitor_w*0.25) (monitor_h*0.25)
pin = true
}
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(firefox)$
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(brave-browser)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-oss)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^([Cc]ode)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-url-handler)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-insiders-url-handler)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(kitty)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(org.kde.dolphin)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(org.kde.ark)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(nwg-look)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(qt5ct)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(qt6ct)$
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(kvantummanager)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.pulseaudio.pavucontrol)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(blueman-manager)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(nm-applet)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(nm-connection-editor)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.kde.polkit-kde-authentication-agent-1)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(polkit-gnome-authentication-agent-1)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.freedesktop.impl.portal.desktop.gtk)$
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.freedesktop.impl.portal.desktop.hyprland)$
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^([Ss]team)$
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^(steamwebhelper)$
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^([Ss]potify)$
windowrule = opacity 0.70 $& 0.70 $& 1,match:initial_title ^(Spotify Free)$
windowrule = opacity 0.70 $& 0.70 $& 1,match:initial_title ^(Spotify Premium)$
windowrule = opacity 0.90 0.90,match:class ^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrule = opacity 0.80 0.80,match:class ^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
windowrule = opacity 0.80 0.80,match:class ^(hu.kramo.Cartridges)$ # Cartridges-Gtk
windowrule = opacity 0.80 0.80,match:class ^(com.obsproject.Studio)$ # Obs-Qt
windowrule = opacity 0.80 0.80,match:class ^(gnome-boxes)$ # Boxes-Gtk
windowrule = opacity 0.80 0.80,match:class ^(vesktop)$ # Vesktop
windowrule = opacity 0.80 0.80,match:class ^(discord)$ # Discord-Electron
windowrule = opacity 0.80 0.80,match:class ^(WebCord)$ # WebCord-Electron
windowrule = opacity 0.80 0.80,match:class ^(ArmCord)$ # ArmCord-Electron
windowrule = opacity 0.80 0.80,match:class ^(app.drey.Warp)$ # Warp-Gtk
windowrule = opacity 0.80 0.80,match:class ^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrule = opacity 0.80 0.80,match:class ^(yad)$ # Protontricks-Gtk
windowrule = opacity 0.80 0.80,match:class ^(Signal)$ # Signal-Gtk
windowrule = opacity 0.80 0.80,match:class ^(io.github.alainm23.planify)$ # planify-Gtk
windowrule = opacity 0.80 0.80,match:class ^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrule = opacity 0.80 0.80,match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
windowrule = opacity 0.80 0.80,match:class ^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrule = opacity 0.80 0.80,match:class ^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
windowrule = opacity 0.80 0.80,match:class ^(io.github.flattool.Warehouse)$ # Warehouse-Gtk
windowrule = float true,match:class ^(Signal)$ # Signal-Gtk
windowrule = float true,match:class ^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrule = float true,match:class ^(app.drey.Warp)$ # Warp-Gtk
windowrule = float true,match:class ^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrule = float true,match:class ^(yad)$ # Protontricks-Gtk
windowrule = float true,match:class ^(eog)$ # Imageviewer-Gtk
windowrule = float true,match:class ^(io.github.alainm23.planify)$ # planify-Gtk
windowrule = float true,match:class ^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrule = float true,match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
windowrule = float true,match:class ^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrule = float true,match:class ^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
# workaround for jetbrains IDEs dropdowns/popups cause flickering
windowrule = no_initial_focus true,match:class ^(.*jetbrains.*)$,match:title ^(win[0-9]+)$
# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀
# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█
layerrule = blur true,match:namespace rofi
layerrule = ignore_alpha 0,match:namespace rofi
layerrule = blur true,match:namespace notifications
layerrule = ignore_alpha 0,match:namespace notifications
layerrule = blur true,match:namespace swaync-notification-window
layerrule = ignore_alpha 0,match:namespace swaync-notification-window
layerrule = blur true,match:namespace swaync-control-center
layerrule = ignore_alpha 0,match:namespace swaync-control-center
layerrule = blur true,match:namespace logout_dialog
layerrule = blur false,match:namespace waybar
# hyprlang endif