Skip to content

hojjatabdollahi/glowberry

Repository files navigation

GlowBerry Logo

GlowBerry

An enhanced background/wallpaper service with live shader support for COSMIC DE.

Disclaimer: This project extends the functionality of cosmic-bg with live shader wallpapers. When set up correctly, cosmic-session will run GlowBerry instead of cosmic-bg.

recording-2026-02-02_18-33-39.mp4

Features

  • Live GPU-rendered shader wallpapers (WGSL)
  • Static image wallpapers and solid colors
  • Per-display configuration
  • Power saving options (pause/reduce FPS on battery)
  • Settings application for easy configuration

Installation

Build and install with just:

just
just install

This installs GlowBerry to ~/.local/bin/glowberry and creates a symlink at ~/.local/bin/cosmic-bg pointing to it. No sudo required.

Dependencies

  • just
  • cargo / rustc (install from https://rustup.rs/)
  • libwayland-dev
  • libxkbcommon-dev
  • mold
  • pkg-config

Enabling GlowBerry

GlowBerry works by intercepting cosmic-session's call to cosmic-bg. The installer creates a symlink at ~/.local/bin/cosmic-bg that points to ~/.local/bin/glowberry. Since ~/.local/bin is searched before /usr/bin in PATH, cosmic-session will run GlowBerry instead.

Important

For this to work, ~/.local/bin must appear before /usr/bin in your PATH. You can verify this by running:

echo $PATH | tr ':' '\n' | grep -n bin

Using the switch script

Enable GlowBerry (you may need to restart for this to take effect):

glowberry-switch enable

Disable GlowBerry (restore original cosmic-bg):

glowberry-switch disable

Check current status:

glowberry-switch status

Using the settings app

You can also enable/disable GlowBerry from the settings application (glowberry-settings). Open the settings drawer and toggle "Use GlowBerry as default". You may need to restart to clean up old cosmic-bg and use GlowBerry properly.

Manual setup

If you prefer to set it up manually:

# Enable GlowBerry
ln -sf ~/.local/bin/glowberry ~/.local/bin/cosmic-bg
pkill cosmic-bg  # Restart the service

# Disable GlowBerry
rm ~/.local/bin/cosmic-bg
pkill glowberry  # Restart the service

Adding Shaders

Shader wallpapers are WGSL files. GlowBerry searches for shaders in XDG data directories:

  • ~/.local/share/glowberry/shaders/ (user-local, installed by default)
  • Directories listed in $XDG_DATA_DIRS (e.g. /usr/share/glowberry/shaders/)

Example shaders are included in the examples/ directory and installed automatically by just install.

To install additional shaders manually:

cp my_shader.wgsl ~/.local/share/glowberry/shaders/

Uninstall

just uninstall

Removing a legacy system-wide installation

If you previously installed GlowBerry system-wide (with sudo just install to /usr/), first disable the old override, then remove the legacy files:

scripts/disable-glowberry-legacy.sh
sudo just uninstall-legacy

Why GlowBerry?

With the right shader, your desktop can be a glowing berry.

About

An enhanced background/wallpaper service with live shader support for COSMIC DE

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors