{ pkgs, ... }: { home-manager.users.agatha = { services.picom = { enable = true; package = pkgs.picom-next; # General backend = "glx"; vSync = true; settings = { mark-wmwin-focused = true; detect = { rounded-corners = true; client-opacity = true; transient = true; client-leader = true; }; use-damage = true; wintypes = { tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; dock = { shadow = false; }; dnd = { shadow = false; }; popup_menu = { opacity = 0.8; }; dropdown_menu = { opacity = 0.8; }; }; }; # Shadows shadow = true; shadowOpacity = 1.0; shadowOffsets = [ (-7) (-7) ]; shadowExclude = [ "name = 'Notification'" "class_g ?= 'Notify-osd'" "class_g = 'Cairo-clock'" "class_g = 'firefox-nightly' && argb" "class_g = 'firefox' && argb" "_GTK_FRAME_EXTENTS@:c" "_NET_FRAME_EXTENTS@:c && WM_WINDOW_ROLE@:s = 'Popup'" "override_redirect = true" ]; # Fade fade = true; fadeSteps = [ 5.0e-2 5.0e-2 ]; # Opacity settings.frame-opacity = 0.7; settings.inactive-opacity-override = false; settings.inactive-dim = 0.2; settings.focus-exclude = [ "class_g = 'firefox-nightly'" "class_g = 'firefox'" "class_g = 'Dunst'" ]; opacityRules = [ "100:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_FULLSCREEN'" "100:_NET_WM_STATE@[1]:32a = '_NET_WM_STATE_FULLSCREEN'" "100:_NET_WM_STATE@[2]:32a = '_NET_WM_STATE_FULLSCREEN'" "100:_NET_WM_STATE@[3]:32a = '_NET_WM_STATE_FULLSCREEN'" "100:_NET_WM_STATE@[4]:32a = '_NET_WM_STATE_FULLSCREEN'" "0:_COMPTON_MONOCLE@:32c = 0" "70:class_g = 'kitty'" "80:class_g = 'Dunst'" "20:class_g = 'Bspwm' && class_i = 'presel_feedback'" ]; # Blur settings.blur = { method = "dual_kawase"; strength = 3; background = true; kern = "3x3box"; background-exclude = [ "window_type = 'dock'" "window_type = 'desktop'" "window_type = 'dropdown_menu'" "window_type = 'popup_menu'" "window_type = 'tooltip'" "_GTK_FRAME_EXTENTS@:c" "_NET_FRAME_EXTENTS@:c && WM_WINDOW_ROLE@:s = 'Popup'" "class_g = 'firefox-nightly' && argb" "class_g = 'firefox' && argb" "override_redirect = true" ]; }; }; }; }