Sticky notes on the desktop with live markup, checkboxes and per-monitor positions.
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:1245
this._file.load_contents(null)
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`.
extension.js:32
this._label = new St.Label({style_class: 'sdn-tooltip', visible: false})
extension.js:1076
this._layer = new St.Widget({
name: 'simpledesknote-layer',
reactive: false,
layout_manager: new Clutter.FixedLayout(),
})
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:362
this._body.connect('button-press-event', (actor, event) => {
if (event.get_button() === Clutter.BUTTON_PRIMARY &&
global.stage.get_event_actor(event) === this._body)
this.focusText();
return Clutter.EVENT_PROPAGATE;
})
extension.js:347
this._entry.connect('captured-event', (actor, event) => {
if (event.type() !== Clutter.EventType.BUTTON_PRESS)
return Clutter.EVENT_PROPAGATE;
return this._onTextPress(actor, event);
})
extension.js:327
clutterText.connect('cursor-changed', () => {
const key = `${clutterText.get_cursor_position()}:${clutterText.text.length}`;
if (key === this._lastCursorKey)
return;
this._lastCursorKey = key;
this._ensureCursorVisible();
extension.js:316
clutterText.connect('key-focus-in', () => {
this._onKeyFocusIn();
this._syncToolbar();
this._applyAttributes();
})
extension.js:321
clutterText.connect('key-focus-out', () => {
this._syncToolbar();
this._applyAttributes();
})
extension.js:334
clutterText.connect('key-press-event', this._onKeyPress.bind(this))
extension.js:337
clutterText.connect('notify::attributes', () => {
// The notification may arrive late; ignore our own list
const attrs = clutterText.get_attributes();
if (attrs?.to_string() === this._appliedAttributes)
return;
this._styleAttrib
extension.js:315
clutterText.connect('text-changed', () => this._onTextChanged())
extension.js:920
actor.connect('button-release-event', this._onGrabEnd.bind(this))
extension.js:919
actor.connect('motion-event', this._onGrabMotion.bind(this))
extension.js:1040
this.menu.connect('open-state-changed', (menu, open) => {
if (open)
this._rebuildNotesList();
})
EGO-L-004 warning
main loop sources should be removed in disable()
Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.
extension.js:696
this._applyId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this._applyId = 0;
this._applyAttributes();
return GLib.SOURCE_REMOVE;
})
extension.js:894
this._confirmTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, CONFIRM_TIMEOUT_MS, () => {
this._confirmButton.hide();
this._confirmTimeoutId = 0;
return GLib.SOURCE_REMOVE;
})
extension.js:583
this._normalizeId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this._normalizeId = 0;
this._normalize();
return GLib.SOURCE_REMOVE;
})
extension.js:542
this._toolbarId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this._toolbarId = 0;
if (this._grab)
return GLib.SOURCE_REMOVE;
this._toolbar.visible = this._entry.clutter_text.has_key_focus() ||
this._titleEntry.clutter_text
| Version | Status |
|---|---|
| 1 | Unreviewed |