diff --git a/dots/.config/hypr/hyprland/general.conf b/dots/.config/hypr/hyprland/general.conf index 145cbb77c..aedba4578 100644 --- a/dots/.config/hypr/hyprland/general.conf +++ b/dots/.config/hypr/hyprland/general.conf @@ -145,7 +145,7 @@ misc { animate_mouse_windowdragging = false enable_swallow = false swallow_regex = (foot|kitty|allacritty|Alacritty) - new_window_takes_over_fullscreen = 2 + on_focus_under_fullscreen = 2 allow_session_lock_restore = true session_lock_xray = true initial_workspace_tracking = false diff --git a/dots/.config/hypr/hyprland/rules.conf b/dots/.config/hypr/hyprland/rules.conf index d97f8d1f5..7e9d37cc1 100644 --- a/dots/.config/hypr/hyprland/rules.conf +++ b/dots/.config/hypr/hyprland/rules.conf @@ -1,166 +1,165 @@ # ######## 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 +windowrule = match:class ^()$, match:title ^()$, no_blur on + +# Disable blur for every window +windowrule = match:class .*, no_blur on # 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)$ +windowrule = match:title ^(Open File)(.*)$, center on +windowrule = match:title ^(Open File)(.*)$, float on +windowrule = match:title ^(Select a File)(.*)$, center on +windowrule = match:title ^(Select a File)(.*)$, float on +windowrule = match:title ^(Choose wallpaper)(.*)$, center on +windowrule = match:title ^(Choose wallpaper)(.*)$, float on +windowrule = match:title ^(Choose wallpaper)(.*)$, size (monitor_w*.60) (monitor_h*.65) +windowrule = match:title ^(Open Folder)(.*)$, center on +windowrule = match:title ^(Open Folder)(.*)$, float on +windowrule = match:title ^(Save As)(.*)$, center on +windowrule = match:title ^(Save As)(.*)$, float on +windowrule = match:title ^(Library)(.*)$, center on +windowrule = match:title ^(Library)(.*)$, float on +windowrule = match:title ^(File Upload)(.*)$, center on +windowrule = match:title ^(File Upload)(.*)$, float on +windowrule = match:title ^(.*)(wants to save)$, center on +windowrule = match:title ^(.*)(wants to save)$, float on +windowrule = match:title ^(.*)(wants to open)$, center on +windowrule = match:title ^(.*)(wants to open)$, float on +windowrule = match:class ^(blueberry\.py)$, float on +windowrule = match:class ^(guifetch)$ , float on # FlafyDev/guifetch +windowrule = match:class ^(pavucontrol)$, float on +windowrule = match:class ^(pavucontrol)$, size (monitor_w*.45) (monitor_h*.45) +windowrule = match:class ^(pavucontrol)$, center on +windowrule = match:class ^(org.pulseaudio.pavucontrol)$, float on +windowrule = match:class ^(org.pulseaudio.pavucontrol)$, size (monitor_w*.45) (monitor_h*.45) +windowrule = match:class ^(org.pulseaudio.pavucontrol)$, center on +windowrule = match:class ^(nm-connection-editor)$, float on +windowrule = match:class ^(nm-connection-editor)$, size (monitor_w*.45) (monitor_h*.45) +windowrule = match:class ^(nm-connection-editor)$, center on +windowrule = match:class .*plasmawindowed.*, float on +windowrule = match:class kcm_.*, float on +windowrule = match:class .*bluedevilwizard, float on +windowrule = match:title .*Welcome, float on +windowrule = match:title ^(illogical-impulse Settings)$, float on +windowrule = match:title .*Shell conflicts.*, float on +windowrule = match:class org.freedesktop.impl.portal.desktop.kde, float on +windowrule = match:class org.freedesktop.impl.portal.desktop.kde, size (monitor_w*.60) (monitor_h*.65) +windowrule = match:class ^(Zotero)$, float on +windowrule = match:class ^(Zotero)$, size (monitor_w*.45) (monitor_h*.45) # 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)$ +windowrule = match:class ^(plasma-changeicons)$, float on +windowrule = match:class ^(plasma-changeicons)$, no_initial_focus on +windowrule = match:class ^(plasma-changeicons)$, move 999999 999999 # stupid dolphin copy -windowrule = move 40 80, match:title ^(Copying — Dolphin)$ +windowrule = match:title ^(Copying — Dolphin)$, move 40 80 # Tiling -windowrule = tile on, match:class ^dev\.warp\.Warp$ +windowrule = match:class ^dev\.warp\.Warp$, tile on # 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)(.*)$ +windowrule = match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$, float on +windowrule = match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$, keep_aspect_ratio on +windowrule = match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$, move (monitor_w*.73) (monitor_h*.72) +windowrule = match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$, size (monitor_w*.25) (monitor_h*.25) +windowrule = match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$, float on +windowrule = match:title ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$, pin on # --- Tearing --- -windowrule = immediate on, match:title .*\.exe -windowrule = immediate on, match:title .*minecraft.* -windowrule = immediate on, match:class ^(steam_app).* +windowrule = match:title .*\.exe, immediate on +windowrule = match:title .*minecraft.*, immediate on +windowrule = match:class ^(steam_app).*, immediate on # Fix Jetbrain IDEs focus/rerendering problem -windowrule=no_initial_focus on, match:class ^jetbrains-.*$, match:float 1,match:title ^$|^\s$|^win\d+$ +windowrule = match:class ^jetbrains-.*$, match:float 1, match:title ^$|^\s$|^win\d+$, no_initial_focus on # No shadow for tiled windows (matches windows that are not floating). -windowrule = no_shadow on, match:float 0 +windowrule = match:float 0, no_shadow on # ######## 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 = match:namespace .*, xray on +# layerrule = match:namespace .*, no_anim on +layerrule = match:namespace walker, no_anim on +layerrule = match:namespace selection, no_anim on +layerrule = match:namespace overview, no_anim on +layerrule = match:namespace anyrun, no_anim on +layerrule = match:namespace indicator.*, no_anim on +layerrule = match:namespace osk, no_anim on +layerrule = match:namespace hyprpicker, no_anim on -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 +layerrule = match:namespace noanim, no_anim on +layerrule = match:namespace gtk-layer-shell, blur on +layerrule = match:namespace gtk-layer-shell, ignore_alpha 0 +layerrule = match:namespace launcher, blur on +layerrule = match:namespace launcher, ignore_alpha 0.5 +layerrule = match:namespace notifications, blur on +layerrule = match:namespace notifications, ignore_alpha 0.69 +layerrule = match:namespace logout_dialog # wlogout, blur on # 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]* +layerrule = match:namespace sideleft.*, animation slide left +layerrule = match:namespace sideright.*, animation slide right +layerrule = match:namespace session[0-9]*, blur on +layerrule = match:namespace bar[0-9]*, blur on +layerrule = match:namespace bar[0-9]*, ignore_alpha 0.6 +layerrule = match:namespace barcorner.*, blur on +layerrule = match:namespace barcorner.*, ignore_alpha 0.6 +layerrule = match:namespace dock[0-9]*, blur on +layerrule = match:namespace dock[0-9]*, ignore_alpha 0.6 +layerrule = match:namespace indicator.*, blur on +layerrule = match:namespace indicator.*, ignore_alpha 0.6 +layerrule = match:namespace overview[0-9]*, blur on +layerrule = match:namespace overview[0-9]*, ignore_alpha 0.6 +layerrule = match:namespace cheatsheet[0-9]*, blur on +layerrule = match:namespace cheatsheet[0-9]*, ignore_alpha 0.6 +layerrule = match:namespace sideright[0-9]*, blur on +layerrule = match:namespace sideright[0-9]*, ignore_alpha 0.6 +layerrule = match:namespace sideleft[0-9]*, blur on +layerrule = match:namespace sideleft[0-9]*, ignore_alpha 0.6 +layerrule = match:namespace indicator.*, blur on +layerrule = match:namespace indicator.*, ignore_alpha 0.6 +layerrule = match:namespace osk[0-9]*, blur on +layerrule = match:namespace osk[0-9]*, ignore_alpha 0.6 # 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 -layerrule = no_anim on, match:namespace quickshell:wStartMenu -layerrule = ignore_alpha 0, quickshell:wTaskView -layerrule = no_anim on, quickshell:wTaskView +layerrule = match:namespace quickshell:.*, blur_popups on +layerrule = match:namespace quickshell:.*, blur on +layerrule = match:namespace quickshell:.*, ignore_alpha 0.79 +layerrule = match:namespace quickshell:bar, animation slide +layerrule = match:namespace quickshell:actionCenter, no_anim on +layerrule = match:namespace quickshell:cheatsheet, animation slide bottom +layerrule = match:namespace quickshell:dock, animation slide bottom +layerrule = match:namespace quickshell:screenCorners, animation popin 120% +layerrule = match:namespace quickshell:lockWindowPusher, no_anim on +layerrule = match:namespace quickshell:notificationPopup, animation fade +layerrule = match:namespace quickshell:overlay, no_anim on +layerrule = match:namespace quickshell:overlay, ignore_alpha 1 +layerrule = match:namespace quickshell:overview, no_anim on +layerrule = match:namespace quickshell:osk, animation slide bottom +layerrule = match:namespace quickshell:polkit, no_anim on +layerrule = match:namespace quickshell:popup, xray off # No weird color for bar tooltips (this in theory should suffice) +layerrule = match:namespace quickshell:popup, ignore_alpha 1 # No weird color for bar tooltips (but somehow this is necessary) +layerrule = match:namespace quickshell:mediaControls, ignore_alpha 1 # Same as above +layerrule = match:namespace quickshell:reloadPopup, animation slide +layerrule = match:namespace quickshell:regionSelector, no_anim on +layerrule = match:namespace quickshell:screenshot, no_anim on +layerrule = match:namespace quickshell:session, blur on +layerrule = match:namespace quickshell:session, no_anim on +layerrule = match:namespace quickshell:session, ignore_alpha 0 +layerrule = match:namespace quickshell:sidebarRight, animation slide right +layerrule = match:namespace quickshell:sidebarLeft, animation slide left +layerrule = match:namespace quickshell:verticalBar, animation slide +layerrule = match:namespace quickshell:wallpaperSelector, animation slide top +layerrule = match:namespace quickshell:wNotificationCenter, no_anim on +layerrule = match:namespace quickshell:wOnScreenDisplay, no_anim on +layerrule = match:namespace quickshell:wStartMenu, no_anim on +layerrule = match:namespace quickshell:wTaskView, ignore_alpha 0 +layerrule = match:namespace quickshell:wTaskView, no_anim on # Launchers need to be FAST -layerrule = no_anim on, match:namespace gtk4-layer-shell +layerrule = match:namespace gtk4-layer-shell, no_anim on