AI Skill Report Card

Creating GNOME Dynamic Wallpapers

A-82·Apr 15, 2026·Source: Web
15 / 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
15 / 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
18 / 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
  • 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 screen
  • centered: Centers image without scaling
  • stretched: Stretches to fill screen
  • wallpaper: Tiles image
  • spanned: Spans across multiple monitors
  • 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
0
Grade A-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
15/15
Workflow
15/15
Examples
18/20
Completeness
18/20
Format
15/15
Conciseness
13/15