Review of "Icon Fix" version 1.6 (2)

Details Page Preview

Shows the proper icon and name for Steam games and other apps that GNOME can't match to their .desktop file, so you no longer have to add StartupWMClass to every game by hand. Works with the dock (including Dash to Dock), Alt+Tab and the overview. It matches windows the way KDE does, and knows Steam and Proton (including non-Steam shortcuts), Heroic, Lutris, Bottles, Wine, Snap and AppImage: by app ID, Wine prefix and .exe, window class, program, install folder and window title. Games started from Flatpak launchers (Steam, Heroic, Lutris, Bottles) get their own icon instead of the launcher's, and Windows games nobody made an icon for use the one inside their .exe. Your .desktop files are never modified. Optional: add games from the Flatpak versions of Steam and Bottles to the app grid and search (off by default, see preferences).

Extension Homepage
https://github.com/adavidys/gnome-icon-fix

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 2

Shexli found 2 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

  • lib/process.js:100
    GLib.file_get_contents(`/proc/${pid}/maps`)
  • lib/process.js:127
    GLib.file_get_contents(`/proc/${pid}/cmdline`)
  • lib/process.js:137
    GLib.file_get_contents(`/proc/${pid}/environ`)
  • lib/util.js:71
    GLib.file_get_contents(path)
  • sources/steam.js:43
    GLib.file_get_contents(path)

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:50
    this._iconTheme = new St.IconTheme()

All Versions

Version Status
1.6 (2) Unreviewed
1.0 (1) Rejected