AI Skill Report Card
Creating GNOME Dynamic Wallpapers
Quick Start15 / 15
Create a simple light/dark dynamic wallpaper:
Bash# Create directory structure mkdir -p ~/.local/share/backgrounds/my-wallpaper mkdir -p ~/.local/share/gnome-background-properties # Copy your images cp light-wallpaper.jpg ~/.local/share/backgrounds/my-wallpaper/ cp dark-wallpaper.jpg ~/.local/share/backgrounds/my-wallpaper/ # Create wallpaper definition cat > ~/.local/share/gnome-background-properties/my-wallpaper.xml << 'EOF' <?xml version="1.0"?> <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> <wallpapers> <wallpaper deleted="false"> <name>My Dynamic Wallpaper</name> <filename>/home/$(whoami)/.local/share/backgrounds/my-wallpaper/light-wallpaper.jpg</filename> <filename-dark>/home/$(whoami)/.local/share/backgrounds/my-wallpaper/dark-wallpaper.jpg</filename-dark> <options>zoom</options> </wallpaper> </wallpapers> EOF
Recommendation▾
Replace '$(whoami)' with '$USER' in the bash script for better portability and consistency
Workflow15 / 15
Creating Light/Dark Dynamic Wallpapers
Progress:
- Prepare images: Create or obtain light and dark variants of your wallpaper
- Create directory structure:
~/.local/share/backgrounds/[name]for images - Copy images: Place light and dark variants in the directory
- Create XML definition: Define wallpaper in
~/.local/share/gnome-background-properties/ - Test wallpaper: Check in GNOME Settings > Appearance
Creating Time-Shifting Wallpapers
Progress:
- Create background XML: Define timing and transitions in wallpaper directory
- Reference in properties: Add time-shifting variant to properties XML
- Verify timing: Test that transitions occur at specified times
Recommendation▾
Add a concrete input/output example showing the actual file structure after creation
Examples18 / 20
Example 1: Basic Light/Dark Wallpaper Input: Two images (light.jpg, dark.jpg) Output: Dynamic wallpaper that switches with GNOME theme
Example 2: Time-Shifting Configuration
XML<background> <starttime> <year>2024</year> <month>1</month> <day>1</day> <hour>8</hour> <minute>0</minute> <second>0</second> </starttime> <static> <file>/home/user/.local/share/backgrounds/wallpaper/light.jpg</file> <duration>36000</duration> <!-- 10 hours --> </static> <transition type="overlay"> <duration>7200</duration> <!-- 2 hour transition --> <from>/home/user/.local/share/backgrounds/wallpaper/light.jpg</from> <to>/home/user/.local/share/backgrounds/wallpaper/dark.jpg</to> </transition> <static> <file>/home/user/.local/share/backgrounds/wallpaper/dark.jpg</file> <duration>36000</duration> <!-- 10 hours --> </static> <transition type="overlay"> <duration>7200</duration> <!-- 2 hour transition --> <from>/home/user/.local/share/backgrounds/wallpaper/dark.jpg</from> <to>/home/user/.local/share/backgrounds/wallpaper/light.jpg</to> </transition> </background>
Example 3: System-Wide Installation
Use /usr/share/backgrounds/ and /usr/share/gnome-background-properties/ instead of local directories.
Recommendation▾
Reduce redundancy in the Best Practices section - some points repeat workflow information
Best Practices
- Use absolute paths in XML files - relative paths don't work reliably
- Name consistently: Use descriptive names for both directories and files
- Image optimization: Ensure images are appropriate resolution for target displays
- Test both modes: Verify wallpaper works in both light and dark GNOME themes
- Backup originals: Keep original high-resolution images before optimization
- Use zoom option:
<options>zoom</options>works best for most wallpapers
Directory Structure
~/.local/share/
├── backgrounds/
│ └── wallpaper-name/
│ ├── light-variant.jpg
│ ├── dark-variant.jpg
│ └── timing.xml (for time-shifting)
└── gnome-background-properties/
└── wallpaper-name.xml
XML Options Reference
zoom: Fills screen, maintains aspect ratio (recommended)scaled: Scales to fit screencentered: Centers image without scalingstretched: Stretches to fill screenwallpaper: Tiles imagespanned: Spans across multiple monitors
Common Pitfalls
- Wrong file permissions: Ensure XML files are readable by user
- Incorrect paths: Double-check absolute paths in XML files
- Missing directories: Create both backgrounds and gnome-background-properties directories
- XML syntax errors: Validate XML structure and close all tags properly
- Image format issues: Use common formats (JPG, PNG) - avoid exotic formats
- Large file sizes: Optimize images to prevent slow loading
- Hardcoded usernames: Use environment variables or update paths for different users
Troubleshooting
- If wallpaper doesn't appear: Check file permissions and XML syntax
- If transitions don't work: Verify timing calculations and file paths
- For system-wide issues: Ensure proper permissions on system directories