Review of "Laptop Cooling" version 1.0.0 (1)

Details Page Preview

Adds a Cooling tile to the system menu with CPU and GPU temperatures, both fan speeds, and the laptop's own Quiet, Balanced, and Performance presets. The tile uses the current GNOME Shell theme and adds no separate top-bar button. Requires the Laptop Cooling service, installed once as root. Hardware support is currently limited to the Lenovo IdeaPad Gaming 3 15IMH05 (81Y4, BIOS EGCN41WW); other models show an unsupported message instead of guessing. GNOME Shell 46 on Ubuntu 24.04 is the tested target.

Extension Homepage
https://github.com/joseteo/laptop-cooling

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 2

Shexli found 2 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:101
    this._message = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:112
    this._prefs = new PopupMenu.PopupImageMenuItem(_('Preferences'), 'preferences-system-symbolic')
  • extension.js:94
    this._readings = new PopupMenu.PopupMenuSection()
  • extension.js:105
    this._setup = new PopupMenu.PopupImageMenuItem(_('Setup Instructions'), 'go-next-symbolic')
  • extension.js:84
            this._statusArrow = new St.Icon({icon_name: 'pan-down-symbolic',
                style_class: 'popup-menu-arrow'})
  • extension.js:80
    this._statusRow = new PopupMenu.PopupBaseMenuItem({activate: false})
  • extension.js:87
    this._statusToggle = new Clutter.ClickAction()
  • extension.js:82
    this._summary = new St.Label({text: '—'})

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:55
    this._fanIcon = Gio.FileIcon.new(this.dir.get_child('icons').get_child('fan-symbolic.svg'))
  • extension.js:101
    this._message = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:112
    this._prefs = new PopupMenu.PopupImageMenuItem(_('Preferences'), 'preferences-system-symbolic')
  • extension.js:94
    this._readings = new PopupMenu.PopupMenuSection()
  • extension.js:105
    this._setup = new PopupMenu.PopupImageMenuItem(_('Setup Instructions'), 'go-next-symbolic')

All Versions

Version Status
1.0.0 (2) Unreviewed
1.0.0 (1) Rejected

Previous Reviews on this Version

teolorente auto- rejected
Auto-rejected because of new version 1.0.0 (2) was uploaded