Skip to content

Releases: gotar/WallPicker

v2.5.0 - AI Image Tagging with CLIP

20 Jan 15:08

Choose a tag to compare

🎨 AI Image Tagging with CLIP

WallPicker now features AI-powered semantic tag generation using OpenAI's CLIP (ViT-B/32) model!

✨ What's New

AI Tagging

  • Automatic tag generation for local wallpapers
  • Semantic tags like mountain, sunset, flower, anime, digital art, etc.
  • Auto-tagging queue: Processes untagged images in background (2 concurrent operations)
  • Manual tagging: Click tag button on any wallpaper card
  • Smart search: Find wallpapers by tags with bonus scoring
  • Persistent cache: Tags stored in ~/.cache/wallpicker/tags/
  • Visual feedback: Spinner overlays during generation, flash animation on completion

Tag Display

  • Tags appear below wallpaper metadata in hashtag format: #tag1 #tag2 #tag3 +N
  • Tooltip shows all tags on hover
  • "No tags" indicator for untagged wallpapers
  • Real-time updates after generation

Configuration

Enable in ~/.config/wallpicker/config.json:

{
  "tagger_enabled": true
}

🔧 Technical Improvements

  • Fixed asyncio integration: Proper GTK4 threading with background event loop
  • Fixed wallpaper loading: Resolved startup issues where wallpapers wouldn't display
  • Improved refresh mechanism: Tags update without reloading thumbnails
  • Better error handling: Prevents executor shutdown errors during generation

📦 Dependencies

New optional dependency:

  • clip-anytorch - AI image tagging with CLIP model (354MB model download on first use)

Install: pip install clip-anytorch

📸 Example Tags Generated

  • 00700_yellowlilly_1680x1050.jpg → flower (89%), photography (6%)
  • Silent_Wall_by_netpirate.jpg → dark, 3d render, white
  • mountain_sunset.jpg → mountain, sunset, scenery, nature

🚀 Performance

  • Tag generation: ~3-5 seconds per image
  • Queue processing: 2 concurrent operations
  • No UI blocking: All operations run in background
  • Efficient caching: Tagged images never need re-processing

📝 Full Changelog

See CHANGELOG.md for complete details.


Installation:

  • Arch Linux (AUR): yay -S wallpicker
  • Python (pip): pip install wallpicker
  • From source: See README.md

v2.1.0 - AI Upscaling

16 Jan 15:31

Choose a tag to compare

[2.1.0] - 2026-01-16

Added

  • AI Upscaling: New feature to upscale local wallpapers 2x using waifu2x-ncnn-vulkan

    • Config option upscaler_enabled (default: false)
    • Upscale button appears on wallpaper cards when enabled
    • Blocking overlay with spinner during processing
    • Automatic verification of upscaled images
    • Queue system with concurrent processing (2 at a time)
    • Visual feedback with flash animation on completion
    • Metadata (resolution/size) auto-refreshes after upscaling
  • Resolution Sorting: New sort option for local wallpapers

    • Sort by resolution (largest first)
    • Available in Local and Favorites tabs

Changed

  • Improved wallpaper card refresh mechanism
  • Single card refresh instead of full grid reload
  • Fixed scroll position stability when adding overlays
  • Using Gtk.Overlay for upscaling indicator (no layout disruption)

Fixed

  • Resolution sorting handles string format correctly
  • Fixed AttributeError when refreshing wallpaper cards with Overlay container
  • CSS cleanup: removed unsupported gap and backdrop-filter properties