Enhances GNOME's built-in screenshot and screen recording tools with annotations, high-FPS screencasting, and customizable workflows.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-005 manual_review
extensions should not access the clipboard directly
Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.
screenshotStore.js:121
St.Clipboard.get_default()
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.
screenshotToast.js:182
this._closeButton = new St.Button({
style_class: 'gradia-circle-button gradia-selection-trash',
child: new St.Icon({
icon_name: 'window-close-symbolic',
style: 'icon-size: 16px;',
}),
reactive: true,
})
screenshotToast.js:60
this._contentLayer = new St.Widget()
screenshotToast.js:139
this._copiedLabel = new St.BoxLayout({
style_class: 'gradia-copied-label',
})
screenshotToast.js:93
this._editButton = new St.Button({
style_class: 'gradia-circle-button gradia-selection-trash',
child: new St.Icon({
icon_name: 'document-edit-symbolic',
style: 'icon-size: 16px;',
}),
screenshotToast.js:51
this._mainButton = new St.Button({
reactive: true,
clip_to_allocation: true,
style: 'background: transparent;',
})
screenshotToast.js:116
this._openFolderButton = new St.Button({
style_class: 'gradia-circle-button gradia-selection-trash',
child: new St.Icon({
icon_name: 'folder-open-symbolic',
style: 'icon-size: 16px;',
}),
screenshotToast.js:41
this._shadowLayer = new St.Widget({
style: `
background-color: #222226;
box-shadow: 0 0 8px rgba(0,0,0,0.35);
`,
})
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
screenshotToast.js:182
this._closeButton = new St.Button({
style_class: 'gradia-circle-button gradia-selection-trash',
child: new St.Icon({
icon_name: 'window-close-symbolic',
style: 'icon-size: 16px;',
}),
reactive: true,
})
screenshotToast.js:60
this._contentLayer = new St.Widget()
screenshotToast.js:139
this._copiedLabel = new St.BoxLayout({
style_class: 'gradia-copied-label',
})
screenshotToast.js:93
this._editButton = new St.Button({
style_class: 'gradia-circle-button gradia-selection-trash',
child: new St.Icon({
icon_name: 'document-edit-symbolic',
style: 'icon-size: 16px;',
}),
screenshotToast.js:51
this._mainButton = new St.Button({
reactive: true,
clip_to_allocation: true,
style: 'background: transparent;',
})
screenshotToast.js:116
this._openFolderButton = new St.Button({
style_class: 'gradia-circle-button gradia-selection-trash',
child: new St.Icon({
icon_name: 'folder-open-symbolic',
style: 'icon-size: 16px;',
}),
screenshotToast.js:41
this._shadowLayer = new St.Widget({
style: `
background-color: #222226;
box-shadow: 0 0 8px rgba(0,0,0,0.35);
`,
})
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:729
proxy.connect('notify::g-name-owner', () => {
if (proxy.g_name_owner || !ui._screencastInProgress || ui._screencastStarting)
return;
ui._screencastFailed?.('RECORDING',
new GLib.Error(Gio.DBusError, Gio.DBusError.FA
| Version | Status |
|---|---|
| 1 | Unreviewed |