Fresh, real-world photo wallpapers from Bing, NASA or Peapix, updated automatically — pick a fixed daily source or let it draw randomly from thousands of archived images of these sources, with anti-repetition built in, favourites and banned lists, and a "Today" tab to look back at everything shown since midnight.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-P-006 warning
unnecessary build and translation artifacts should not be shipped
Compiled GSettings schemas should not be shipped for 45+ packages.
Don't include unnecessary files
schemas/gschemas.compiled
schemas/gschemas.compiled
EGO-M-004 error
metadata shell-version must only include plausible stable releases and at most one development release
Field `shell-version` contains invalid values, more than one development release, or implausible future releases.
metadata.json must be well-formed
metadata.json
shell-version=['46', '47', '48', '49', '50', '51']
| Version | Status |
|---|---|
| 2.2 (12) | Unreviewed |
| 2.1 (11) | Rejected |
| 2.1 (10) | Rejected |
| 2.1 (9) | Rejected |
| 2.1 (8) | Rejected |
| 2.0 (7) | Rejected |
| 1.3 (6) | Active |
| 1.2 (5) | Inactive |
| 1.1 (4) | Inactive |
| 1.0 (3) | Inactive |
| 1.0 (2) | Rejected |
| 1.0 (1) | Rejected |
Hi, Here's version 2.2 of Fresh Web Wallpaper. I spent this release cleaning the code up to follow the best practices as closely as I could, so here's what changed. I split everything into smaller files. extension.js is just a small entry point now, and the rest lives in modules that each do one thing (indicator, updater, scraper, store, thumbnails, network, notifier, saveDialog). The shared code is in lib/ and doesn't import any UI library, and the preferences have one file per page in prefs/. I also went through every signal, timeout, idle source and file monitor to make sure the class that creates it is the one that cleans it up. disable() cancels a shared Gio.Cancellable first, then destroys each service and sets the references to null. I removed the try/catch blocks I didn't really need. The few left are where things can genuinely fail (decoding or saving an image, reading or writing JSON, copying a file, the XDG portal call), and they just log once and return null or false. A few bugs got fixed along the way: - Offline, a random draw now logs a single warning and tries again once, five minutes later, instead of spamming errors. - Disabling and re-enabling the extension during a gallery scan now stops it cleanly, and it picks up where it left off. - "Clear all" in the Favourites tab needed two clicks. That's fixed. - Thumbnails no longer log errors when a source image is missing. Smaller things: I dropped GNOME 45 (it's 46 to 51 now), the preferences window has a minimum size, the emoji are real symbolic icons, and there's a new "Change now" button, translated in de, es, fr, it and pt. There are no comments left in the code, and the zip only contains the extension files, the schema and the translations. I used an AI assistant for part of this refactor, but I read the code it produced, I maintain it, and I tested it on my own machine, including offline behaviour and disabling/enabling during a gallery scan. The full changelog is here: https://framagit.org/Fred6681/fresh-web-wallpaper/-/blob/main/CHANGELOG Thanks for taking the time! Frédéric