From 65b13cda8d89386961c725b6a77c29a26c5af72a Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Sun, 5 Apr 2026 17:39:14 +0200 Subject: Refactor cassette-futurism rice from KDE Plasma to XFCE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace KDE Plasma 6 with XFCE desktop environment - Remove plasma.nix (KDE config), add xfce.nix (XFCE config via xfconf) - Add picom.nix compositor with CRT green glow effects (#00FF00 shadows) - Configure XFCE with hidden menubars, dark theme, and retro aesthetics - Replace KDE packages with XFCE equivalents (konsole→xfce4-terminal, kate→mousepad, gwenview→ristretto, spectacle→xfce4-screenshooter) - Keep ly display manager, preserve all Stylix theming (cassette colors, NGE wallpaper, fonts) - Lower memory usage and faster startup compared to KDE Plasma Co-Authored-By: Claude Sonnet 4.5 --- home/rices/cassette-futurism/picom.nix | 137 +++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 home/rices/cassette-futurism/picom.nix (limited to 'home/rices/cassette-futurism/picom.nix') diff --git a/home/rices/cassette-futurism/picom.nix b/home/rices/cassette-futurism/picom.nix new file mode 100644 index 0000000..26518e0 --- /dev/null +++ b/home/rices/cassette-futurism/picom.nix @@ -0,0 +1,137 @@ +{ + config, + pkgs, + ... +}: let + vars = import ./variables.nix; +in { + # Picom compositor configuration + # CRT-inspired effects: green glow shadows, transparency, blur, rounded corners + + services.picom = { + enable = true; + + backend = "glx"; + vSync = true; + + # Opacity settings + opacity = 0.95; + activeOpacity = 0.95; + inactiveOpacity = 0.90; + + opacityRules = [ + "90:class_g = 'Xfce4-terminal'" + "90:class_g = 'xfce4-terminal'" + "95:class_g = 'Thunar'" + "95:class_g = 'Mousepad'" + "90:class_g = 'Rofi'" + "100:class_g = 'Firefox'" + "100:class_g = 'Chromium'" + ]; + + # Fading + fade = true; + fadeDelta = 5; + fadeSteps = [ 0.028 0.03 ]; + + # Shadows - CRT green glow effect + shadow = true; + shadowOpacity = 0.6; + shadowOffsets = [ (-15) (-15) ]; + shadowRadius = 20; + + # CRT green glow color (hex format: #RRGGBB) + shadowColor = "#00FF00"; + + shadowExclude = [ + "name = 'Notification'" + "class_g = 'Conky'" + "class_g ?= 'Notify-osd'" + "class_g = 'Cairo-clock'" + "_GTK_FRAME_EXTENTS@:c" + ]; + + # Blur settings + blur = { + enable = true; + method = "dual_kawase"; + strength = 6; + }; + + blurExclude = [ + "window_type = 'dock'" + "window_type = 'desktop'" + "_GTK_FRAME_EXTENTS@:c" + ]; + + # Rounded corners - 12px radius + cornerRadius = 12; + + roundedCornersExclude = [ + "window_type = 'dock'" + "window_type = 'desktop'" + ]; + + # Window animations (picom-pijulius style) + # Note: Standard picom may not support all animation options + # If animations cause issues, these can be removed + settings = { + # Animation settings (if using picom-pijulius) + animations = true; + animation-stiffness = 200; + animation-window-mass = 0.5; + animation-dampening = 20; + animation-clamping = false; + + # Animation for window open - slide down (CRT scan-line effect) + animation-for-open-window = "slide-down"; + + # Animation for window close - slide up + animation-for-unmap-window = "slide-up"; + + # Animation for transient windows - zoom + animation-for-transient-window = "zoom"; + + # Focus/unfocus animations + animation-for-prev-tag = "minimize"; + animation-for-next-tag = "slide-down"; + + # Additional GLX backend settings + glx-no-stencil = true; + glx-no-rebind-pixmap = true; + use-damage = true; + + # Detect settings + detect-rounded-corners = true; + detect-client-opacity = true; + detect-transient = true; + detect-client-leader = true; + + # Window type settings + wintypes = { + tooltip = { + fade = true; + shadow = false; + opacity = 0.90; + focus = true; + full-shadow = false; + }; + dock = { + shadow = false; + clip-shadow-above = true; + }; + dnd = { + shadow = false; + }; + popup_menu = { + opacity = 0.90; + shadow = true; + }; + dropdown_menu = { + opacity = 0.90; + shadow = true; + }; + }; + }; + }; +} -- cgit v1.2.3