Quickly switch between projects and launch editors or AI agents from the GNOME panel.
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()`.
src/indicator.js:35
file.load_contents(null)
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:37
this._fileMonitor.connect('changed', (monitor, file, otherFile, eventType) => {
if (eventType === Gio.FileMonitorEvent.ATTRIBUTE_CHANGED ||
eventType === Gio.FileMonitorEvent.PRE_UNMOUNT ||
eventType === Gio.FileMonitorEvent.UNMOUNTED)
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.
prefs.js:33
this._listGroup = new Adw.PreferencesGroup({
title: 'Your Projects',
description: 'Click a project to edit its actions and settings.',
})
prefs.js:61
this._groupsListGroup = new Adw.PreferencesGroup({
title: 'Your Groups',
description: 'Groups run multiple actions from different projects at once. Optionally on a specific workspace.',
})
prefs.js:107
this._autoSaveId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1000, () => {
this._doSave(window);
this._autoSaveId = 0;
return GLib.SOURCE_REMOVE;
})
| Version | Status |
|---|---|
| 2 | Active |
| 1 | Active |
You should disconnect the file monitor signals on disable. The projects file seems small enough, but it would still be better to not use blocking IO (the process that is blocked in this case is the entire desktop!)