A GNOME Shell extension to create highly-customizable menus in the top bar, forked from Command Menu by arunk140. Quickly access your apps, scripts, files and more.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
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()`.
extension.js:370
file.load_contents(null)
EGO-X-006 warning
extensions should not use lookupByURL or lookupByUUID for current extension access
Use `this`, `this.getSettings()` or `this.path` instead of `lookupByURL()` or `lookupByUUID()` for the current extension.
prefsGeneralUI.js:405
ExtensionPreferences.lookupByURL(import.meta.url)
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.
extension.js:88
parentMenu.connect('open-state-changed', (_menu, open) => {
if (!open || destroyed) return;
try {
const proc = Gio.Subprocess.new(
['bash', '-lc', monitor],
Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE,
extension.js:216
parentMenu.connect('open-state-changed', (_menu, open) => {
if (open) {
this._asyncResolveDynamicTitle(label, template);
if (interval)
this._startTimer(entry, interval, () => this._asyncResolveDynamicTitle(label, template));
} else {