Implement BenthicBloom GNOME 50 wallpaper extension

Adds a complete GNOME Shell 50 extension with folder-based wallpaper
auto-rotation (shuffle/sequential, crossfade transitions, lock screen
sync), GStreamer-backed live/video wallpapers rendered onto the shell's
own Clutter stage, and OLED burn-in protection (pixel shifting, idle
dimming, forced periodic rotation). Includes a top-bar quick-access
indicator, a libadwaita preferences window, GSettings schema, and a
Makefile for install/packaging.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019RDqbdjsiisSU7CbQke4g8
This commit is contained in:
Claude
2026-08-04 00:05:58 +00:00
parent 068c00c0ac
commit c0ec4a59d5
16 changed files with 1834 additions and 1 deletions
+32
View File
@@ -0,0 +1,32 @@
UUID = benthicbloom@quinta0.github.io
EXTENSIONS_DIR = $(HOME)/.local/share/gnome-shell/extensions
INSTALL_DIR = $(EXTENSIONS_DIR)/$(UUID)
SCHEMA_DIR = schemas
.PHONY: all schemas build install uninstall pack clean
all: build
schemas:
glib-compile-schemas $(SCHEMA_DIR)
build: schemas
install: build
mkdir -p $(INSTALL_DIR)/lib $(INSTALL_DIR)/schemas
cp extension.js prefs.js metadata.json stylesheet.css $(INSTALL_DIR)/
cp lib/*.js $(INSTALL_DIR)/lib/
cp $(SCHEMA_DIR)/*.xml $(SCHEMA_DIR)/gschemas.compiled $(INSTALL_DIR)/schemas/
@echo "Installed to $(INSTALL_DIR)"
@echo "Reload GNOME Shell (Alt+F2, r, Enter on X11; log out/in on Wayland), then run:"
@echo " gnome-extensions enable $(UUID)"
uninstall:
rm -rf $(INSTALL_DIR)
pack: schemas
gnome-extensions pack --force --extra-source=lib -o dist .
clean:
rm -f $(SCHEMA_DIR)/gschemas.compiled
rm -rf dist