Review of "Zeo Monitor Widget" version 1

Details Page Preview

Zeo-style desktop widgets for GNOME. Currently provides a floating monitering card.

Extension Homepage
https://github.com/mohitjoer/zeo-widgets

No comments.

FAQ

Files

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

Shexli (experimental) warning 5

Shexli found 5 issues that may need reviewer attention.

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()`.

File Operations

  • extension.js:298
    GLib.file_get_contents('/proc/stat')
  • extension.js:337
    GLib.file_get_contents('/proc/meminfo')
  • extension.js:383
    GLib.file_get_contents(actFile)
  • extension.js:384
    GLib.file_get_contents(maxFile)

EGO-X-002 warning

extensions should not use synchronous subprocess APIs in shell code

Shell code should avoid synchronous subprocess APIs like `GLib.spawn_command_line_sync()` and `GLib.spawn_sync()`.

Complete Examples

  • extension.js:353
    GLib.spawn_command_line_sync('df --output=used,size,pcent / ')
  • extension.js:397
    GLib.spawn_command_line_sync(
                    'nvidia-smi --query-gpu=utilization.gpu,memory.used,memory.total --format=csv,noheader,nounits')

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-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:186
            this._detailLabel = new St.Label({
                text: '—',
                style_class: 'zeo-ring-detail',
                x_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:150
            this._drawingArea = new St.DrawingArea({
                width: RING_SIZE,
                height: RING_SIZE,
            })
  • extension.js:179
            this._nameLabel = new St.Label({
                text: label,
                style_class: 'zeo-ring-name',
                x_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:162
            this._pctLabel = new St.Label({
                text: '0%',
                style_class: 'zeo-ring-pct',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:193
            this.actor = new St.BoxLayout({
                vertical: true,
                x_align: Clutter.ActorAlign.CENTER,
                style_class: 'zeo-ring-cell',
            })

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:186
            this._detailLabel = new St.Label({
                text: '—',
                style_class: 'zeo-ring-detail',
                x_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:179
            this._nameLabel = new St.Label({
                text: label,
                style_class: 'zeo-ring-name',
                x_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:162
            this._pctLabel = new St.Label({
                text: '0%',
                style_class: 'zeo-ring-pct',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:193
            this.actor = new St.BoxLayout({
                vertical: true,
                x_align: Clutter.ActorAlign.CENTER,
                style_class: 'zeo-ring-cell',
            })

All Versions

Version Status
6 Unreviewed
5 Rejected
4 Rejected
3 Rejected
2 Inactive
1 Rejected

Previous Reviews on this Version

mohitjoer auto- rejected
Auto-rejected because of new version 2 was uploaded