Free-placement desktop icons with context menu. This extension accesses the system clipboard to support cut, copy, and paste of files between the desktop and other applications. Known limitation: cut/paste and drag&drop of files between the desktop and Nautilus (Files) are not fully supported yet.
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:1723
file.load_contents(null)
EGO-A-005 manual_review
extensions should not access the clipboard directly
Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.
extension.js:1133
St.Clipboard.get_default()
extension.js:1223
St.Clipboard.get_default()
extension.js:2465
St.Clipboard.get_default()
extension.js:2472
St.Clipboard.get_default()
extension.js:2479
St.Clipboard.get_default()
extension.js:2504
St.Clipboard.get_default()
extension.js:2510
St.Clipboard.get_default()
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-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.
extension.js:338
this.selectionBox = new St.Widget({
style: "background-color: rgba(53, 132, 228, 0.25); border: 1px solid #3584e4; border-radius: 2px;",
visible: false
})
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:50
this._thumbnailFactory = GnomeDesktop.DesktopThumbnailFactory.new(
GnomeDesktop.DesktopThumbnailSize.LARGE
)
extension.js:338
this.selectionBox = new St.Widget({
style: "background-color: rgba(53, 132, 228, 0.25); border: 1px solid #3584e4; border-radius: 2px;",
visible: false
})
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:155
box.connect('notify::hover', () => {
if (box.hover && !this._draggingAnyIcon && !this._activeRename) {
label.set_height(lineHeight * 3 + 4);
label.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
} else {
label.set_hei
extension.js:347
this.desktopLayer.connect('button-press-event', (actor, event) => {
let button = event.get_button();
if (button === 3) {
this._clearRightClickFocus();
this._showDesktopContextMenu(event);
return Clutter.EVENT_STOP;
extension.js:394
this.desktopLayer.connect('button-release-event', (actor, event) => {
if (this._isMarqueeSelecting && event.get_button() === 1) {
this._isMarqueeSelecting = false;
this.selectionBox.hide();
return Clutter.EVENT_STOP;
}
extension.js:379
this.desktopLayer.connect('motion-event', (actor, event) => {
if (this._isMarqueeSelecting) {
let [cx, cy] = event.get_coords();
let x = Math.min(this._marqueeStartX, cx);
let y = Math.min(this._marqueeStartY, cy);
l
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:1430
GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
try {
let monitor = Main.layoutManager.primaryMonitor;
let [pw, ph] = panel.get_size();
let x = monitor.x + Math.max(0, Math.floor((monitor.width - pw) / 2));
extension.js:1623
GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
try {
let monitor = Main.layoutManager.primaryMonitor;
let [pw, ph] = panel.get_size();
let x = monitor.x + Math.max(0, Math.floor((monitor.width - pw) / 2));
extension.js:2377
GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
selectRenameText();
renameSelectionFallbackId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 100, () => {
renameSelectionFallbackId = 0;
if (!userTouchedRenameEntry && !renameSelectionDone) {
extension.js:672
GLib.timeout_add(GLib.PRIORITY_DEFAULT, 50, () => {
dummySource.destroy();
return GLib.SOURCE_REMOVE;
})
Hello, I hope you are doing well. I submitted my “Desktop Icons” extension about a month ago and it is still marked as Unreviewed. I already have a new version ready, but I would like to know if there is any issue with the current submission so I can fix it immediately. If you need any changes or clarifications from me, please let me know. Thank you for your time and for the work you do for the GNOME community.