{ lib, ... }: { home-manager.users."djai".wayland.windowManager.hyprland.settings = { layer_rule = [ { match.namespace = "wallpaper"; animation = "fade"; } { match.namespace = "notifs"; blur = false; xray = true; } { match.namespace = "waybar"; no_anim = true; ignore_alpha = 0; } { match.namespace = "selection"; no_anim = true; ignore_alpha = 1; xray = false; } { match.namespace = "hyprpicker"; no_anim = true; } { match.namespace = "rofi"; blur = false; animation = "popin"; } ]; window_rule = [ { match.title = "^slop$"; no_blur = true;} # scratchyness { match.workspace = "special"; float = true;} { match.class = "^scratchme$"; workspace = "special:magic";} # floatyness { match.class = "^steam$"; float = true; center = true;} { match.class = "^steam$"; match.title = "^Steam$"; float = false;} { match.class = "^floatme$"; float = true;} { match.title = "^floatme$"; float = true;} { match.title = "^Save as.*$"; float = true;} { match.title = "^Save image.*$"; center = true;} { match.class = "^file-png$"; float = true;} { match.class = "^yad$"; float = true;} { match.title = "^termfilechooser$"; float = true; size = "monitor_w*0.8 monitor_h*0.8"; center = true; } # steam window fixes { match.class = "^(steam)$"; suppress_event = "activatefocus";} { match.title = "^flameshot$"; float = true; move = "exact 1920 1080"; size = "1920 1080";} # move bitwarden login window to center { match.title = ".*Bitwarden.*"; float = true; size = "monitor_w*0.25 monitor_h*0.15"; center = true; } # gimp floating windows { match.class = "^gimp$"; match.title = ".*Colour Exchange.*"; move = "100 (monitor_h/2)-(window_h/2)";} { match.class = "^script-fu$"; float = true; move = "100 (monitor_h/2)-(window_h/2)";} # default workspaces { match.class = "Librewolf"; workspace = "1 silent";} { match.class = "VsCodium"; workspace = "2 silent";} { match.class = "feishin"; workspace = "3 silent";} { match.class = "signal"; workspace = "4 silent";} { match.class = "Element"; workspace = "4 silent";} { match.class = "vesktop"; workspace = "4 silent";} { match.class = "stoat-desktop"; workspace = "4 silent";} { match.class = "freetube"; workspace = "5 silent";} { match.class = "com.obsproject.Studio"; workspace = "6 silent";} { match.class = "steam"; workspace = "6 silent";} { match.class = "org.prismlauncher.PrismLauncher"; workspace = "6 silent";} { match.class = "Enigmatica.*"; workspace = "6 silent";} { match.class = "gimp"; workspace = "7 silent";} { match.class = "krita"; workspace = "7 silent";} { match.class = "com.github.aaronerhardt.Tailor"; workspace = "10 silent";} { match.class = "desktop.opencloud.eu."; workspace = "10 silent";} { match.class = "org.keepassxc.KeePassXC"; workspace = "10 silent";} # shadowdim { match.title = ".*shadowDim.*"; workspace = "999 silent";} # ignore max requests { match.class = ".*"; suppress_event = "maximize";} # muted tag { match.tag = "muted"; border_color = { colors = [ (lib.generators.mkLuaInline "colors.subtext0") # stupid hack to use catppuccin-nix colors (lib.generators.mkLuaInline "colors.subtext1") ]; angle = 45;};} ]; }; }