Skip to content
Home » GNOME Plans for A New File Chooser Dialog

GNOME Plans for A New File Chooser Dialog

A new file chooser portal is under works for GNOME, which might replace the GTK file choose in the future.

Over the years, there has been a growing consensus among developers, designers, and community members about the need for a unified and consistent file chooser experience. Plans are underway to implement a native file chooser portal in GNOME Files (Nautilus), aiming to enhance platform consistency.

For those unfamiliar, the FileChooser portal is a crucial component of the GNOME desktop environment, enabling applications to access users’ files and directories. Currently, the GTK file chooser implementation serves as the foundation for the FileChooser portal. However, the Nautilus file manager has the potential to offer a more visually and behaviorally consistent experience due to its single codebase and the ability to leverage GNOME platform features like libadwaita and Nautilus-specific capabilities, such as starred files.

Until now, this concept has remained unrealized because Nautilus needed to be ported to GTK4 and undergo refactoring of its main view components. With the successful completion of these tasks during the 46 development cycle, the groundwork has been laid for the introduction of a file chooser mode.

As part of the Sovereign Tech Fund, the GNOME Foundation has sponsored the development of a Nautilus-based FileChooser portal implementation during the 47 development cycle. In a recent weekly update, the GNOME developers showed us the mock-up of the new file chooser dialog box. Here’s how they look.

If you compare this with the legacy file dialog, clearly the new ones look cool and well aligned with the GNOME Human Interface Guideline (HIG).

Behind the scene, the plan is to expose a NautilusFileChooserDialog widget class as part of a library to provide a drop-in replacement for the current GTK-based implementation. However, maintaining a library API can be burdensome. Therefore, the proposed solution is to integrate the portal implementation (executable, D-Bus method handling, and parenting) directly into the Nautilus codebase. This would allow for the creation of a nautilus.portal file and the modification of gnome-portals.conf to prioritize the Nautilus implementation. As a result, the xdg-desktop-portal-gnome project could potentially remove its FileChooser implementation, as the xdg-desktop-portal-gtk project already serves as a fallback.

As the planning phase progresses, the Nautilus team is actively seeking community input to ensure the best possible outcome. There is no merge request open yet as of first publishing, probably soon. Meanwhile, you can also provide your feedback on the discussion page.

Recent articles from

Notify of

Inline Feedbacks
View all comments