Review of "Global Menu" version 1.1.1 (2)

Details Page Preview

A menu bar for GNOME. The focused application's menus appear in the top panel. It tries three sources in order: the menu the application exports over D-Bus, then a curated menu that fires the application's own keyboard shortcuts, then a generic window and system menu. Reading a menu an application exports needs the companion global-menu daemon, installed separately.

Extension Homepage
https://github.com/Unmade760/orbit-global-menu

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) error 1 warning 4

Shexli found 5 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:322
    console.warn(`[global-menu] ${method} failed: ${error.message}`)
  • extension.js:332
    console.warn(`[global-menu] no proxy for ${BUS_NAME}: ${error.message}`)
  • extension.js:357
    console.warn(`[global-menu] daemon sent an unreadable menu tree: ${e.message}`)
  • extension.js:449
    console.warn(`[global-menu-shortcuts] ${file}: ${message}`)
  • extension.js:441
    console.error(`[global-menu-shortcuts] could not read the mappings: ${e.message}`)
  • extension.js:130
    			console.log(`[global-menu-shortcuts] resolution: candidates=[${candidates}] ` +
    				`matched ${this._shortcutMapping?.app ?? 'nothing'}`)

EGO-X-003 warning

extensions should not call run_dispose in extension code

Extension code should not call `run_dispose()`.

GObject.Object.run_dispose

  • keySynth.js:58
    device?.run_dispose()

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

  • shortcutStore.js:15
    file.load_contents(null)
  • shortcutStore.js:320
    this._builtinDir.get_child('index.json').load_contents(null)

EGO-C49-004 error

extensions targeting GNOME 49 must not call Meta.Window.get_maximized

This extension explicitly targets GNOME Shell 49 but still calls removed `Meta.Window.get_maximized()`.

Meta.Window

  • windowActions.js:125
    win.get_maximized()

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:429
    this._settings.connect(`changed::${key}`, callback)

All Versions

Version Status
1.1.4 (5) Active
1.1.3 (4) Rejected
1.1.2 (3) Rejected
1.1.1 (2) Rejected
1.1.0 (1) Rejected

Previous Reviews on this Version

unmade auto- rejected
Auto-rejected because of new version 1.1.2 (3) was uploaded