Review of "Gtk4 Desktop Icons NG (DING)" version 1

Details Page Preview

Gtk4-DING Libadwaita/Gtk4 port of Desktop Icons NG with multiple fixes and new features. Icons can be positioned anywhere on desktop or are snapped to a grid. Can make links on the Desktop. GSconnect Integration, can send files to connected devices. Drag and Drop support on to Dock, Dash, or from Dock, Dash to the Desktop. Updated and modified code base, uses Gio menus, all translations on Weblate. All functions are asynchronous where possible. It is ported to ESM modules, supports Gnome 45 and higher. Multiple fixes and new features- * For Gnome 47, change highlighting and rubber band selection colors with accent-colors in Gnome Settings. * Selection rectangle with rounded corners, similar to Gnome Files aesthetic. * The stock gnome shell background menu can now be shown from the Gtk4 DING desktop right click menu. All shell settings can be accessed from that menu. * Icons can be placed on any arbitrary position. Make a mess! - icons can overlap each other etc. Neat people can keep the default behavior and have the icons always snapped to a grid. Controlled in preferences, tweaks, 'Snap to grid'. Affects the shape of icons and drag and drop behavior as well. Free positioning has trapezoidal icons, drop only works with direct overlap. Grid positioning has rectangular icons, and drag and drop works on overlap with the grid holding the icon. This behavior is consistent with other desktop environments. * Icons on background on overview, improved gesture switching icons appear to be on all work spaces on the background with workspace switching, with no flashing. * Support for dragging icons onto the dock - Drag icons from desktop to and drop over application icon to open them with the app. Works with Dash to Dock and Dash to Panel. * Support for dragging icons from desktop directly to Trash on Dash to Dock, or to mounted volumes on the dock, to copy them directly. * Set the correct cursor with proposed action on drop on dock. * Drag Navigation on Dock - dragging an icon over the Gnome Files icon on the dock or mounted drives, and hovering over it for 1/2 seconds will open a Gnome Files Window. Behavior can be changed in preferences. * Drag Navigation - dragging an icon over a folder icon or a drive icon, and then hovering over it for one and half seconds will open that location in Gnome Files. * Sets correct hovering behavior during drag and drop on the Dock, enables scrolling in the dock to icons when they are hidden. * Drag and drop Favorite apps from Dash to Dock, Dash to Panel directly to Desktop. Pressing shift, ctr or alt while doing this will copy or move the app to Desktop, allowing launching from the desktop. Just dropping an app from the dock to the desktop will remove from Dash/Dock. * Follows xdg-terminal-exec to display the correct terminal in right click menus, and will launch the correct terminal, even if xdg-terminal-exec is not installed. * Shows the correct file manager in the right click menu and give the user the option to change the file manager. * Gio menus, menus display all keyboard shortcuts. * Uses Gtk4 AlertDialog, uses asynchronous promises for dialog's, shows button to launch URL for help and troubleshooting information. * Automatically zip Folders if mailing them. * Tool tips are now positioned correctly to not go under the dash or make it auto hide, or go over/under any gnome shell actors on the edge of the screen. * Right Click Menus will not go under the dock. * Make Links on Desktop with Alt button on Wayland. Shift, Ctr or Alt button control the effect, move, copy, drop or link. (Linking may not work on X11) * Copied/dropped/pasted files retain dropped position. Undo action after trashing or moving files puts icons back in the old position. * Better multi monitor support, preference to place icons on non primary monitor. * GSconnect extension integration, can send files from desktop directly to connected mobile device. * Accessibility support with screen readers * Deals correctly with appimage files on desktop. * Display GIMP thumbnails, even for snap and flatpack installs. Please see Readme for full details of new features. Works best on Wayland. However your mileage may vary on X11. Multiple bugs fixed on X11. Please report all issues on the Gitlab link below, this page is not monitored. All known issues as well as all the features are detailed there.

Extension Homepage
https://gitlab.com/smedius/desktop-icons-ng

No comments.

FAQ

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

All Versions

Version Status
86 (89) Active
85 (88) Active
84 (87) Active
83 (86) Active
82 (85) Active
81 (84) Inactive
80 (83) Active
79 (82) Active
78 (81) Active
77 (80) Active
76 (79) Active
75 (78) Inactive
74 (77) Inactive
74 (76) Inactive
74 (75) Rejected
74 (74) Rejected
73 (73) Active
72 (72) Active
71 (71) Active
70 (70) Active
69 (69) Active
68 Active
67 Active
66 Active
65 Rejected
64 Rejected
63 Active
62 Active
61 Active
60 Active
59 Active
58 Inactive
57 Active
56 Active
55 Active
54 Active
53 Rejected
52 Rejected
51 Rejected
50 Rejected
49 Active
48 Rejected
47 Active
46 Active
45 Active
44 Rejected
43 Active
42 Active
41 Active
40 Active
39 Active
38 Active
37 Active
36 Active
35 Active
34 Active
33 Active
32 Active
31 Active
30 Active
29 Rejected
28 Active
27 Active
26 Active
25 Active
24 Active
23 Active
22 Active
21 Active
20 Active
19 Rejected
18 Active
17 Active
16 Active
15 Active
14 Active
13 Active
12 Active
11 Active
10 Active
9 Active
8 Active
7 Active
6 Active
5 Active
4 Rejected
3 Active
2 Active
1 Rejected

Previous Reviews on this Version

JustPerfection waiting for author
What's the reason for `session-modes`? https://gjs.guide/extensions/review-guidelines/review-guidelines.html#session-modes And why are you creating another extension just for porting prefs to gtk4?
smedius posted a review
Not just another extension. The entire program is ported to Gtk4. It also has a lot of new features. The entire codebase has been cleaned with Eslint using GJS/Gnome guidelines. There are a lot of fixes. There Is a lot of code optimizations. I believe there are about 6000 lines changed. It is not only the prefs that are ported. An entire extensive list of new features and fixes is in the README.md file in the source code on gitlab. As gnome 42 and higher transitions to gtk4, this keeps up with it. Regarding the session mode, with gnome 42 the extension and the desktop program is not killed when the screen locks, so when the user logs back from the Lock Screen, the desktop is running and already rendered without having to restart it. Keep in mind that is different from the gdm user mode so the extension is killed and the associated desktop program is killed when the user actually logs out. Sundeep Mediratta
JustPerfection rejected
1. Remove the timeouts in disable or destroy: - `_removeTimer` should be called in `progressDialog._destroy` (line 363 autoAr.js): - line 325 and 220 dbusUtils.js - line 212 and 1128 desktopManager.js - line 42 fileItemMenu.js - line 147 thumbnails.js https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources 2. You should remove all the `waitDelayMs` timeouts in disable (desktopIconsUtil.js). 3. You should add a comment to the disable function for session modes: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#session-modes 4. You cannot create objects in global scope and leave it there after prefs's window close (line 35-39 preferences.js). 5. Use `ExtensionUtils.getSettings()` instead of creating your own custom function (line 78 preferences.js) 6. You shouldn't specify the version for prefs (line 20 preferences.js). 7. I see some files importing gtk and gdk 4. Are those files getting used in GNOME Shell? or separate app? If you need any help with your extension you can ask us on: - [GNOME Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions