Nautilus and GTK+ 4

A couple weeks had passed, and the effort to make Nautilus buildable with GTK+ 4 had paid off – it builds (don’t mind the commit message, it’s about and runs!

Now, that alone doesn’t mean much, since Nautilus is nowhere near a usable state:

  • Some input event handlers rely on being able to chain up to the parent handler for certain things: the list view, in particular, on right clicks, to select the file before popping up a context menu for it. I don’t know of a way to achieve that yet, so the code is currently just commented out.
  • Support for XDS has been removed, as the implementation relied heavily on window properties, which have been removed. In particular, this should make DnD from file-roller to Nautilus useless (which doesn’t work in Wayland, either, AFAIR). Support for root window drops is gone as well, given that Nautilus does not handle the desktop.
  • Scrolling in canvas view broke completely and mouse rubberband selection is a tad wonky still, but only at the highest zoom level (at least it works great after moving it out to a drag gesture, despite breaking single-click selection, as the current selection is cleared at the beginning).
  • Header bar menus appear empty (not exactly a priority, although might be an easy win).
  • Canvas view item prelighting and selection coloring needs rethinking again and might end up looking differently. But, hey, at least the GtkSnapshot API is fun to use.

That’s all that comes to mind right now, but there’s still plenty to keep me busy.