Review of "Bing Wallpaper" version 54

Details Page Preview

Sync your wallpaper to today's Microsoft Bing image of the day (the image you see when you visit Bing.com). *Disclaimer*: this extension is unofficial and not affiliated with Bing or Microsoft in any way. Images are protected by copyright and are licensed only for use as wallpapers. Features: * UHD resolution wallpapers * Automatically fetches current Bing wallpaper of the day and sets as lock screen/desktop wallpaper * Random mode (from previously downloaded wallpapers) * select/cycle wallpaper through previously downloaded images * Language support: English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN, zh_TW), French (fr), Portuguese (pt), Ukrainian (uk), Russian (ru_RU), Spanish (es), Korean (ko), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Japanese (ja) - a HUGE thanks to the translators Always restart GNOME after manually updating extensions. Please report bugs to the GitHub page below:

Extension Homepage
https://github.com/neffo/bing-wallpaper-gnome-extension

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 4

Shexli found 4 issues that may need reviewer attention.

EGO-L-002 warning

objects created by extension should be destroyed in disable()

Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.

Destroy all objects

  • extension.js:157
    this.settingsSubMenu = new PopupMenu.PopupSubMenuMenuItem(_("Quick settings"), false)
  • extension.js:173
    this.thumbnailItem = new PopupMenu.PopupBaseMenuItem({ style_class: 'wp-thumbnail-image'})
  • extension.js:151
    this.titleItem = new PopupMenu.PopupSubMenuMenuItem(_("Awaiting refresh..."), false)

EGO-L-005 warning

owned object references should be released in disable()

Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.

Destroy all objects

  • extension.js:132
    this._settings = this._extension.getSettings()
  • extension.js:157
    this.settingsSubMenu = new PopupMenu.PopupSubMenuMenuItem(_("Quick settings"), false)
  • extension.js:173
    this.thumbnailItem = new PopupMenu.PopupBaseMenuItem({ style_class: 'wp-thumbnail-image'})
  • extension.js:151
    this.titleItem = new PopupMenu.PopupSubMenuMenuItem(_("Awaiting refresh..."), false)

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.

Disconnect all signals

  • extension.js:279
    this.dwallpaperItem.connect('activate', this._setBackgroundDesktop.bind(this))
  • extension.js:309
    this.folderItem.connect('activate', Utils.openImageFolder.bind(this, this._settings))
  • extension.js:268
            this.menu.connect('open-state-changed', (menu, open) => {
                if (open)
                    this._openMenu();
            })
  • extension.js:278
    this.openImageInfoLinkItem.connect('activate', this._openImageInfoLink.bind(this))
  • extension.js:276
    this.openImageItem.connect('activate', this._openInSystemViewer.bind(this))
  • extension.js:280
    this.refreshItem.connect('activate', this._refresh.bind(this))
  • extension.js:281
    this.settingsItem.connect('activate', this._openPrefs.bind(this))
  • extension.js:275
    this.thumbnailItem.connect('activate', this._openInSystemViewer.bind(this))
  • extension.js:303
                e.toggle.connect('toggled', (item, state) => {
                    BingLog(e.key+' switch toggled to '+ (state?'true':'false'));
                    this._setBooleanSetting(e.key, state);
                })
  • extension.js:233
                this._settings.connect('changed::hide', () => {
                    this.visible = !this._settings.get_boolean('hide');
                })

EGO-L-008 warning

Soup.Session instances should be aborted during cleanup

Soup.Session instances should be aborted during cleanup.

Soup.Session.abort

  • extension.js:224
    this.httpSession = new Soup.Session()

All Versions

Previous Reviews on this Version

GdH active