{"id":37049381,"url":"https://github.com/goodtrailer/daily-desktop","last_synced_at":"2026-01-14T05:44:26.693Z","repository":{"id":51436912,"uuid":"361584817","full_name":"goodtrailer/daily-desktop","owner":"goodtrailer","description":"Modular Windows desktop wallpaper updater that works daily at a set time. Wallpapers are provided by IProvider classes that are implemented in DLL modules.","archived":false,"fork":false,"pushed_at":"2025-12-15T02:35:18.000Z","size":62309,"stargazers_count":19,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-17T11:14:52.277Z","etag":null,"topics":["daily-tasks","desktop","wallpapers","windows"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goodtrailer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-26T01:44:44.000Z","updated_at":"2025-12-15T02:28:44.000Z","dependencies_parsed_at":"2025-05-19T10:39:41.373Z","dependency_job_id":null,"html_url":"https://github.com/goodtrailer/daily-desktop","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/goodtrailer/daily-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtrailer%2Fdaily-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtrailer%2Fdaily-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtrailer%2Fdaily-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtrailer%2Fdaily-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goodtrailer","download_url":"https://codeload.github.com/goodtrailer/daily-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtrailer%2Fdaily-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28411279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daily-tasks","desktop","wallpapers","windows"],"created_at":"2026-01-14T05:44:25.905Z","updated_at":"2026-01-14T05:44:26.685Z","avatar_url":"https://github.com/goodtrailer.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"assets/banner.png\" alt=\"Daily Desktop\" height=\"300\"\u003e\n\n[![Version](https://img.shields.io/github/v/release/goodtrailer/daily-desktop.svg?color=green\u0026style=flat-square)](https://github.com/goodtrailer/daily-desktop/releases/latest) [![NuGet](https://img.shields.io/nuget/v/goodtrailer.DailyDesktop.Core.svg?color=steelblue\u0026style=flat-square)](https://www.nuget.org/packages/goodtrailer.DailyDesktop.Core/) [![CodeFactor](https://www.codefactor.io/repository/github/goodtrailer/daily-desktop/badge/main?style=flat-square)](https://www.codefactor.io/repository/github/goodtrailer/daily-desktop/overview/main) [![License](https://img.shields.io/github/license/goodtrailer/daily-desktop.svg?color=goldenrod\u0026style=flat-square)](https://github.com/goodtrailer/daily-desktop/blob/master/LICENSE) [![Downloads](https://img.shields.io/github/downloads/goodtrailer/daily-desktop/total.svg?color=orange\u0026style=flat-square)](https://somsubhra.github.io/github-release-stats/?username=goodtrailer\u0026repository=daily-desktop\u0026page=1\u0026per_page=0)\n\nModular Windows desktop wallpaper updater that works daily at a set time. Wallpapers are provided by [IProvider](/DailyDesktop.Core/Providers/IProvider.cs) classes that are implemented in DLL modules. For example, look at [/DailyDesktop.Providers.MTG/](/DailyDesktop.Providers.MTG/), which takes wallpaper from the official Wizards of the Coast [website for Magic: The Gathering wallpaper](https://magic.wizards.com/en/articles/media/wallpapers).\n\nThis program is based on [a previous C# program I wrote](https://github.com/goodtrailer/MTG-Wallpaper-OTW) that only worked specifically for Magic: The Gathering, and was not remotely user-friendly. The original idea is based off of KDE Plasma's daily wallpaper addon/plugin where options included [Bing](https://www.bing.com), [Wikimedia Commons](https://commons.wikimedia.org/wiki/Commons:Picture_of_the_day), and [National Geographic](https://www.nationalgeographic.com/photo-of-the-day).\n\n## Video Showcase (YouTube)\n[![Preview Image](assets/preview.jpg)](https://www.youtube.com/watch?v=psSWl0QuzaA)\n\n## Blurred-fit Mode\nDaily Desktop has an optional \"blurred-fit\" mode that fits the entire image within the wallpaper, then fills in the background with a blurred and enlarged version of the image itself, instead of using a solid color like Windows does. This is useful if a provider's source contains images that are of a vastly different aspect ratio to your primary display.\n\n*Image credit:* [真夏に花が咲く](https://www.pixiv.net/en/artworks/88058753)*, illustrated by* [ロシロイチ](https://www.pixiv.net/en/users/2712686)\n| Original | Blurred-fit: 0.40 |\n| -------- | ----------------- |\n| ![Original](assets/comparison-original.png) | ![Blurred-Fit](assets/comparison-blurredfit.png) |\n\n| Windows 10 Fill | Windows 10 Fit |\n| --------------- | -------------- |\n| ![temp](assets/comparison-fill.png) | ![Blurred-Fit](assets/comparison-fit.png) |\n\n## Providers\n### Implemented\n* Bing @ [/DailyDesktop.Providers.Bing/](/DailyDesktop.Providers.Bing/)\n* Calvin and Hobbes @ [/DailyDesktop.Providers.CalvinAndHobbes/](/DailyDesktop.Providers.CalvinAndHobbes/)\n* DeviantArt @ [/DailyDesktop.Providers.DeviantArt/](/DailyDesktop.Providers.DeviantArt/)\n* ~~False Knees~~ (Deprecated) @ [/archived/DailyDesktop.Providers.FalseKnees/](/archived/DailyDesktop.Providers.FalseKnees/)\n* Magic: The Gathering @ [/DailyDesktop.Providers.MTG/](/DailyDesktop.Providers.MTG/)\n* Pixiv @ [/DailyDesktop.Providers.Pixiv/](/DailyDesktop.Providers.Pixiv/)\n* ~~Pokémon TCG~~ (Deprecated) @ [/archived/DailyDesktop.Providers.Pokemon/](/archived/DailyDesktop.Providers.Pokemon/)\n* r/EarthPorn (SFW) @ [/DailyDesktop.Providers.RedditEarthPorn/](/DailyDesktop.Providers.RedditEarthPorn/)\n* ~~Unsplash~~ @ [/DailyDesktop.Providers.Unsplash/](/DailyDesktop.Providers.Unsplash/)\n* Wikimedia Commons @ [/DailyDesktop.Providers.WikimediaCommons/](/DailyDesktop.Providers.WikimediaCommons/)\n### To-Do\n* NASA Astronomy @ [#33](https://github.com/goodtrailer/daily-desktop/issues/33)\n* NASA Earth Observatory @ [#34](https://github.com/goodtrailer/daily-desktop/issues/34)\n* The New York Times @ [#35](https://github.com/goodtrailer/daily-desktop/issues/35)\n* National Geographic TV @ [#37](https://github.com/goodtrailer/daily-desktop/issues/37)\n\n## Developing a Provider Module\nTo develop your own Daily Desktop provider modules, use the [NuGet package](https://www.nuget.org/packages/goodtrailer.DailyDesktop.Core/):\n* PackageManager: `Install-Package goodtrailer.DailyDesktop.Core`\n* dotnet: `dotnet add package goodtrailer.DailyDesktop.Core`\n\nThen, implement the [IProvider](/DailyDesktop.Core/Providers/IProvider.cs) interface in a *public* class. For examples, check these [providers I already implemented](#implemented).\n\n### Debugging\nWallpapers are actually downloaded/applied by DailyDesktop.Task. To debug a provider module, build and run DailyDesktop.Task in `Debug` mode and pass it the arguments `\"path\\to\\provider.dll\" --json \"path\\to\\info-output.json\" --blur 40`. The `--blur 40` is optional and the value can be changed between 0 to 100. If you're using Visual Studio, arguments can be passed through `DailyDesktop.Task \u003e Properties \u003e Debug` in Visual Studio. An even easier solution is to use the `Test \u003e Test Explorer` window: right click any specific test and click `Debug`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodtrailer%2Fdaily-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoodtrailer%2Fdaily-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodtrailer%2Fdaily-desktop/lists"}