Skip to content

Conversation

@HowieDuhzit
Copy link

Enhance screensaver functionality and theme integration

Add hyprshade shader support and theme-based branding system for screensaver
and fastfetch. This allows each theme to have its own custom branding files
and optional shader effects that automatically apply when the screensaver
activates.

Features:

  • Hyprshade integration: Screensaver can apply screen shaders from theme
    configuration with automatic state preservation and restoration
  • Theme-based branding: Each theme can have its own screensaver.txt and
    about.txt files that automatically apply when switching themes
  • Graceful fallback: All new features maintain backward compatibility with
    existing global branding files

Changes:

  • bin/omarchy-launch-screensaver:

    • Load shader configuration from current theme's screensaver.conf
    • Support single shader or random selection from array
    • Store and restore previous shader state on screensaver exit
    • Environment variable override support (OMARCHY_SCREENSAVER_SHADER)
  • bin/omarchy-cmd-screensaver:

    • Use theme-specific screensaver.txt with fallback to global branding
    • Restore previous shader state when screensaver exits
    • Clean shutdown handling for shader restoration
  • bin/omarchy-menu:

    • Update "Screensaver" and "About" menu options to edit theme-specific
      branding files with automatic fallback to global files
  • bin/omarchy-theme-set:

    • Automatically copy theme's branding files (about.txt, screensaver.txt)
      to global location when switching themes
    • Ensures fastfetch uses correct branding immediately after theme change
  • install/config/branding.sh:

    • Theme-aware branding file setup
    • Prioritizes theme-specific files over global defaults
    • Maintains backward compatibility for existing installations

Each theme can now define:

  • screensaver.conf: Optional shader configuration (single or random selection)
  • screensaver.txt: Custom ASCII art for screensaver display
  • about.txt: Custom ASCII art for fastfetch logo

All features degrade gracefully when hyprshade is not installed or theme
files are missing, ensuring no breaking changes for existing users.

Howie Duhzit and others added 3 commits November 3, 2025 04:57
- Implement shader management for screensaver, allowing restoration of previous shader states.
- Introduce theme-specific branding files for screensaver and about sections, with fallbacks to global branding.
- Update branding file handling during theme changes to ensure consistency across user configurations.
@HowieDuhzit
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants