Menu β–Ύ β–΄

Calimero home page

Luca Piergentili

Calimero Calimero

Small, black, ugly... But powerful!

Calimero is a high-performance Win32 (x86) console application designed to take full control of your Windows Desktop background (Windows 8 and up).

Current version is 4.6.1.0 (19/02/2026).

πŸ₯šπŸ³ Key Features

  • Display Modes: Supports all native Windows modes (stretch, center, tile, fit, fill, span) plus custom implementations like cover, alternate, and the upcoming gallery mode.
  • Multi-monitor Mastery: Native support for multi-monitor setups. Perfectly handles wide wallpapers, 4K assets, and complex spanning without blurriness.
  • Graphic Filters: Apply professional-grade filters via integrated libraries (paintLib, NexgenIPL, FreeImageRE, ImageMagick) and custom built-in effects like GhostTrail, Echo, Pixelate and more.
  • Smart Rescaling: Custom algorithms to resize images on-the-fly for the sharpest possible output.
  • Deep Customization: Print dynamic text over images, filter by size or wildcards and sort by name, size, etc.
  • Hypersonic Loading: Powered by the BerkeleyDB engine to manage thousands of files instantly. No more disk-thrashing or re-scanning directories every time you run it. On a typical laptop, the initial full hard drive scan for images uses less than 16MB of RAM to index and load 40,267 images into a BerkeleyDB table. On later runs (with the table already populated), Calimero averages only about 3,5MB of RAM while running and navigating the 40,267 images.
  • Seamless Navigation: Change wallpapers via a configurable timer or global hotkeys.
  • Web Fetching: Fetch images directly from the web using free services like Picsum.
  • Native & Lightweight: Zero bloated frameworks, zero SLOP, no VIBE-coding. Just pure, "to-the-metal" Win32 C/C++. A small, black and ugly console app, but deadly as a Ninja!
  • 100% Free: No telemetry, no hidden connections, no backdoors. Just code.

🍴 Let's Go! (beta testing guide)

  • Getting Started:
  • Download the Installer from the Releases section and run it.
  • The Installer will create a folder named WCHG directly in your C: drive root.
  • Once the installation is complete, press Win+R, type CMD and hit Enter.
  • When the console windows opens, type CD \WCHG and hit Enter.
  • Launch the app by typing Calimero followed by the required parameters (see the Examples section below).

  • Basic, Essential Arguments:

  • -t : Timeout (minutes) between wallpaper changes.
  • -d : Source directory for images.
  • -m : Display mode: 1: Stretch, 2: Center, 3: Tile, 4: Fit, 5: Fill, 6: Cover, 7: Span, 8: Alternate (note that the alternate mode has the following sub-modes: 1=stretch, 2=center, 3=tile, 4=fit, 5=fill, 6=cover - append the number directly to the mode, e.g. -m81, -m84, etc.)

  • Global Hotkeys:
    The following hotkeys always work, even if the console window is minimized:

  • Ctrl + Alt + N: Next image.
  • Ctrl + Alt + P: Previous image.
  • Ctrl + Alt + X: Remove image from the list and optionally delete it from disk.
  • Ctrl + Alt + Q: Quit.

  • Quick Help:
    Use the -h option from the command line:
    C:\WCHG>Calimero -h
    Or use the Ctrl + Alt + H hotkey when the program is running and the console is visible.
    As soon as possible I'll terminate the below User Manual section.

  • Examples:

  • Kill me softly: Use the folder C:\Users[...]Wallpapers (notice the double quotes around the path because it contains spaces), with a 1-minute timeout (-t1) for changing the image, displaying it in center mode (-m2):
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures\Wallpapers" -t1 -m2

  • Span me!: On a multi-monitor setup, use the folder Calimero -d"C:\Users[...]Dual, with a 5-minute timeout (-t5) for changing the image, displaying it in span mode (-m7):
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures\Wallpapers\Dual" -t5 -m7

  • To filter or not to filter: (1) Same as above, but using the alternate mode (-m8) and applying the GhostTrail filter (-fGhostTrail) to the image before displaying it:
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures\Wallpapers" -t5 -m8 -fGhostTrail
    or using a random graphics filter selection: (2)
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures\Wallpapers" -t5 -m8 -frandom
    (1) keep in mind that on very large images applying filters may take a bit
    (2) to show a list of the available filters, use the Ctrl + Alt + G hotkey

  • Dijkstra mode: Start from the folder C:\Users[...]Pictures and using a recursive search in subfolders (-r) , change image every 3-minutes (-t3), display in fit mode (-m4) and use fast πŸ‡ loading from table for subsequent runs (-D), not to mention the random order (-o3) for image load:
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures" -t3 -m4 -r -D -o3

  • Comics time: Use the comic mode to read scanned comic pages from the folder C:\Users[...]Makoma (#1) (remember the old .cbr files?), no automatic timeout (manual change with Ctrl+Alt+N), images sorted by name (-o0), displayed in fit mode (-m4), and launched minimized/iconized (-v):
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures\2D\Comics\Hellboy\Makoma\Makoma (#1)" -t0 -m4 -o0 -v

  • Grab it!: On a multi-monitor setup, load the content of url.txt to download images from the internet using the free Picsum service, change every 5-minutes (-t5), display in alternate mode (-m8) rotating through the monitors in sequence and use the FreeImageRE library as graphics engine (-lFreeImage):
    Calimero -u"C:\WCHG\url.txt" -t5 -m8 -lFreeImage
    (have a look at the sample url.txt file in the C:\WCHG folder)

  • You talking to me?: Load the content of words.txt to print the text specified in the file onto the image before setting it as wallpaper (of course working on a copy, never the original!), with a 5-minute timeout (-t5), displaying in stretch mode (-m1), and using the NexgenIPL library (-lNexgenIPL):
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures\Wallpapers" -w"C:\WCHG\words.txt" -t5 -m1 -lNexgenIPL
    (have a look at the sample words.txt file in the C:\WCHG)

  • HACK-a-smack: Last but not least, give a try to the -H option (specifying a number between 1 and 99, as in -H5 or -H50):
    Calimero -d"C:\Users\lpier\Documents\Luca\Pictures\Wallpapers" -t1 -m4 -H25

NEW! (starting from 4.6.1.0) add the -c option to the command line to quietly check if there is a new version available.

♨️ Does it burn? (did the betaπŸ’£bomb?)

This is a Beta release. It might have "real" bugs (like memory exceptions) and/or "logical" bugs (such as weird behavior).

  • Crashes: If you see a memory exception, please copy the debug data and send it to me.
  • Feedback: For logical bugs, suggestions, rants, etc., feel free to reach out.
    Currently hosted on Sourceforge.

πŸ‘¨β€πŸ³ Under the Hood / Internals

Conceptually, this project is the evolution of Crawlpaper, a Windows 95 wallpaper manager I developed years ago.

Technically, it's written in C/C++ (mhm..., better to say C with classes, or even better, classy C :) on Windows (cartoons) season 10 using Visual Studio 2022 and much love. It integrates several legacy and modern libraries, restored and adapted for high-performance processing:

  • BerkeleyDB, brotli, dav1d, FreeImageRE, ImageMagick, libavif, libheif, libjpeg, libpng, libtiff, libungif, libwebp, libz, NexgenIPL, paintLib, zLib.

Currently only the executable is available. As soon I can check all the code and terminate the beta testing, I'll release all the source files as well. Be kind and help me with the tests so I can put out all the code. Thanks!

πŸ§‚ User Manual

  • Soon...

MongoDB Logo MongoDB
Gen AI apps are built with MongoDB Atlas
Atlas offers built-in vector search and global availability across 125+ regions. Start building AI apps faster, all in one place.
Try Free β†’