Fresh, real-world photo wallpapers from Bing, NASA or Peapix Spotlight, 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 Sources of wallpaper Peapix Spotlight Wallpaper (https://peapix.com/spotlight) Bing Wallpaper NASA Image of the Day (https://www.nasa.gov/image-of-the-day/) Two modes Wallpaper of the moment: a single fixed source, always the latest available image. Random wallpaper: picks randomly among the sources you choose (one, two, or all three) and a change frequency adjustable separately (manual, or from 1 minute to 24 hours). The two modes are mutually exclusive: enabling one disables the other. Changing a setting (source, mode, checked sites...) applies the change right away, without delay. Each wallpaper change triggers a clickable notification opening the image page in the browser.page link, save option are also accessible from the top bar menu and the settings. The top bar icon and notifications can each be hidden from the settings. Available languages English, French (Français), Spanish (Español), Portuguese (Português), Italian (Italiano), German (Deutsch)
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-X-004 warning
extensions should avoid synchronous file IO in shell code
Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.
extension.js:969
GLib.file_get_contents(this._seenHistoryPath())
extension.js:1022
GLib.file_get_contents(this._discoveredCachePath())
EGO-L-003 warning
signals connected by extension should be disconnected in disable()
Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.
extension.js:1341
notification.connect('destroy', () => notification.disconnect(activatedId))
extension.js:332
this._menuStateChangedId = this.menu.connect('open-state-changed', (menu, open) => {
if (open)
this._rebuildMenu();
})
extension.js:337
this._settingsChangedId = extension._settings.connect('changed', () => {
if (!this.menu.isOpen || this._idleSourceId)
return;
this._idleSourceId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this._idleSourceId = null;
i
EGO-L-004 warning
main loop sources should be removed in disable()
Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.
extension.js:340
this._idleSourceId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this._idleSourceId = null;
if (this.menu.isOpen)
this._rebuildMenu();
return GLib.SOURCE_REMOVE;
})
| Version | Status |
|---|---|
| 2.1 (10) | Unreviewed |
| 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 |
1. Please avoid using non-English comments in the code. It makes it hard for the contributors to join. If it is generated by AI, please note, we have a rule for that: [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) 2. Better to use `destroy` function instead of connecting destroy signal. Don't forget to do `super.destroy()` at the end of that `destroy()` function. 3. Use `console.*` instead of `log()`. Logs should be only available on debug mode. For debug use `console.debug()` instead of `console.log()`: [Port Guide 45: Logging](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging) 4. Please use aysnc for reading file content since you are in shell process (line 969, 1022 `extension.js`): [Gio.File.load_contents_async](https://gjs-docs.gnome.org/gio20~2.0/gio.file#method-load_contents_async)