Review of "DM Theme Changer Reborn" version 3

Details Page Preview

Automatically change theme styles when dark mode is enabled or disabled.

Extension Homepage
https://github.com/phenrique-coder/DmThemeChanger

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 3

Shexli found 3 issues that may need reviewer attention.

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:531
        this._darkIcon = new St.Icon({
          gicon: new Gio.FileIcon({ file: darkIconPath }),
          style_class: "system-status-icon",
        })
  • extension.js:547
        this._darkIconBin = new St.Bin({
          x_align: Clutter.ActorAlign.CENTER,
          y_align: Clutter.ActorAlign.CENTER,
          clip_to_allocation: false,
        })
  • extension.js:576
        this._darkModeMenuItem = new PopupMenu.PopupSwitchMenuItem(
          _("Dark Mode"),
          this.getDarkMode()
        )
  • extension.js:517
        this._iconContainer = new St.Widget({
          layout_manager: new Clutter.BinLayout(),
          clip_to_allocation: false,
        })
  • extension.js:523
        this._lightIcon = new St.Icon({
          gicon: new Gio.FileIcon({ file: lightIconPath }),
          style_class: "system-status-icon",
        })
  • extension.js:539
        this._lightIconBin = new St.Bin({
          x_align: Clutter.ActorAlign.CENTER,
          y_align: Clutter.ActorAlign.CENTER,
          clip_to_allocation: false,
        })

EGO-L-007 warning

main loop sources should be removed before being recreated

Main loop sources should be removed before creating a new source on the same field.

Remove main loop sources

  • extension.js:159
        this._sourceIds.transitionDelayTimeout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 500, () => {
          if (OPTIMIZE_DARKLIGHT_SWITCH_TRANSITION) this.optimizeTransition.darkModeTransition?.run();
          this._sourceIds.transitionDelayTimeout = 0;
          return GLib.SOURCE_REMOVE;
        })

All Versions

Version Status
1.0.0 (6) Unreviewed
5 Rejected
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

phenrique.coder auto- rejected
Auto-rejected because of new version 4 was uploaded