GNOME Files
GNOME Files is the default file manager for the GNOME desktop environment, offering a simple and integrated way to manage files, folders, and browse the file system both locally and on networks.[1] Also known internally by its historical name Nautilus, it supports reading and writing to removable media, running scripts, launching applications, and provides multiple viewing modes including icon grid, icon list, and tree list.[1] The application is extensible through plugins and scripts, making it adaptable for advanced file management needs.[2] Originally developed by Eazel with initial involvement beginning in 2000, Nautilus was first released in 2001 and became the default file manager for GNOME starting with version 1.4.[3] Following Eazel's closure, the GNOME community took over maintenance, evolving the codebase through numerous releases tied to GNOME's six-month cycle.[3] In 2012, with the release of GNOME 3.6, the application was renamed to "Files" to provide more intuitive, descriptive names in various supported languages, aligning with GNOME's user-friendly design philosophy.[3] As of November 2025, the latest stable version of GNOME Files is 49.1, incorporating recent improvements such as enhanced search capabilities with better contextual information on performance.[4][5] It remains a core component of GNOME, emphasizing security features like sandboxing via Bubblewrap and integration with tools for local search and user directories.[2]Introduction
Overview
GNOME Files, also known as Nautilus, serves as the official file manager for the GNOME desktop environment. It is a graphical application designed to provide users with an intuitive interface for interacting with files and directories. Developed primarily in the C programming language and utilizing the GTK toolkit, GNOME Files has been the default file manager since the early days of GNOME, evolving to meet modern desktop needs.[1] As free and open-source software, GNOME Files is distributed under the GNU General Public License version 2 or later (GPL-2.0-or-later), ensuring that its source code is freely available for modification and redistribution.[6] Its core purpose revolves around enabling users to browse, organize, and manipulate files and folders across local storage, network shares, and removable media. This includes operations such as copying, moving, deleting, and renaming items, all within a user-friendly framework that abstracts underlying file system complexities.[1] GNOME Files integrates seamlessly with the GNOME Shell, the desktop's primary interface, to deliver a cohesive experience that supports features like drag-and-drop functionality between applications and breadcrumb navigation for quick file access. This tight coupling enhances productivity by aligning file management with broader desktop workflows, such as desktop icon handling and application launching. As of November 2025, the current stable version is 49.1, released on October 16, 2025, incorporating refinements to performance and user interface elements from the broader GNOME 49 series.[1][7]Development and Naming
GNOME Files, originally developed as Nautilus, traces its origins to 1999 when it was created by Eazel Inc., a startup founded by Andy Hertzfeld, as a key component of the early GNOME desktop ecosystem.[8] Eazel aimed to build innovative tools for Linux, with Nautilus designed as an intuitive file manager leveraging the GNOME virtual file system (GnomeVFS).[9] In 2001, Eazel was acquired by Ximian, which continued Nautilus development and integrated it more deeply into GNOME distributions.[9] Ximian itself was purchased by Novell in 2003, shifting maintenance to corporate sponsorship while maintaining open-source contributions to the project.[10] Following Novell's acquisition by Attachmate in 2011, corporate involvement waned, and Nautilus transitioned to fully community-driven development under the GNOME Foundation.[8] The application underwent a significant rebranding in September 2012 with GNOME 3.6, when its display name changed from Nautilus to Files to adopt a more descriptive and language-agnostic identifier, such as "Files" in English or equivalents like "Archivos" in Spanish.[11] This renaming aligned with GNOME's broader initiative to use straightforward, translatable terms for applications, improving accessibility across languages.[12] Despite the user-facing change, the internal codename "Nautilus" persists in the source code and certain distributions.[2] Today, Files is maintained by the GNOME team through its GitLab repository, with ongoing contributions from volunteers and organizations such as Endless OS, which has supported enhancements like improved file handling and integration features.[2][13]History
Origins and Early Development
GNOME Files, originally known as Nautilus, was conceived in 1999 by Eazel, a startup founded in fall 1999 by former Apple engineers Andy Hertzfeld, Mike Boich, Susan Kare, and Guy Tribble, with the goal of creating an intuitive graphical file manager for the GNOME desktop environment.[14] The project drew its name from the nautilus mollusk, evoking the idea of a protective shell for file management operations, much like an operating system shell.[3] Eazel aimed to build a user-friendly interface that would simplify file handling on Linux, leveraging the growing open-source ecosystem to compete with proprietary desktops. Initial development began with early commits tracing back to 1997, but Eazel's involvement accelerated progress starting in late 1999, focusing on innovative features to enhance accessibility and integration within GNOME.[3] The first public release, Nautilus 1.0, occurred on March 13, 2001, aligning closely with the launch of GNOME 1.4 and marking a significant milestone for the desktop environment.[15] To promote extensibility and seamless integration with other GNOME applications, Nautilus early on adopted the Bonobo component framework, enabling modular development and the embedding of components like viewers and editors directly within the file manager.[16] These elements positioned Nautilus as a forward-thinking tool, emphasizing ease of use over traditional browser-style navigation. Development faced substantial challenges when Eazel shut down in May 2001, shortly after the Nautilus 1.0 release, laying off most of its staff and leaving the project without its primary commercial backing.[17] In response, the open-source community rapidly assumed responsibility, ensuring continued maintenance and evolution under the GNOME umbrella, which solidified Nautilus's role as the default file manager.[3] This transition highlighted the resilience of collaborative software development in sustaining innovative projects amid corporate instability.Evolution and Key Milestones
GNOME Files, originally known as Nautilus, underwent a significant port to GTK+ 2.0 with the release of version 2.0 in 2002, enabling better integration with the GNOME 2 platform and introducing major performance improvements alongside user interface adjustments to align with new standards.[18] In version 2.4, released in 2005, it adopted the ~/Desktop directory standard as defined by the freedesktop.org XDG Base Directory Specification, promoting cross-desktop compatibility for user data locations. This period marked an early focus on standardization and efficiency in file management. A notable shift occurred with the introduction of a spatial interface in version 2.6, part of GNOME 2.6 released in 2005, which emphasized an object-oriented approach with dedicated windows for folders to enhance intuitive navigation.[19] However, due to mixed user reception and feedback highlighting usability challenges, GNOME Files reverted to a browser-style single-window mode by default in version 2.30, released in 2010 as part of GNOME 2.30, while retaining optional spatial behavior.[20] The GNOME 3.0 release in 2011 brought a comprehensive overhaul with the transition to GTK+ 3.0, incorporating enhanced multi-monitor support and smooth animations to improve the overall desktop experience.[21] Version 3.6, released in 2012 alongside GNOME 3.6, introduced controversial changes including the removal of desktop icon handling and certain sidebar panels, which streamlined the application but led to community backlash and the creation of forks such as Caja for the MATE desktop and Nemo for Linux Mint's Cinnamon environment. Alongside these changes, the application was renamed from Nautilus to "Files" to provide more descriptive names in supported languages, aligning with GNOME's human interface guidelines.[3][22] Subsequent updates addressed integration needs, with version 3.18 in 2015 adding native Google Drive support via GNOME Online Accounts for seamless cloud file access.[23] Version 3.22, released in 2016, further expanded capabilities with batch file renaming tools that support metadata-based patterns and native handling of archive creation and extraction, reducing reliance on external applications.[24] In recent years, GNOME Files has emphasized search enhancements and performance. Version 46, released in March 2024, introduced global search functionality, allowing users to query files across configured locations directly from the sidebar search button or via Ctrl+Shift+F.[25] Point releases like 47.5 in June 2025 focused on performance optimizations, including faster file operations and reduced resource usage during navigation. The major GNOME 49 release in September 2025 added visual cues such as transparency for hidden files and a new Ctrl + . shortcut for quick renaming, alongside adaptive dialog resizing.[5] Further refinements in version 49.1, released in October 2025, delivered additional performance optimizations, such as incremental loading in certain directories and improved thumbnailing speed.User Interface
Navigation and Views
GNOME Files provides two main view modes to suit different user preferences for visualizing and interacting with files and directories: Icon view and List view. As of GNOME 49, the Icon view includes zoom levels that allow a compact layout resembling small icons with labels for space-efficient navigation.[26][27] Icon view arranges files and folders in a grid-based layout featuring thumbnails for quick visual recognition, with adjustable zoom from small (compact) to large icons.[26] List view organizes items into sortable columns, displaying metadata such as name, size, type, and modification date, with users able to click headers for ascending or descending order.[26] Navigation in GNOME Files relies on several integrated elements for efficient directory traversal. The breadcrumb bar at the top displays the current path as clickable segments, enabling users to jump to parent or sibling directories directly.[28] A persistent sidebar on the left panel lists bookmarks, connected devices, network locations, and system folders like Recent and Trash, with users able to add items by dragging folders or using Ctrl+D.[29] Search integration, redesigned as a popover in GNOME 49 for easier file finding, appears when activated via the search icon or Ctrl+F, allowing inline filtering of visible items within the active view.[30][5] Keyboard shortcuts streamline movement and selection; Ctrl+L activates the location entry for typing paths, Alt+Up navigates to the parent directory, and arrow keys select or expand items in the current view. A new shortcut, Ctrl+., opens the current directory in a console as of GNOME 49.[31][5] GNOME Files supports multi-monitor configurations through GNOME Shell's native handling, permitting windows to span or reside on secondary displays, with integration into the overview for dragging, tiling, and workspace assignment across screens.[32] For accessibility, high-contrast themes enhance visibility of navigation elements like the sidebar and breadcrumb bar, while compatibility with the Orca screen reader enables full keyboard navigation and auditory feedback for selections and path announcements.[33]Previews and Thumbnails
GNOME Files employs a thumbnailer system to generate visual representations of files, primarily leveraging the GnomeDesktopThumbnailFactory from the libgnome-desktop library, which integrates with GTK's GdkPixbuf for rendering images, videos, and documents.[34][35] This system matches file MIME types to external thumbnailers defined in .thumbnailer files located in /usr/share/thumbnailers, such as evince-thumbnailer for PDFs or ffmpegthumbnailer for videos; if no suitable thumbnailer is available or it fails, it falls back to GdkPixbuf for direct generation from file data.[34] Thumbnails are scaled to standard sizes, with normal at 128×128 pixels and large at 256×256 pixels, ensuring efficient display in various views. Thumbnail generation is faster as of GNOME 49 due to performance optimizations.[34][5] For previews, GNOME Files displays overlays in the icon view or preview pane, showing representative content such as video frames extracted by thumbnailers, audio cover art or generic icons (with optional custom waveform generation via extensions), and the first few lines of text files when the "Show text in icons" option is enabled.[36][37] These previews aid quick identification without opening files, and they appear in icon or list views alongside file names. Hidden files are indicated with transparency as of GNOME 49.[36][5] Thumbnails are cached in $XDG_CACHE_HOME/thumbnails (typically ~/.cache/thumbnails), organized into subdirectories like normal and large based on size, with filenames derived from an MD5 hash of the file URI for uniqueness.[34][38] Each cached PNG includes metadata such as the original URI and modification time in tEXt chunks, enabling automatic regeneration if the file changes to maintain accuracy and improve subsequent load times.[34] Failed thumbnail attempts are tracked in a fail subdirectory to avoid repeated processing.[34] Users can customize thumbnail sizes through view zoom controls in the icon view, ranging from small to large icons, and adjust generation preferences via the Search & Preview tab, including options for never showing thumbnails, local files only (default), or all files, with a file size limit (default 10 MB) to balance performance.[36] Disabling thumbnails entirely is recommended for low-resource systems to reduce CPU and disk usage during folder browsing.[36] For remote files on network shares, thumbnails are generated on-demand when viewed, but this can be slower due to latency; the system uses fallback generic icons for unsupported formats or when generation is disabled for remote locations to ensure usability.[36][39]Core Functionality
File System Abstraction
GNOME Files, also known as Nautilus, relies on GVfs (GNOME Virtual File System) to provide a unified abstraction layer for accessing diverse storage types, integrating seamlessly with the GIO library's I/O abstractions in GLib.[40] GVfs operates as a userspace virtual filesystem, enabling applications like Nautilus to treat local and remote resources uniformly without direct kernel dependencies for virtual mounts.[40] This abstraction supports local filesystems such as ext4 and NTFS through GIO's kernel-backed interfaces, while remote protocols including FTP, SMB, SFTP, and WebDAV are handled via dedicated GVfs backends that translate operations into protocol-specific requests.[40] For instance, users can navigate to remote locations by entering URIs likeftp:// or smb:// in Nautilus, with GVfs managing the underlying connections.[40]
Mount management in GVfs facilitates automatic detection and mounting of removable media, such as USB drives, upon insertion, leveraging integration with udisks for hardware events.[41] User-initiated mounts for network locations are prompted through Nautilus's "Connect to Server" dialog, creating temporary GVfs mounts accessible as local-like directories.[12]
Permission handling adheres to Unix standards, with GVfs enforcing user/group/other access controls via GIO for local files and backend-specific authentication for remotes.[40] Root access integration uses PolicyKit for sudo-style authentication, allowing elevated operations like editing system files by navigating to admin:/// URIs in Nautilus, which prompts for credentials without running the entire application as root.[42][43]
GVfs supports standard Unix features like symbolic links, which Nautilus displays and resolves transparently through GFile operations.[44] Hidden files, prefixed with a dot (.), are concealed by default but can be toggled visible using the Ctrl+H keyboard shortcut in Nautilus views.[1] Trash integration moves deleted files to ~/.local/share/Trash for local storage or volume-specific trash directories, accessible via the dedicated "Trash" location in Nautilus.[40]
For performance, GVfs leverages GIO's asynchronous I/O APIs, enabling non-blocking file operations that prevent UI freezes during access to large directories.[44] Lazy loading of file lists in Nautilus defers full directory enumeration until scrolling or expansion, optimizing responsiveness for expansive or slow backends.[44]
Search and Indexing
GNOME Files integrates with Tracker3, GNOME's semantic search and indexing framework, to enable full-text searching of file contents, metadata, and user-assigned tags across local file systems. This integration, initially ported to Tracker3 in GNOME 3.38 and refined in subsequent releases including GNOME 40, allows the file manager to query indexed data efficiently without relying solely on file names. Tracker3 stores this information in a local database, supporting advanced retrieval of documents, images, and other media based on embedded text or properties.[45] Introduced in GNOME 46 in March 2024, the global search feature permits users to perform desktop-wide queries from within GNOME Files, scanning all configured locations simultaneously for files, folders, and content. Activated via the sidebar search button or the Ctrl+Shift+F shortcut, it leverages Tracker3's index for rapid results while incorporating graphical filters for refinement. Users can refine searches using graphical filters in the sidebar for criteria such as file type, modification date (e.g., today, last week), and size, enhancing precision without needing separate tools.[25] The indexing process operates through Tracker Miner FS, a background daemon that scans files during system idle periods to minimize resource impact. It prioritizes the home directory and user-selected locations, configurable via GNOME Settings > Search, where privacy options allow exclusion of sensitive folders like Downloads or Trash to prevent unwanted indexing. This setup ensures data remains local and private, with no external transmission. For unindexed areas, such as newly added local directories or remote mounts via GVfs, GNOME Files automatically falls back to recursive directory traversal, performing on-the-fly searches that may be slower but ensure comprehensive coverage. This hybrid approach balances speed for indexed content with reliability across diverse storage types.[46]File Operations
Basic Management Tasks
GNOME Files provides core file operations such as copying, moving, and deleting through intuitive interface elements, including keyboard shortcuts, menu options, and drag-and-drop interactions. To copy or move files and folders, users can select items and use the Edit menu's Copy (Ctrl+C) or Cut (Ctrl+X) commands, followed by Paste (Ctrl+V) in the destination folder; alternatively, dragging items between folders performs the operation, with moves occurring within the same filesystem and copies to different ones by default. These actions support multiple selected items and display a circular progress indicator in the window's header bar during execution and a new icon for completed operations as of GNOME 49, which users can click to view detailed operation status without blocking the interface.[47][5][48] Deleting files or folders sends them to the Trash by default via the Delete key, right-click context menu, or dragging to the Trash icon in the sidebar, allowing for easy recovery; pressing Shift+Delete enables permanent deletion with a confirmation prompt, bypassing the Trash entirely. Restoring items from the Trash involves navigating to the Trash folder in the sidebar, selecting the desired files or folders, and clicking the Restore button to return them to their original locations. Undo functionality is available immediately after certain actions, such as deletion to Trash or renaming, via Ctrl+Z or the Edit > Undo menu option, though permanent deletions lack this support. A new shortcut, Ctrl + ., opens a terminal in the current folder as of GNOME 49.[49][50][51][5] File and folder selection supports multiple items through Ctrl+click for non-contiguous choices or Shift+click for contiguous ranges, with rubber-band selection (dragging a rectangle around items) available in icon and compact views to handle large batches efficiently without UI freezes, as operations run asynchronously. Creating a new folder is accomplished via the right-click context menu's New Folder option or the keyboard shortcut Ctrl+Shift+N, prompting for a name in the current directory. Renaming a single selected item occurs by right-clicking and choosing Rename or pressing F2, allowing inline editing of the name while preserving extensions unless modified; duplicate names are prevented within the same folder.[52] Viewing properties, including file size, permissions, modification dates, and metadata like MIME type, is accessed by right-clicking an item and selecting Properties or pressing Alt+Enter, opening a dialog with tabs for basic info, permissions, and application associations. Drag-and-drop reorganization integrates seamlessly across windows or within the same view, with automatic detection of copy versus move based on destination; conflicts, such as existing files, trigger a dialog offering options to overwrite, skip, or cancel, applicable to all files if chosen. GNOME Files' right-click context menus further integrate with the desktop environment, providing "Open With" for launching files in specific applications and "Move to" or "Copy to" for quick relocation to predefined locations such as bookmarked folders, Desktop, Documents, or Trash.[53][54][55]Batch Renaming
Batch renaming in GNOME Files, also known as Nautilus, allows users to apply consistent naming patterns to multiple selected files simultaneously, streamlining the organization of file collections such as photos, music, or documents.[56] This feature was introduced in GNOME 3.22 in September 2016, enabling operations that previously required external tools or command-line scripts.[56] To initiate batch renaming, users select one or more files in the file manager view and access the dialog by right-clicking the selection and choosing "Rename…" from the context menu, or by pressing the F2 key—a shortcut that also applies to single-file renaming for consistency.[57] The batch rename dialog presents an adaptive interface that adjusts its layout based on the number of selected files and available screen space, a refinement introduced in GNOME 49 in September 2025 to improve usability on varied devices.[58] Central to the dialog is a preview pane displaying side-by-side "before" and "after" views of each filename, allowing users to verify changes before applying them and reducing the risk of errors.[57] GNOME Files supports two primary renaming modes: template-based formatting and text replacement. In template mode, users construct new names using placeholders that insert dynamic elements, such as sequential numbering (e.g., transforming "photo.jpg", "image.jpg" into "file-001.jpg", "file-002.jpg" with zero-padding options for up to three digits) or metadata like creation date (e.g., "2025-11-11-photo.jpg").[57][59] Available placeholders include tags for the original filename, numbered index (e.g., [60], , ), and file-specific details such as track number, artist name, or episode number for media files, which are inserted via an "Add" menu to build patterns like "Track-[number]-Artist-[artist].mp3".[59] The text replacement mode enables finding and substituting specific strings across all selected filenames, supporting operations like bulk removal of prefixes or standardization (e.g., replacing "IMG_" with "Image_"), while preserving file extensions unless explicitly modified.[57] For safety, the dialog requires explicit confirmation before executing renames, and changes are reversible immediately after application through the "Undo Rename" menu option or the Ctrl+Z keyboard shortcut, ensuring users can correct mistakes without data loss.[57] While advanced pattern matching like full regular expressions is not natively supported, the combination of placeholders and replacement provides flexible options for common batch scenarios, with file extensions automatically retained to maintain compatibility.[61]Specialized Features
Archive Handling
GNOME Files introduced native support for archive handling in version 3.22, released in 2016, allowing users to create and extract compressed archives directly within the file manager without relying on external applications like File Roller.[24] This integration is powered by gnome-autoar, a GLib wrapper around the libarchive library, which enables seamless operations on various archive formats including ZIP, TAR, GZIP, BZIP2, XZ, 7z, and read-only support for RAR files.[62][63][64] Users can initiate archive operations through context menu options, such as right-clicking files or folders to select "Compress" for creating archives or "Extract Here" to unpack contents to the current directory, with an additional "Extract to..." dialog for specifying custom locations.[24] For encrypted archives, GNOME Files prompts for passwords during extraction, supporting protected ZIP and other compatible formats, though some limitations exist for certain encryption types like 7z.[64] Double-clicking an archive mounts it as a virtual folder via GVfs, permitting users to browse and interact with contents without full extraction.[24] Progress is displayed through a dedicated dialog during compression or extraction, and error handling includes notifications for corrupted files or failed operations, such as CRC errors detected by libarchive.[65] Customization options are available through GNOME settings, where users can configure the default compression format (e.g., ZIP or TAR.GZ) via the dconf editor under org.gnome.nautilus.preferences, influencing the behavior of the "Compress" action.[66] These features treat archives as abstracted file system elements, enhancing workflow efficiency while leveraging libarchive's robust format detection and processing capabilities.[64]MIME Type Support
GNOME Files relies on the shared MIME-info database to identify file types accurately, following the freedesktop.org specification for consistent detection across desktop environments. This database compiles MIME type definitions from XML files in /usr/share/mime/packages/, enabling fast lookups via a binary cache generated by update-mime-database. Detection begins with file extensions matched against glob patterns, such as *.png for image/png, providing a quick initial classification. For reliability, especially with ambiguous or missing extensions, the system performs content analysis using magic byte patterns—unique signatures at specific offsets within the file—to pinpoint the MIME type. Content sniffing further refines this by examining file headers and patterns, prioritizing the magic-based result if it matches or subclasses the glob-derived type. The shared-mime-info database supports over 1,000 MIME types, encompassing traditional formats like text/plain and evolving ones such as image/webp for WebP images and image/avif for AVIF images, provided relevant libraries like libwebp and libavif are installed. Upon identification, the MIME type drives default actions in GNOME Files, including icon assignment from the database's generic-icon or type-icon fields, which fallback to emblematic representations if specific icons are unavailable.[67] Preview handlers are invoked based on the type, delegating to specialized components for rendering; for instance, image/* MIME types engage scaling mechanisms to generate suitable previews. The "Open with" context menu populates dynamically from .desktop files in /usr/share/applications/ and ~/.local/share/applications/, filtering those whose MimeType= field includes the file's MIME type to offer relevant application choices. Default opening uses the primary association defined in system-wide /usr/share/applications/mimeapps.list or user-specific overrides.[67] Users customize MIME associations via GNOME Settings > Default Applications, where selections per type (e.g., video/* to a preferred player) update the ~/.config/mimeapps.list file under [Default Applications] and [Added Associations] sections.[68] This per-type configuration allows overriding system defaults without modifying global files, ensuring personalized behavior while maintaining compatibility.[68] Thumbnail integration leverages MIME types through .thumbnailer desktop files, which declare supported MimeType= lists; GNOME Files selects the appropriate handler, such as one for image/* to produce scaled representations, enhancing visual navigation.Integrations
Network and Cloud Access
GNOME Files provides built-in support for connecting to remote servers and network shares through the GVfs virtual file system backend, enabling seamless access to distributed resources as if they were local directories. Supported protocols include SMB/CIFS for accessing Windows file shares, FTP and SFTP for server-based transfers, and WebDAV (including secure DAVS over HTTPS) for web-hosted storage.[69] For cloud storage, GNOME Online Accounts enables integration with multiple services that mount directly in GNOME Files, using OAuth 2.0 authentication. Google Drive support was introduced in version 3.18 (September 2015), allowing read-write access to files, with modifications syncing upon saving in compatible applications (requires enabling third-party access in Google account settings).[70] Other supported services include Microsoft 365 (for OneDrive access) and Nextcloud, providing similar mounting and access capabilities, though full functionality requires an active internet connection.[71] Remote connections are managed through the sidebar, where users can bookmark frequently accessed network locations or mounted shares for quick navigation; once connected, these appear alongside local volumes and can be renamed or reordered as needed.[72] GVfs implements performance-oriented caching for metadata and directory listings of recently accessed remote locations to reduce latency on repeated visits, but does not support full offline file editing for most protocols.[73] Upon reconnection after a network interruption, any pending operations are retried, with basic conflict detection for overwritten files during writes.[74] Security features emphasize encrypted protocols where available, such as SFTP over SSH and DAVS with TLS, to protect data in transit. Credentials for these connections are securely stored in the GNOME Keyring, an encrypted daemon unlocked at login using the user's session password, preventing plaintext exposure.[75]Extensions and Customization
GNOME Files supports extensibility through the Nautilus Extension API, which allows developers to add custom functionality using C or Python bindings. As of GNOME 49 (September 2025), the API remains available but requires updates for compatibility, such as adapting to GObject-Introspection 4.1; some older extensions may be incompatible without modification.[76] The API provides interfaces for menu providers, info providers, column providers, and properties model providers, enabling additions like custom context menu items or file information displays. Extensions written in C use the libnautilus-extension library, while Python extensions leverage the nautilus-python package for easier scripting. These extensions are typically installed via system package managers or built from source, with some available through distribution repositories accessible via GNOME Software.[77][78] Popular extensions enhance user workflows, such as Actions-for-Nautilus, which adds configurable actions to the right-click context menu for tasks like file encoding or compression. Another example is Nautilus-Compare, which integrates file comparison tools like Meld directly from the menu for selected files or folders. For file previews, extensions like nautilus-gtkhash provide thumbnail previews with embedded checksums for security verification, extending built-in support to more formats via additional libraries.[79][80][81] Theming in GNOME Files follows GTK conventions, with the default Adwaita theme dictating icons, colors, and layouts; users can apply alternative GTK themes system-wide for visual customization. Advanced theming allows CSS overrides for specific elements, such as icons or sidebars, through user configuration files in~/.config/gtk-4.0/gtk.css. Custom folder icons were made more accessible in GNOME 46 (released March 2024), allowing users to set theme-aware icons via the right-click menu without third-party tools.[25]
The preferences dialog, accessible via the menu button > Preferences, offers options for personalization including sidebar layout (e.g., showing bookmarks, devices, or networks), thumbnail size (small, normal, or large), search depth (local only or including online services), and toggling hidden file display. These settings apply globally or per-folder, balancing usability and performance.[82][26]
Community resources include the official GitLab repository for submitting patches and merge requests, as well as the GNOME Discourse forums for discussing user scripts and extension ideas. Custom scripts can be added to ~/.local/share/[nautilus](/page/Nautilus)/scripts for quick context menu execution, fostering ongoing contributions.[2][83][12]