/WinDynamicDesktop

Port of macOS Mojave Dynamic Desktop feature to Windows 10

Primary LanguageC#MIT LicenseMIT

WinDynamicDesktop

Port of macOS Mojave Dynamic Desktop feature to Windows 10, available for download on GitHub and the Microsoft Store

GitHub releases Gitter chat Donate

Microsoft Store

Getting Started

The first time you run WinDynamicDesktop, it will automatically download the macOS Mojave wallpapers from here and here and extract them to your disk. I have not included the files directly in this repository for copyright reasons. If you want to select a different set of images, see the section below for how to do so.

You will also need to input your location when running the program for the first time. This location is not used for any purpose other than to determine the times of sunrise and sunset where you live.

After you enter your location, the program will minimize to your system tray and it will run in the background. Right-clicking on the system tray icon opens a menu with options to update the location, refresh the wallpaper manually if necessary, or exit the program. You can also choose to start WinDynamicDesktop when Windows boots or enable dark mode from this menu.

Frequently Asked Questions

Why did you develop this?

When the Dynamic Desktop feature was announced for macOS Mojave which shifts through 16 images of the same desert scene taken at different times of day, I wanted to write a Windows program that would do the same thing. Windows has the ability built-in to cycle through different wallpapers, but only at regular intervals, not based on the times of sunrise and sunset. This program adds that feature for the Mojave wallpapers to the Windows desktop.

Can the lockscreen image be changed too?

This is a commonly requested feature, and it would be nice to mimic the behavior of macOS and many Linux distros where the lockscreen image is the same as the desktop wallpaper. Unfortunately Windows 10 doesn't have a reliable API for changing the lockscreen image, which means I can't really implement this feature in the app unless Microsoft adds a desktop wallpaper option to Windows for the lockscreen.

How can I hide the tray icon?

If you want to run the app silently with no icon in the system tray, you can do this by editing the settings.conf file which is in the same folder as the EXE. Change the setting "hideTrayIcon":false to "hideTrayIcon":true (or add it if it doesn't exist), then restart the app.

How can I customize the images?

By default WinDynamicDesktop uses the Mojave wallpapers, but you can add your own themes and customize the images that are used by creating JSON files in the themes folder. Sample theme JSON files can be found here.

The name of the file should be the name of the theme, with any spaces replaced by underscores, plus the .json extension (e.g., Mojave_Desert.json). Theme files are formatted in JSON and must contain the following values:

  • imagesZipUri - String containing URL to download images.zip file from, or null if the content in the images subfolder is provided by the user
  • imageFilename - String containing the filename of each wallpaper image, with * (an asterisk) substituted for the image number
  • dayImageList - Array of numbers listing the image numbers to display throughout the day (between sunrise and sunset)
  • nightImageList - Array of numbers listing the image numbers to display throughout the night (between sunset and sunrise)

Legal and Privacy Stuff

I do not own the wallpaper images used by WinDynamicDesktop, they belong to Apple. The icon used in this program was made by Roundicons from flaticon.com and is licensed by CC 3.0 BY.

When you enter your location, WinDynamicDesktop uses the LocationIQ service to convert it to latitude and longitude. Your location info is never sent anywhere without your consent.