Review of "Panel Icon Customizer" version 1

Details Page Preview

Customize, hide, or replace GNOME Shell panel indicators (Night Light, Wi-Fi, Bluetooth, Volume, Battery, etc.) with custom symbolic icons or SVG files. Compatible with Dash to Panel and default panel.

Extension Homepage
https://github.com/ovj/panel-icon-customizer

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-A-004 warning

extension files should not contain excessive ungated console logging

File contains 23 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • extension.js:149
    console.warn(`[Panel Icon Customizer] Error getting D2P container for '${name}': ${e.message}`)
  • extension.js:162
    console.warn(`[Panel Icon Customizer] Error getting default container for '${name}': ${e.message}`)
  • extension.js:191
    console.warn(`[Panel Icon Customizer] Heuristic detection during resource gathering failed: ${e.message}`)
  • extension.js:202
    console.warn(`[Panel Icon Customizer] Failed to track resources for '${name}': ${e.message}`)
  • extension.js:259
    console.warn(`[Panel Icon Customizer] Could not connect notify::visible on '${name}': ${e.message}`)
  • extension.js:284
    console.warn(`[Panel Icon Customizer] Could not connect notify::${prop} on '${name}': ${e.message}`)
  • extension.js:391
    console.warn(`[Panel Icon Customizer] Invalid symbolic icon for '${name}': ${parsed.value}`)
  • extension.js:408
    console.warn(`[Panel Icon Customizer] Invalid SVG for '${name}': ${path}`)
  • extension.js:414
    console.warn(`[Panel Icon Customizer] Could not create FileIcon for '${name}'`)
  • extension.js:475
    console.warn(`[Panel Icon Customizer] _restoreOne('${name}') threw: ${e.message}`)

EGO-L-006 warning

preferences classes should not retain window-scoped objects on instance fields without close-request cleanup

Preferences code stores window-scoped objects on the exported prefs class without `close-request` cleanup.

Destroy all objects

  • prefs.js:427
    this._indicatorRows = new Map()
  • prefs.js:431
    this._settingsManager = new SettingsManager.SettingsManager(settingsObj || this.uuid)

All Versions

Version Status
1 Unreviewed