diff --git a/dots/.config/hypr/hyprland/colors.conf b/dots/.config/hypr/hyprland/colors.conf index 5954859e8..28863e35d 100644 --- a/dots/.config/hypr/hyprland/colors.conf +++ b/dots/.config/hypr/hyprland/colors.conf @@ -31,4 +31,4 @@ plugin { } } -windowrulev2 = bordercolor rgba(FFB2BCAA) rgba(FFB2BC77),pinned:1 \ No newline at end of file +windowrule = border_color rgba(FFB2BCAA) rgba(FFB2BC77), match:pin 1 diff --git a/dots/.config/hypr/hyprland/rules.conf b/dots/.config/hypr/hyprland/rules.conf index 17a4d5af9..24df33df8 100644 --- a/dots/.config/hypr/hyprland/rules.conf +++ b/dots/.config/hypr/hyprland/rules.conf @@ -1,165 +1,165 @@ # ######## Window rules ######## # Uncomment to apply global transparency to all windows: -# windowrulev2 = opacity 0.89 override 0.89 override, class:.* +# windowrule = opacity 0.89 override 0.89 override, match:class .* # Disable blur for xwayland context menus -windowrulev2 = noblur,class:^()$,title:^()$ +windowrule = no_blur on, match:class ^()$, match:title ^()$ # Disable blur for all xwayland apps -# windowrulev2 = noblur, xwayland:1 +# windowrule = no_blur on, match:xwayland 1 # Disable blur for every window -windowrulev2 = noblur, class:.* +windowrule = no_blur on, match:class .* # Floating -windowrulev2 = center, title:^(Open File)(.*)$ -windowrulev2 = float, title:^(Open File)(.*)$ -windowrulev2 = center, title:^(Select a File)(.*)$ -windowrulev2 = float, title:^(Select a File)(.*)$ -windowrulev2 = center, title:^(Choose wallpaper)(.*)$ -windowrulev2 = float, title:^(Choose wallpaper)(.*)$ -windowrulev2 = size 60% 65%, title:^(Choose wallpaper)(.*)$ -windowrulev2 = center, title:^(Open Folder)(.*)$ -windowrulev2 = float, title:^(Open Folder)(.*)$ -windowrulev2 = center, title:^(Save As)(.*)$ -windowrulev2 = float, title:^(Save As)(.*)$ -windowrulev2 = center, title:^(Library)(.*)$ -windowrulev2 = float, title:^(Library)(.*)$ -windowrulev2 = center, title:^(File Upload)(.*)$ -windowrulev2 = float, title:^(File Upload)(.*)$ -windowrulev2 = center, title:^(.*)(wants to save)$ -windowrulev2 = float, title:^(.*)(wants to save)$ -windowrulev2 = center, title:^(.*)(wants to open)$ -windowrulev2 = float, title:^(.*)(wants to open)$ -windowrulev2 = float, class:^(blueberry\.py)$ -windowrulev2 = float, class:^(guifetch)$ # FlafyDev/guifetch -windowrulev2 = float, class:^(pavucontrol)$ -windowrulev2 = size 45%, class:^(pavucontrol)$ -windowrulev2 = center, class:^(pavucontrol)$ -windowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$ -windowrulev2 = size 45%, class:^(org.pulseaudio.pavucontrol)$ -windowrulev2 = center, class:^(org.pulseaudio.pavucontrol)$ -windowrulev2 = float, class:^(nm-connection-editor)$ -windowrulev2 = size 45%, class:^(nm-connection-editor)$ -windowrulev2 = center, class:^(nm-connection-editor)$ -windowrulev2 = float, class:.*plasmawindowed.* -windowrulev2 = float, class:kcm_.* -windowrulev2 = float, class:.*bluedevilwizard -windowrulev2 = float, title:.*Welcome -windowrulev2 = float, title:^(illogical-impulse Settings)$ -windowrulev2 = float, title:.*Shell conflicts.* -windowrulev2 = float, class:org.freedesktop.impl.portal.desktop.kde -windowrulev2 = size 60% 65%, class:org.freedesktop.impl.portal.desktop.kde -windowrulev2 = float, class:^(Zotero)$ -windowrulev2 = size 45%, class:^(Zotero)$ +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. -windowrulev2 = float, class:^(plasma-changeicons)$ -windowrulev2 = noinitialfocus, class:^(plasma-changeicons)$ -windowrulev2 = move 999999 999999, class:^(plasma-changeicons)$ +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 -windowrulev2 = move 40 80, title:^(Copying — Dolphin)$ +windowrule = move 40 80, match:title ^(Copying — Dolphin)$ # Tiling -windowrulev2 = tile, class:^dev\.warp\.Warp$ +windowrule = tile on, match:class ^dev\.warp\.Warp$ # Picture-in-Picture -windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ -windowrulev2 = keepaspectratio, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ -windowrulev2 = move 73% 72%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ -windowrulev2 = size 25%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ -windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ -windowrulev2 = pin, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$ +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 --- -windowrulev2 = immediate, title:.*\.exe -windowrulev2 = immediate, title:.*minecraft.* -windowrulev2 = immediate, class:^(steam_app).* +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 -windowrulev2=noinitialfocus,class:^jetbrains-.*$,floating:1,title:^$|^\s$|^win\d+$ +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). -windowrulev2 = noshadow, floating:0 +windowrule = no_shadow on, match:float 0 # ######## Workspace rules ######## workspace = special:special, gapsout:30 # ######## Layer rules ######## -layerrule = xray 1, .* -# layerrule = noanim, .* -layerrule = noanim, walker -layerrule = noanim, selection -layerrule = noanim, overview -layerrule = noanim, anyrun -layerrule = noanim, indicator.* -layerrule = noanim, osk -layerrule = noanim, hyprpicker +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 = noanim, noanim -layerrule = blur, gtk-layer-shell -layerrule = ignorezero, gtk-layer-shell -layerrule = blur, launcher -layerrule = ignorealpha 0.5, launcher -layerrule = blur, notifications -layerrule = ignorealpha 0.69, notifications -layerrule = blur, logout_dialog # wlogout +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, sideleft.* -layerrule = animation slide right, sideright.* -layerrule = blur, session[0-9]* -layerrule = blur, bar[0-9]* -layerrule = ignorealpha 0.6, bar[0-9]* -layerrule = blur, barcorner.* -layerrule = ignorealpha 0.6, barcorner.* -layerrule = blur, dock[0-9]* -layerrule = ignorealpha 0.6, dock[0-9]* -layerrule = blur, indicator.* -layerrule = ignorealpha 0.6, indicator.* -layerrule = blur, overview[0-9]* -layerrule = ignorealpha 0.6, overview[0-9]* -layerrule = blur, cheatsheet[0-9]* -layerrule = ignorealpha 0.6, cheatsheet[0-9]* -layerrule = blur, sideright[0-9]* -layerrule = ignorealpha 0.6, sideright[0-9]* -layerrule = blur, sideleft[0-9]* -layerrule = ignorealpha 0.6, sideleft[0-9]* -layerrule = blur, indicator.* -layerrule = ignorealpha 0.6, indicator.* -layerrule = blur, osk[0-9]* -layerrule = ignorealpha 0.6, osk[0-9]* +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 = blurpopups, quickshell:.* -layerrule = blur, quickshell:.* -layerrule = ignorealpha 0.79, quickshell:.* -layerrule = animation slide, quickshell:bar -layerrule = noanim, quickshell:actionCenter -layerrule = animation slide bottom, quickshell:cheatsheet -layerrule = animation slide bottom, quickshell:dock -layerrule = animation popin 120%, quickshell:screenCorners -layerrule = noanim, quickshell:lockWindowPusher -layerrule = animation fade, quickshell:notificationPopup -layerrule = noanim, quickshell:overlay -layerrule = ignorealpha 1, quickshell:overlay -layerrule = noanim, quickshell:overview -layerrule = animation slide bottom, quickshell:osk -layerrule = noanim, quickshell:polkit -layerrule = xray 0, quickshell:popup # No weird color for bar tooltips (this in theory should suffice) -layerrule = ignorealpha 1, quickshell:popup # No weird color for bar tooltips (but somehow this is necessary) -layerrule = ignorealpha 1, quickshell:mediaControls # Same as above -layerrule = animation slide, quickshell:reloadPopup -layerrule = noanim, quickshell:regionSelector -layerrule = noanim, quickshell:screenshot -layerrule = blur, quickshell:session -layerrule = noanim, quickshell:session -layerrule = ignorealpha 0, quickshell:session -layerrule = animation slide right, quickshell:sidebarRight -layerrule = animation slide left, quickshell:sidebarLeft -layerrule = animation slide, quickshell:verticalBar -layerrule = animation slide top, quickshell:wallpaperSelector -layerrule = noanim, quickshell:wOnScreenDisplay +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 = noanim, gtk4-layer-shell +layerrule = no_anim on, match:namespace gtk4-layer-shell diff --git a/dots/.config/matugen/templates/hyprland/colors.conf b/dots/.config/matugen/templates/hyprland/colors.conf index d0002e9e7..a30e3d4bf 100644 --- a/dots/.config/matugen/templates/hyprland/colors.conf +++ b/dots/.config/matugen/templates/hyprland/colors.conf @@ -29,4 +29,4 @@ plugin { } } -windowrulev2 = bordercolor rgba({{colors.primary.default.hex_stripped}}AA) rgba({{colors.primary.default.hex_stripped}}77),pinned:1 +windowrule = border_color rgba({{colors.primary.default.hex_stripped}}AA) rgba({{colors.primary.default.hex_stripped}}77), match:pin 1