Review of "Scale By Display" version 8

Details Page Preview

Extension which tweaks your font scaling and other settings based on display configuration

Extension Homepage
https://github.com/ilya-m32/scale-by-display

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 4

Shexli found 4 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-003 warning

signals connected by extension should be disconnected in disable()

Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.

Disconnect all signals

  • extension.js:24
    this.#connections.connect(Main.sessionMode, "updated", onUpdate)
  • extension.js:25
    this.#connections.connect(this.#settings, "changed", onUpdate)
  • extension.js:26
    this.#connections.connect(this.#profileManager, "updated", onUpdate)
  • profile.js:50
    this.#connections.connect(this.#settings, "changed", onUpdate)
  • profile.js:51
    this.#connections.connect(this.#monitorsConfig, "updated", onUpdate)

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

  • monitors.js:34
                this.#initRunSignal = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
                    if (!this.#hadInitRun) {
                        this.#updateResources();
                    }
                    this.#initRunSignal = void 0;
                    return GLib.SOURCE_REMOVE; // Ensures this only runs on

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:290
    this.#profilesManagerSignal = this.#profilesManager.connect("updated", this.#updatePreferenceWindow.bind(this, window))
  • prefs.js:33
                this.#saveMonitorsAsProfileButton = new Gtk.Button({
                    iconName: "list-add-symbolic",
                    valign: Gtk.Align.CENTER,
                    halign: Gtk.Align.CENTER,
                    marginTop: 16,
                })

All Versions

Version Status
8 Active
7 Active
6 Active
5 Active
4 Active
3 Active
2 Active
1 Rejected

Previous Reviews on this Version

JustPerfection active
JustPerfection posted a review
Please fix Shexli issues for the next version.