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
27 lines
692 B
JavaScript
27 lines
692 B
JavaScript
import {SettingsKey} from './settingsKeys.js';
|
|
|
|
export class Logger {
|
|
constructor(settings, prefix) {
|
|
this._settings = settings;
|
|
this._prefix = prefix ?? 'BenthicBloom';
|
|
}
|
|
|
|
debug(message) {
|
|
if (this._settings.get_boolean(SettingsKey.DEBUG_LOGGING))
|
|
console.log(`[${this._prefix}] ${message}`);
|
|
}
|
|
|
|
info(message) {
|
|
console.log(`[${this._prefix}] ${message}`);
|
|
}
|
|
|
|
warn(message) {
|
|
console.warn(`[${this._prefix}] ${message}`);
|
|
}
|
|
|
|
error(error, context) {
|
|
const detail = error?.message ?? String(error);
|
|
console.error(`[${this._prefix}] ${context ? `${context}: ${detail}` : detail}`);
|
|
}
|
|
}
|