Open-source project
t1m0thyj/WinDynamicDesktop avatar
t1m0thyj/WinDynamicDesktop

WinDynamicDesktop: macOS Dynamic Desktop on Windows 10 and 11

Port of macOS Mojave Dynamic Desktop feature to Windows

5,032 stars301 forksC#MPL-2.0

At a glance

What is it?
WinDynamicDesktop rotates wallpaper images over a 24 hour schedule on Windows, using themes ported from macOS Mojave. It is a small C# app with a .ddw theme format, and the README points to a known issue where the wallpaper can get stuck.
Who is it for?
Adopt WinDynamicDesktop if you want Mojave style wallpaper rotation on Windows and are willing to live with the .ddw theme format and the known stuck wallpaper issue. Skip it if you need separate images per virtual desktop, since the README lists that as a limitation, or if you run Windows Insider builds, which the README says are not officially supported.
Can I use it commercially?
Yes, with conditions. MPL-2.0 is a weak copyleft licence: you can use it inside commercial and closed-source software, but if you distribute changes to its own files, you must publish those changes under the same licence.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What WinDynamicDesktop solves, and who it is for

macOS Mojave introduced a desktop picture that changes through the day: a sequence of images for the same scene, one per time of day. Windows has no built in equivalent. WinDynamicDesktop is a port of that feature to Windows 10 and 11, written in C# and released under MPL-2.0.

The audience is narrow and specific. If you want a wallpaper that shifts from dawn to noon to dusk without you touching it, and you are on Windows, this is the tool. The README says it is developed primarily for Windows 11 but should run on any device with Windows 7 or newer. It also states that Windows Insider builds are not officially supported, which matters if you run preview builds.

The project ships bundled macOS themes and links to a gallery of hundreds more at windd.info/themes. There is also a wiki page for creating custom themes, so the intended workflow is not just picking from a list. The README points to a .ddw Theme Creator hosted at ddw-theme-creator.vercel.app, credited to a contributor.

How the wallpaper rotation works: themes, schedules and scripts

The mechanism is a theme plus a schedule. A theme holds a set of images for a scene; the schedule decides which image is on screen at a given hour of the 24 hour cycle. The README shows two configuration windows for this: Select Theme and Configure Timing. It does not publish the internals of either, so the exact interpolation logic between images is not documented in the README.

Themes are distributed as .ddw files, and the related searches include "Windynamicdesktop json" and "WinDynamicDesktop create theme", which matches the repository structure: the wiki page for custom themes is where the format is described, not the README. If you plan to build your own theme, budget time for the wiki and the external theme creator rather than expecting a schema in the main repository.

Scripts are the extension point. The README says you can extend behavior with PowerShell scripts and share them through the WDD-scripts repository. That is a real design choice: instead of a plugin API in C#, the app exposes behavior to PowerShell. It also means script quality and safety are on you, since scripts come from other users.

Location handling differs by build. The README states that the LocationIQ API is used when you enter your location, to convert it to latitude and longitude, and that the Microsoft Store app uses the Windows location API if permission is granted. Sunrise and sunset timing therefore depends on which build you install and what you tell it about where you are.

Installing WinDynamicDesktop and setting a first theme

The README lists four distribution channels: GitHub releases, the Microsoft Store, Chocolatey and WinGet. The repository root carries a .env.example with LOCATIONIQ_API_KEY and POEDITOR_API_TOKEN, which are for building the project yourself, not for end users.

If you use WinGet, the package identifier appears in the README badge as t1m0thyj.WinDynamicDesktop. The exact command is not printed in the README, but WinGet resolves packages by that identifier:

bash
winget install t1m0thyj.WinDynamicDesktop

Chocolatey is the other package manager route. The README badge references the package name windynamicdesktop:

bash
choco install windynamicdesktop

If you prefer not to use a package manager, download the installer from the GitHub releases page or install from the Microsoft Store listing. The README links both.

After launch, the first screen is Select Theme. Pick one of the bundled macOS themes or import a .ddw file you downloaded from windd.info/themes. Then open Configure Timing and choose the schedule that maps images to hours of the day. If you entered a location, the app converts it to latitude and longitude through LocationIQ (or the Windows location API in the Store build) so the schedule can track local daylight. What you should see is the wallpaper changing as the day advances, not on a fixed timer you set by hand.

For a custom theme, use the .ddw Theme Creator linked from the README and follow the wiki page on creating custom themes. The README does not document the .ddw schema itself.

Known issues and where WinDynamicDesktop is the wrong tool

The README is unusually direct about defects. Under Known Issues it lists two: wallpaper fit not remembered in the Microsoft Store app, and wallpaper getting stuck and not updating. Both link to wiki pages rather than open issues, which suggests they are persistent enough to deserve standing documentation. If your wallpaper silently stops changing, that is a documented failure mode, not a one off.

Under Limitations it lists one item: the app cannot show separate images on multiple virtual desktops, tracked as issue 299. If your workflow depends on a different scene per virtual desktop, this project does not do it.

The platform support statement is also a boundary. The README says the app is developed primarily for Windows 11 and that Windows Insider builds are not officially supported. Running it on Windows 7 or 8 is described as possible, not tested. And there is no Linux build: the related searches include "windynamicdesktop linux", but nothing in the README or the repository layout suggests a Linux target. The source tree has src/ and uwp/ directories, both Windows oriented.

Finally, the wallpaper images are not the project's to license. The README states plainly that wallpaper images are not owned by the author and belong to Apple. If you redistribute a theme, that is your problem, not the maintainer's.

Alternatives: WinDynamicDesktop versus wallpaper engine style tools

The closest category is animated or live wallpaper software, which renders a moving scene continuously rather than swapping still images on a clock. The difference in approach is fundamental. WinDynamicDesktop picks one image from a theme for the current time and sets it as the desktop background; a live wallpaper engine runs a renderer in the background and draws frames. The first uses almost no resources between changes, and the second trades CPU and GPU time for motion.

There is also the manual route: Windows lets you set a slideshow from a folder of images with a fixed interval. That gets you rotation, but not a day cycle tied to local sunrise and sunset, and not per scene image sets. WinDynamicDesktop's schedule is the part a plain slideshow cannot replicate.

Compared with the macOS original, the port is a reimplementation, not a wrapper. That matters because the theme format is the project's own (.ddw), not Apple's, and the theme gallery is community maintained at windd.info. If you want Apple's exact behavior with Apple's exact assets, this is an approximation with a different theme ecosystem.

Maintenance, licence and upgrade cost

The repository is not archived, and the last push was on 2026-09-18, days before this writing. The most recent release listed is v5.7.0 from 2026-06-16, preceded by v5.7.0-beta.1 in 2025-11-18 and v5.6.1 in 2025-03-10. That is a slow but real release cadence, with a beta cycle before the stable tag. Treat the beta channel as optional; the README does not describe a built in update mechanism, so upgrades mean reinstalling through whichever channel you chose (WinGet, Chocolatey, the Store, or a fresh GitHub release download).

The licence is MPL-2.0, a file level copyleft licence. Modifying WinDynamicDesktop's own source files means those modified files stay under MPL-2.0 when distributed; combining it with other code in separate files is generally permitted. This is a summary of the licence text, not legal advice, and the LICENSE file in the repository root is the authoritative document.

Two operational costs are worth naming. First, the LocationIQ dependency: the README says your entered location is sent to that API for conversion to latitude and longitude, so the GitHub build depends on a third party service and on whatever key the app ships with or you supply. The Store build avoids that by using the Windows location API. Second, PowerShell scripts from the WDD-scripts repository run with your user privileges. The README presents them as an extension mechanism and does not describe a sandbox.

Editorial conclusion

Adopt WinDynamicDesktop if you want Mojave style wallpaper rotation on Windows and are willing to live with the .ddw theme format and the known stuck wallpaper issue. Skip it if you need separate images per virtual desktop, since the README lists that as a limitation, or if you run Windows Insider builds, which the README says are not officially supported. Before installing, check the Known Issues wiki pages for wallpaper fit and stuck updates, and confirm which install path you want: the Microsoft Store build uses the Windows location API, while the GitHub build relies on LocationIQ for converting a location to latitude and longitude.

Frequently asked questions

How do I use WinDynamicDesktop?

Install it from GitHub releases, the Microsoft Store, Chocolatey or WinGet, then pick a theme in the Select Theme window and set a 24 hour schedule in Configure Timing. The README also documents extending behavior with PowerShell scripts.

Is WinDynamicDesktop safe?

The README does not make a safety claim. Two things it does disclose are that the LocationIQ API is used to convert your entered location to latitude and longitude, and that user shared PowerShell scripts can extend the app. Wallpaper images belong to Apple, per the README.

Where can I download WinDynamicDesktop?

The README links GitHub releases, the Microsoft Store, Chocolatey (package windynamicdesktop) and WinGet (package t1m0thyj.WinDynamicDesktop). The homepage is windd.info.

Can I make my own WinDynamicDesktop theme?

Yes. The README links a wiki page on creating custom themes and a .ddw Theme Creator tool hosted externally. Custom themes are distributed as .ddw files, and the format itself is documented on the wiki rather than in the README.

Does WinDynamicDesktop work on Windows 11?

Yes. The README says the app is developed primarily for Windows 11 and should run on any device with Windows 7 or newer, though Windows Insider builds are not officially supported.

Official sources

  1. License: MPL-2.0
  2. Project website
  3. README
  4. Releases
  5. t1m0thyj/WinDynamicDesktop on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/t1m0thyj-windynamicdesktop.svg)](https://hysenlabs.com/projects/t1m0thyj-windynamicdesktop)