Review of "Desktop widgets" version 2.0.0 (5)

Details Page Preview

Desktop widgets for GNOME Shell in a grid layout: clock, binary clock, calendar, weather, photos, battery rings for your device, and an MPRIS music player. In edit mode you can add, move, resize, and remove widgets directly on your desktop, then style them with custom colors, borders, radius, shadow, and opacity. A fork of Widgets (https://github.com/TheRealSourcer/widgets).

Extension Homepage
https://github.com/r3nhick/desktop-widgets

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 5 manual_review 1

Shexli found 6 issues that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • widgets/notes/widget.js:187
    St.Clipboard.get_default()
  • widgets/notes/widget.js:212
    St.Clipboard.get_default()
  • widgets/notes/widget.js:222
    St.Clipboard.get_default()
  • widgets/notes/widget.js:231
    St.Clipboard.get_default()
  • widgets/notes/widget.js:256
    St.Clipboard.get_default()

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Package contains files that often should not be shipped for review.

Don't include unnecessary files

  • po/ru.po
    po/ru.po
  • po/desktop-widgets@r3nhick.pot
    po/desktop-widgets@r3nhick.pot
  • po/uk.po
    po/uk.po

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-P-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • tools/build-icons.mjs
  • tools/extract-strings.mjs
  • widgetAddMenu.js

EGO-L-001 warning

extension must not create GObject instances or modify shell before enable()

Resource creation or signal/source setup was found outside `enable()`.

Only use initialization for static resources

  • widgets/system/widget.js:302
    monitor = new SystemMonitor()
  • widgets/system/widget.js:302
    new SystemMonitor()

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.

Remove main loop sources

  • extension.js:1082
          GLib.timeout_add(GLib.PRIORITY_DEFAULT, 100, () => {
            for (const view of this._views.values()) {
              if (view.widget.pinned && view.pinButton) {
                this._syncPinButtonState(view.widget.id);
              }
            }
            return GLib.SOURCE_REMOVE;
          })
  • extension.js:1177
        GLib.timeout_add(GLib.PRIORITY_DEFAULT, 50, () => {
          this._syncPinButtonState(id);
          return GLib.SOURCE_REMOVE;
        })
  • extension.js:1987
          GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
            if (pinButton && !isActorDestroyed(pinButton)) {
              pinButton.set_style('background-color: #5b9de0; color: #ffffff; border-color: #5b9de0;');
            }
            return GLib.SOURCE_REMOVE;
          })

All Versions

Version Status
2.0.0 (5) Unreviewed
2.0.0 (4) Rejected
1.0.3 (3) Rejected
1.0.2 (2) Rejected
1.0.2 (1) Rejected