Wallpaper Magica

Wallpaper Magica is a desktop wallpaper slideshow program. It was designed specifically for multi-monitor setups.

[Wallpaper Magica Slideshow animated screenshot]

Download

License: Free

Windows

Download (dropbox): WallpaperMagica.zip Version 1.24.94.143

Requires Microsoft .NET Framework 4

Tested on Window 10, Windows 7, and Windows XP* (*XP hasn't actually been tested in a long time, it should still work...)

There is no installer. Extract the ZIP file to wherever you want to run the program from.

To include the program on startup, create a shortcut in the Startup folder in your Start Menu. In the shortcut properties, set Run to Minimized.

Writing large files like this does will eat your SSD. Recommend using an NTFS junction to move C:\Users\[your user]\AppData\Roaming\Microsoft\Windows\Themes to a mechanical drive or RAM disk. Also change the desktop image save location to the same by right clicking the Save button, or use another NTFS junction on C:\Users\[your user]\AppData\Local\WallpaperMagica.

"In theory" this should work on linux with mono or wine?

Features

  • Each monitor gets its own image.
  • "Limited crop" and "limited stretch".
  • Background color is based on image content.
  • High quality resizing.
  • Transparancy isn't a problem.
  • Options to change the order that screens are updated.
  • Able to use the Windows 7 slideshow transition effect.
  • Minimizes to notification area.
  • Refreshes images when the resolution changes and when displays are added or removed.
  • Detects the ideal placement for the image instead of just centering it.
  • Span panoramic images across multiple monitors.

Change Log

2020-10-02 (version 1.24.94.143)
File Filter setting added.
Transition effect is reinitialized every change. This is to make sure it works even after explorer crashes.
Delete Win10 TranscodedWallpaper file with every change to avoid a bug where Windows somehow corrupts the file in a way that prevents it from being overwritten with a new PNG.
Note: Windows 10 itself has a bug where explorer gets slow after some time if the transition effect is used. There is nothing I can do about this. If it is a problem for you, either disable the transition or restart explorer occasionally.
Note2: Windows 10 itself has another bug that appears when it recompresses the TranscodedWallpaper PNG file. It ends up in a state where it refuses to display the desktop image. The transcoded PNG opens in other programs fine... it usually clears itself up after the "offending" image is no longer in the mix. Saving the file as JPG does not appear to have this bug, but the image quality is garbage (can't tell winblows to use 4:4:4 sampling with the "quality" registry edits when it recompresses the image)... nothing I can do about Microsoft bugs.
2020-02-09 (version 1.23.90.139)
Fixed getting resolution for scaled displays. (WinForms Screen object lies, have to use EnumDisplaySettings)
Option to fix Win10 moving the tiled wallpaper origin to 0,0 of the entire desktop area. (default)
Option to save the desktop image as PNG to prevent Win10 from recompressing as a low quality jpeg. (default)
2019-09-01 (version 1.23.85.135)
Removed tooltip from notification icon menu because Windows puts them in the way.
Fixed edge positioning + spanning issues (apparently I had broken it with my previous spanning fixes).
Added "Oldest" change mode, which works how Cycle did before. Cycle now advances to the next screen index after the highest most recently changed index. This keeps the cycle in order (it could reverse if a 3rd monitor is added at just the right time).
2019-08-04 (version 1.23.82.132)
Can select multiple image source directories.
Saving settings will clear the saved image from screens no longer connected.
Lots of spanning fixes.
Setting to hide when minimized.
Requeue skipped images (caused by the Prefer Spanning setting).
Additional nightmode setting.
Make primary monitor always index "0".
Updated default values to better suit 21:9 monitors.
Remove G+ because Google is Google and they abandon things.
2014-12-23 (version 1.19.71.120; linux [later])
Separate settings for Max Crop X and Max Crop Y.
Replaced icon.
Webs.com still sucks, but I found a way past the upload issue so it can be a mirror.
2014-06-22 (version 1.18.71.117; linux 1.0.5286.41296)
"Next" is now available even when the slideshow is disabled.
Changing the Image Path no longer forces new images to be loaded.
Tweaked some setting defaults.
Changed how/where the config/bitmap is saved to avoid Mono issues on linux (previous settings will not automatically carry over).
Change Command Override is now available on the windows version (it does actually function on linux with mono, but the notification icon does not).
Webs.com sucks. Changed "official" site from there to here.
2013-09-07 (version 1.17.69.116; linux 1.0.4998.26188)
Fixed an issue where if the night mode start time was yesterday and the end time is later today, night mode was not being applied at startup.
2013-07-10 (version 1.17.69.115; linux 1.0.4939.37221)
Minor fix to a log entry so the right-click feature works. (windows only)
2013-07-02 (version 1.17.69.114; linux 1.0.4931.37607)
Updated some default values.
Linux: Prettier settings tab.
Linux: Added "Resolution Multipler" setting as a bad-resize workaround.
Linux: Remaing time should now save when exiting while the window is not shown.
2013-06-16 (version 1.17.69.112)
Added Change On Start feature.
Released linux build. (Version 1.17.69.x Build 1.0.4915.23937)
2013-06-08 (version 1.16.68.106)
Now handles missing files when not keeping images in memory.
2013-05-16 (version 1.16.67.104)
Some bug fixes involving directories without any usable images.
2013-05-07 (version 1.16.64.103)
Improved error messages logged when garbage is put in the Interval and Night Mode Start/End Time fields.
Night Mode Start/End Times now work when the slideshow is off.
2013-04-28 (version 1.16.61.102)
Memory managment options added: Force Garbage Collection and Keep Images In Memory.
2013-04-20 (version 1.15.59.86)
Fixed a bug when reloading images that weren't there anymore.
Added setting for noise reduction.
Added Solid Edge Bypass feature.
Stretching now happens before Cropping.
Can now resave settings without forcing new images to be loaded.
Added Spanning Override feature.
Spanning + Edge Positioning can now be cropped.
Fixed bug with Edge Detection.
Screens are tracked by index again (device name didn't work how I wanted it to).
Overrides now skip parts with an unavailable "real screen" index.
Added the option to prevent spannable images from causing other images to be skipped.
Added About tab which explains the settings in greater detail and has links to the site and g+ page.
2013-03-10 (version 1.12.41.55)
Redid the UI and added fields for all the settings.
2013-02-04 (version 1.11.32.49)
Changed the way Cycle works so that it changes the screen that hasn't been changed for the longest time. This should make a 2 screen span with 3+ total screens work better.
Random order is now truly random.
Changed the internals to use the device name instead of index (this makes it possible to specify what screen gets what image better).
2012-12-26 (version 1.11.31.47)
Added start/end times for night mode.
2012-09-12 (version 1.10.30.46)
Added screen overrides and embedded instructions file.
Embedded license file.
2012-09-01 (version 1.9.29.46)
Added "Night mode".
Can now resume a non-random image queue.
Fixed a bug involving transparancy in the middle of an image resulting from multiple background colors.
Edge positioning now works correctly with spanning.
Re-applies desktop on load. This should fix things if the displays changed since it was last run.
2012-08-18 (version 1.8.27.40)
Spanning fully implemented.
Can now open files that failed to load by right clicking on it in the log.
Added option to randomize images (can be disabled now).
Settings window can be resized.
2012-08-01 (version 1.7.19.27)
Added the ability to change the generated image's save location.
Added a hack to get around Win7 compressing the image to a low quality JPEG when using the transition effect. By changing the bitmap's file extension to JPG, Win7 won't recompress it, and it doesn't cause issues for WinXP either.
Added spanning option (incomplete). Only spanning to the left or right is partly working. Transitioning away from a spanned image has not been implemented yet.
Current images are saved after each change. This helps to resume the slideshow properly if the system crashes.
2012-07-07 (version 1.6.18.24)
Added time remaining before the next image change to the notification icon tooltip.
Fixed an issue where images where loading twice during startup when the slideshow is disabled.
Added an option to switch the resize mode between bicubic and bilinear.
2012-06-22 (version 1.6.17.20)
Fixed a minor bug with showing the settings form after starting minimized.
Added remaining time to the log when resuming the slideshow.
2012-06-21 (version 1.6.16.19)
Slideshow will now resume after you reboot.
Added the ability to disable the slideshow and use a specific image for each screen.
Edge positioning on zoom-limited images will only happen if at least one of the adjacent sides is also detected as "solid".
2012-06-16 (version 1.5.12.17)
Multiple background colors will now only be used if the edges are solid.
Enhanced edge detection to avoid problems caused by small amounts of noise.
2012-06-10 (version 1.5.10.16)
Fixed a bug with the zoom limit.
Added sizing zoom percents to the log.
2012-06-06 (version 1.5.9.15)
Altered how colors are compared. It may or may not be better.
Background color now uses the average of the colors considered to be the "same".
Altered the edge analysis log message to be easier to understand.
2012-05-30 (version 1.5.8.14)
Adjusted how multiple background colors works. If there are any common colors, it will use that. This makes it more likely that both edges will be the same color.
Fixed the log to handle unicode.
Clear the log when new settings are saved.
Reapply wallpaper tiling when the win7 transition effect is used (IActiveDesktop). This way the program can "fix" itself if the theme is changed while it is running.
2012-05-24 (version 1.5.7.11)
Forgot to apply a background color for transparent images.
2012-05-23 (version 1.5.7.10)
Fixed a bug when the screen resolution changes and makes the image "too small" to use.
2012-05-20 (version 1.5.7.9)
Use edge positioning instead of crop/stretch when edge positioning is enabled.
Added option to allow different edges to have different background colors.
Improved performance by only reading the image and doing image analysis one time and storing all curent images in memory.
Fixed a potential memory leak from not detaching from the display resolution change event.
Fixed infinite loop bug when the image path has no images or all images are too small.
Fixed a bug where a screen with a negative position got applied twice.
2012-05-18 (version 1.4.3.5)
Redid how the background color is detected.
Added option to skip small images.
Added option to enable/disable edge positioning.
2012-05-15 (version 1.3.1.2)
Added edge detection.
2012-05-13 (version 1.2.1.1)
Added Zoom Limit option.
Changed default config (crop:23, stretch:4, interval:1:20)
2012-05-06 (version 1.1.1.1)
Added Vertical Crop Offset option.
Modified the calculation for Crop and Stretch.
Changed the percentage controls to number spinners and rearranged the placement of the configuration controls. This leaves some extra space for future options to be added.
Corrected an infinite loop bug when the screen resolution is changed and the image was deleted.
2012-04-25 (version 1.0.0.0)
Initial release.
Special thanks to those that posted the code to initially trigger the transition effect and the C# IActiveDesktop implementation.