# ######## Window rules ######## # Uncomment to apply global transparency to all windows: # windowrule = opacity 0.89 override 0.89 override, match:class .* # Disable blur for xwayland context menus windowrule = no_blur on, match:class ^()$, match:title ^()$ # Disable blur for all xwayland apps # windowrule = no_blur on, match:xwayland 1 # Disable blur for every window windowrule = no_blur on, match:class .* # Floating windowrule = center on, match:title ^(Open File)(.*)$ windowrule = float on, match:title ^(Open File)(.*)$ windowrule = center on, match:title ^(Select a File)(.*)$ windowrule = float on, match:title ^(Select a File)(.*)$ windowrule = center on, match:title ^(Choose wallpaper)(.*)$ windowrule = float on, match:title ^(Choose wallpaper)(.*)$ windowrule = size 60% 65%, match:title ^(Choose wallpaper)(.*)$ windowrule = center on, match:title ^(Open Folder)(.*)$ windowrule = float on, match:title ^(Open Folder)(.*)$ windowrule = center on, match:title ^(Save As)(.*)$ windowrule = float on, match:title ^(Save As)(.*)$ windowrule = center on, match:title ^(Library)(.*)$ windowrule = float on, match:title ^(Library)(.*)$ windowrule = center on, match:title ^(File Upload)(.*)$ windowrule = float on, match:title ^(File Upload)(.*)$ windowrule = center on, match:title ^(.*)(wants to save)$ windowrule = float on, match:title ^(.*)(wants to save)$ windowrule = center on, match:title ^(.*)(wants to open)$ windowrule = float on, match:title ^(.*)(wants to open)$ windowrule = float on, match:class ^(blueberry\.py)$ windowrule = float on, match:class ^(guifetch)$ # FlafyDev/guifetch windowrule = float on, match:class ^(pavucontrol)$ windowrule = size 45%, match:class ^(pavucontrol)$ windowrule = center on, match:class ^(pavucontrol)$ windowrule = float on, match:class ^(org.pulseaudio.pavucontrol)$ windowrule = size 45%, match:class ^(org.pulseaudio.pavucontrol)$ windowrule = center on, match:class ^(org.pulseaudio.pavucontrol)$ windowrule = float on, match:class ^(nm-connection-editor)$ windowrule = size 45%, match:class ^(nm-connection-editor)$ windowrule = center on, match:class ^(nm-connection-editor)$ windowrule = float on, match:class .*plasmawindowed.* windowrule = float on, match:class kcm_.* windowrule = float on, match:class .*bluedevilwizard windowrule = float on, match:title .*Welcome windowrule = float on, match:title ^(illogical-impulse Settings)$ windowrule = float on, match:title .*Shell conflicts.* windowrule = float on, match:class org.freedesktop.impl.portal.desktop.kde windowrule = size 60% 65%, match:class org.freedesktop.impl.portal.desktop.kde windowrule = float on, match:class ^(Zotero)$ windowrule = size 45%, match:class ^(Zotero)$ # Move # kde-material-you-colors spawns a window when changing dark/light theme. This is to make sure it doesn't interfere at all. windowrule = float on, match:class ^(plasma-changeicons)$ windowrule = no_initial_focus on, match:class ^(plasma-changeicons)$ windowrule = move 999999 999999, match:class ^(plasma-changeicons)$ # stupid dolphin copy windowrule = move 40 80, match:title ^(Copying — Dolphin)$ # Tiling windowrule = tile on, match:class ^dev\.warp\.Warp$ # Picture-in-Picture windowrule = float on, match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ windowrule = keep_aspect_ratio on, match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ windowrule = move 73% 72%, match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ windowrule = size 25%, match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ windowrule = float on, match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ windowrule = pin on, match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ # --- Tearing --- windowrule = immediate on, match:title .*\.exe windowrule = immediate on, match:title .*minecraft.* windowrule = immediate on, match:class ^(steam_app).* # Fix Jetbrain IDEs focus/rerendering problem windowrule=no_initial_focus on, match:class ^jetbrains-.*$, match:float 1,match:title ^$|^\s$|^win\d+$ # No shadow for tiled windows (matches windows that are not floating). windowrule = no_shadow on, match:float 0 # ######## Workspace rules ######## workspace = special:special, gapsout:30 # ######## Layer rules ######## layerrule = xray 1, match:namespace .* # layerrule = no_anim on, .* layerrule = no_anim on, match:namespace walker layerrule = no_anim on, match:namespace selection layerrule = no_anim on, match:namespace overview layerrule = no_anim on, match:namespace anyrun layerrule = no_anim on, match:namespace indicator.* layerrule = no_anim on, match:namespace osk layerrule = no_anim on, match:namespace hyprpicker layerrule = no_anim on, match:namespace no_anim on layerrule = blur on, match:namespace gtk-layer-shell layerrule = ignore_alpha 0, match:namespace gtk-layer-shell layerrule = blur on, match:namespace launcher layerrule = ignore_alpha 0.5, match:namespace launcher layerrule = blur on, match:namespace notifications layerrule = ignore_alpha 0.69, match:namespace notifications layerrule = blur on, match:namespace logout_dialog # wlogout # ags layerrule = animation slide left, match:namespace sideleft.* layerrule = animation slide right, match:namespace sideright.* layerrule = blur on, match:namespace session[0-9]* layerrule = blur on, match:namespace bar[0-9]* layerrule = ignore_alpha 0.6, match:namespace bar[0-9]* layerrule = blur on, match:namespace barcorner.* layerrule = ignore_alpha 0.6, match:namespace barcorner.* layerrule = blur on, match:namespace dock[0-9]* layerrule = ignore_alpha 0.6, match:namespace dock[0-9]* layerrule = blur on, match:namespace indicator.* layerrule = ignore_alpha 0.6, match:namespace indicator.* layerrule = blur on, match:namespace overview[0-9]* layerrule = ignore_alpha 0.6, match:namespace overview[0-9]* layerrule = blur on, match:namespace cheatsheet[0-9]* layerrule = ignore_alpha 0.6, match:namespace cheatsheet[0-9]* layerrule = blur on, match:namespace sideright[0-9]* layerrule = ignore_alpha 0.6, match:namespace sideright[0-9]* layerrule = blur on, match:namespace sideleft[0-9]* layerrule = ignore_alpha 0.6, match:namespace sideleft[0-9]* layerrule = blur on, match:namespace indicator.* layerrule = ignore_alpha 0.6, match:namespace indicator.* layerrule = blur on, match:namespace osk[0-9]* layerrule = ignore_alpha 0.6, match:namespace osk[0-9]* # Quickshell layerrule = blur_popups on, match:namespace quickshell:.* layerrule = blur on, match:namespace quickshell:.* layerrule = ignore_alpha 0.79, match:namespace quickshell:.* layerrule = animation slide, match:namespace quickshell:bar layerrule = no_anim on, match:namespace quickshell:actionCenter layerrule = animation slide bottom, match:namespace quickshell:cheatsheet layerrule = animation slide bottom, match:namespace quickshell:dock layerrule = animation popin 120%, match:namespace quickshell:screenCorners layerrule = no_anim on, match:namespace quickshell:lockWindowPusher layerrule = animation fade, match:namespace quickshell:notificationPopup layerrule = no_anim on, match:namespace quickshell:overlay layerrule = ignore_alpha 1, match:namespace quickshell:overlay layerrule = no_anim on, match:namespace quickshell:overview layerrule = animation slide bottom, match:namespace quickshell:osk layerrule = no_anim on, match:namespace quickshell:polkit layerrule = xray 0, match:namespace quickshell:popup # No weird color for bar tooltips (this in theory should suffice) layerrule = ignore_alpha 1, match:namespace quickshell:popup # No weird color for bar tooltips (but somehow this is necessary) layerrule = ignore_alpha 1, match:namespace quickshell:mediaControls # Same as above layerrule = animation slide, match:namespace quickshell:reloadPopup layerrule = no_anim on, match:namespace quickshell:regionSelector layerrule = no_anim on, match:namespace quickshell:screenshot layerrule = blur on, match:namespace quickshell:session layerrule = no_anim on, match:namespace quickshell:session layerrule = ignore_alpha 0, match:namespace quickshell:session layerrule = animation slide right, match:namespace quickshell:sidebarRight layerrule = animation slide left, match:namespace quickshell:sidebarLeft layerrule = animation slide, match:namespace quickshell:verticalBar layerrule = animation slide top, match:namespace quickshell:wallpaperSelector layerrule = no_anim on, match:namespace quickshell:wOnScreenDisplay # Launchers need to be FAST layerrule = no_anim on, match:namespace gtk4-layer-shell