Nautilus Python Extensions

:spiral_shell: Nautilus Python Extensions

A collection of productivity-focused Python extensions for Nautilus (GNOME Files), adding powerful tools directly into the right-click context menu.


:rocket: Quick install via PPA (Ubuntu / Zorin OS / Mint)

The easiest way โ€” packages are signed, auto-updated through apt, and properly handle dependencies.

sudo add-apt-repository ppa:nourpon/nautilus-extensions
sudo apt update

# Install everything at once
sudo apt install \
  nautilus-dual-panel \
  nautilus-extensions-manager \
  nautilus-archive-browser \
  nautilus-extract-here \
  nautilus-annotate-image \
  nautilus-compress-pdf \
  nautilus-merge-pdf \
  nautilus-watermark-pdf \
  nautilus-preview-panel \
  nautilus-deb-installer \
  nautilus-search-content \
  nautilus-video-to-audio \
  nautilus-duration-column \
  nautilus-cut-dim \
  nautilus-edit-gedit \
  nautilus-folder-color-revival \
  nautilus-hidden-dim-icon
  # (or nautilus-hidden-dim-all instead of -icon)

# Extensions activate at next login โ€” or run this now to enable them immediately:
nautilus-extensions-tof-link

# Restart Nautilus
nautilus -q

:light_bulb: You can also install individual packages โ€” apt will pull only what each one needs.


:package: Extensions

Extension Package Description
:card_index_dividers: Dual Panel nautilus-dual-panel Double-pane file manager inside Nautilus
:gear: Extensions Manager nautilus-extensions-manager Enable/disable extensions on the fly
:clamp: Archive Browser nautilus-archive-browser Browse, extract and create archives
:package: Extract Here nautilus-extract-here Fast extraction (7z, rar, zipโ€ฆ) with multi-volume & password
:artist_palette: Annotate Image nautilus-annotate-image Full-featured PNG annotation editor
:clamp: Compress PDF nautilus-compress-pdf PDF compression via Ghostscript
:link: Merge PDF nautilus-merge-pdf Merge multiple PDFs into one
:locked_with_pen: Watermark PDF nautilus-watermark-pdf Secure watermarking with flattening
:magnifying_glass_tilted_left: Preview Panel nautilus-preview-panel Dynamic file preview panel
:package: Deb Installer nautilus-deb-installer Visual .deb installer with real-time output
:magnifying_glass_tilted_right: Search & Replace nautilus-search-content Real text search & replace using grep/ripgrep
:musical_note: Video to Audio nautilus-video-to-audio Extract audio from videos (MP3, M4A, OGG, OPUS, FLAC, WAV)
:stopwatch: Duration Column nautilus-duration-column Duration column for audio/video files
:scissors: Cut Item Dimmer nautilus-cut-dim Visual dimming of cut (Ctrl+X) files
:pencil: Edit with Gedit nautilus-edit-gedit Open text files directly in Gedit
:file_folder: Folder Color Revival nautilus-folder-color-revival Color & emblem tagging for folders
:eye: Hidden Dim (icon) nautilus-hidden-dim-icon Dim only the icon of hidden files
:eye: Hidden Dim (all) nautilus-hidden-dim-all Dim icon + label of hidden files
:wrench: Common nautilus-extensions-tof-common Shared linker script (installed automatically)

:globe_showing_europe_africa: All extensions support French :france: ยท English :united_kingdom: ยท German :germany:.


:gear: Manual installation (advanced)

If you prefer not to use the PPA, you can install extensions manually:

Prerequisites

sudo apt install \ python3-nautilus \ python3-gi \ gir1.2-gtk-4.0 \ gir1.2-adw-1 \ gir1.2-nautilus-4.0 \ ghostscript \ ffmpeg \ python3-pypdf \ python3-cairo \ p7zip-full \ unrar \ poppler-utils

Install

git clone GitHub - ToFpon/Nautilus-Extensions: Nautilus Extensions ยท GitHub cd Nautilus-Extensions mkdir -p ~/.local/share/nautilus-python/extensions/ cp *.py ~/.local/share/nautilus-python/extensions/ rm -rf ~/.local/share/nautilus-python/extensions/pycache nautilus -q


:building_construction: Architecture (PPA version)

All packages install scripts into a dedicated namespace:

/usr/share/nautilus-extensions-tof/          โ† system install (PPA)
โ”œโ”€โ”€ dual-panel.py
โ”œโ”€โ”€ archive-browser.py
โ”œโ”€โ”€ extract-here.py
โ””โ”€โ”€ ...

~/.local/share/nautilus-python/extensions/   โ† per-user (auto symlinks)
โ”œโ”€โ”€ dual-panel.py โ†’ /usr/share/nautilus-extensions-tof/dual-panel.py
โ””โ”€โ”€ ...

The shared nautilus-extensions-tof-common package handles symlink creation for every user at session start via xdg-autostart. This way the Extensions Manager can detect and toggle extensions per-user, while keeping system installation clean and shared.

If an extension is disabled (moved to ~/.local/share/nautilus-python/extensions/disabled/ by the manager), the link will not be recreated at next login โ€” your preference is respected.


:glowing_star: Featured: Dual Panel

A complete dual-pane file manager living inside Nautilus, launched with F3 or via the right-click context menu.

Views (independent per panel):

  • :clipboard: List view โ€” Name ยท Size ยท Modified columns with sortable header
  • โŠž Grid view โ€” Large icons (48px) with filename, toggle button in toolbar

Smart integrations (auto-detected):

  • :package: Extract Here button + context menu โ€” appears only if nautilus-extract-here is installed AND all selected files are archives
  • :musical_note: Video to Audio button + context menu โ€” appears only if nautilus-video-to-audio is installed AND all selected files are videos
  • :ghost: Hidden file dimming โ€” auto-applied if nautilus-hidden-dim-icon or nautilus-hidden-dim-all is installed
  • Buttons appear in the bottom bar (after Move โ†’) to avoid layout shifts in the toolbar

File operations:

  • Copy/Move between panels with rsync progress bar
  • Drag & Drop support (intra and inter-panel)
  • Native context menu (open, cut, copy, paste, rename, trash, delete, properties)
  • F3 toggle to open/close the dual-panel window
  • F7 to launch Archive Browser on selection

Navigation:

  • Nautilus-style sidebar (favorites, bookmarks, mounted volumes)
  • Native view mode sync with Nautilus preferences
  • Cross-extension awareness (live re-detection of installed extensions)

:magnifying_glass_tilted_left: Featured: Search & Replace

A reliable text content search and replace โ€” much more dependable than Nautilus' built-in search which relies on Tracker3 indexing. Two native tabs:

:magnifying_glass_tilted_right: Search tab

  • Uses grep (always available) or ripgrep for speed (if installed)
  • Filterable by file extensions (py,txt,md, etc.)
  • Recursive or current folder only
  • Case sensitive / regex options
  • Skips binary files and heavy folders (.git, node_modules, __pycache__)
  • Threaded search โ€” UI stays responsive
  • Double-click to open file, right-click for context menu

:repeat_button: Search & Replace tab

  • Live preview of every change: old text struck through in red โ†’ new text in green
  • Per-line checkboxes โ€” select exactly which occurrences to replace (master check-all in header)
  • Confirmation dialog before writing, showing the number of affected files
  • Automatic .bak backup of each modified file
  • Line-precise replacement (only checked lines are touched)
  • Native toast confirmation after applying
  • Current folder shown in both tabs
  • Launchable anywhere with F8

Optional: faster search with ripgrep

sudo apt install ripgrep

:musical_note: Featured: Video to Audio

Batch audio extraction from video files with ffmpeg.

  • 6 output formats: MP3, M4A, OGG, OPUS, FLAC, WAV
  • 4 quality levels: 320 / 192 / 128 kbps, or stream copy (no re-encoding)
  • Real-time progress bar with percentage (parsed from ffmpeg output)
  • Per-file status indicator โœ“ / โœ—
  • Destination folder selector
  • Cancel button kills the ffmpeg process group cleanly

:package: Featured: Deb Installer

Visual installer for .deb packages โ€” perfect for users migrating from Windows.

  • Right-click any .deb file โ†’ Install package
  • Displays name, version, description
  • Automatic dependency check โ€” lists missing packages before install
  • Real-time scrollable terminal output, color-coded
  • Authentication via pkexec (graphical password prompt)

:clamp: Featured: Archive Browser

A complete archive manager replacing file-roller entirely.

  • Supports ZIP, 7z, RAR, TAR, GZ, BZ2, XZ, CAB, ISO, and many more
  • Multi-volume 7z (.001, .002...) and multi-volume RAR
  • Password-protected archives with prompt
  • Collapsible tree view, smart cache, selective extraction
  • Native GTK4 drag & drop
  • Create new archives from selected files

:package: Featured: Extract Here

Streamlined archive extraction without opening file-roller.

  • Right-click any archive โ†’ Extract here
  • Supports ZIP, 7z, RAR, TAR, GZ, BZ2, XZ, CAB, ISO and many more
  • Multi-volume 7z (.001, .002...) and multi-volume RAR
  • Password-protected archive detection with prompt
  • Real-time extraction progress dialog
  • Auto-detection of single-file vs folder archives

:artist_palette: Featured: Annotate Image

A lightweight image annotation tool โ€” no need to open GIMP for quick marks.

  • Right-click any PNG/JPG โ†’ Annotate
  • Draw arrows, rectangles, ellipses, lines, freehand
  • Add text annotations with custom font and size
  • Color picker with theme integration
  • Adjustable stroke width
  • Undo/redo
  • Save in place or as new file

:page_facing_up: PDF tools

Three complementary tools for everyday PDF tasks, all powered by Ghostscript or pypdf.

:clamp: Compress PDF

  • 4 quality presets (screen, ebook, printer, prepress)
  • Real-time size comparison (before/after)
  • Batch compression
  • OCR preprocessing with deskew + erosion/dilation (via ImageMagick + Tesseract)

:link: Merge PDF

  • Multi-file selection from Nautilus
  • Drag-and-drop reordering
  • Per-file page selection
  • Output filename customization

:locked_with_pen: Watermark PDF

  • Text watermark with custom font, size, color and opacity
  • Image watermark from file
  • Position options (center, corners, tiled)
  • Rotation angle adjustment
  • Per-page or all-pages application
  • Output flattening for security

:magnifying_glass_tilted_left: Featured: Preview Panel

A dynamic side preview for selected files โ€” see before you open.

  • Image previews (PNG, JPG, WEBP, AVIF, etc.)
  • Video thumbnails via ffmpegthumbnailer
  • PDF first page preview
  • Text file content preview
  • Toggle via context menu

:eye: Featured: Hidden File Dimming

Two complementary extensions (install only one) to reduce visual clutter when "Show hidden files" is enabled in Nautilus.

Variant Effect
nautilus-hidden-dim-icon Dim only the icon
nautilus-hidden-dim-all Dim both icon and label

Both share the same engine:

  • Event-driven via GFileMonitor for instant updates
  • Lightweight โ€” minimal CPU usage
  • Smart guard against redundant opacity changes
  • Auto-detected by Dual Panel for consistent display

:gear: Featured: Extensions Manager

A central hub to manage all the other extensions without manually moving files.

  • List all installed extensions (active and disabled)
  • Enable/disable each extension with a single click
  • Auto-resize window based on extension count
  • Restart Nautilus button to apply changes instantly
  • Respected by nautilus-extensions-tof-link โ€” disabled extensions stay disabled across reboots

:hammer_and_wrench: Hidden gems

  • nautilus-cut-dim โ€” visually dims items cut with Ctrl+X so you don't forget what's in the clipboard
  • nautilus-duration-column โ€” adds a sortable Duration column (HH:MM:SS) for audio/video files via ffprobe
  • nautilus-folder-color-revival โ€” revive the classic folder colorizer; works on modern Nautilus 46+
  • nautilus-edit-gedit โ€” one-click open text files in Gedit (filtered by extension to avoid clutter)

:keyboard: Keyboard shortcuts

When the corresponding extension is installed, these shortcuts are available globally from Nautilus:

Shortcut Action Extension
F3 Open Dual Panel nautilus-dual-panel
F4 Toggle Preview Panel nautilus-preview-panel
F7 Open Archive Browser on selection nautilus-archive-browser
F8 Open Search Content in the current directory nautilus-search-content
2 Likes

Hello again @Nourpon

I tried to install these addons following your instructions and because nautilus is named as 'files' in Zorin and is the default file manager nothing got installed.

Files, also known as Nautilus, is the default file manager of the GNOME desktop. It provides a simple and integrated way of managing your files and browsing your file system.

user1@Yoga:~$ sudo apt install \

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
user1@Yoga:~$
user1@Yoga:~$
user1@Yoga:~$ nautilus -q
** Message: 13:07:33.165: Connecting to org.freedesktop.Tracker3.Miner.Files
user1@Yoga:~$

So nothing shows on right click in the file manager.

What is the solution please ?

"Files" is just the Displayed Name. The proper package is still named Nautilus in Zorin OS Core.

Your shown terminal output is unclear as to whether the pasted command in your terminal was complete.
Try pasting in:

sudo apt install nautilus-dual-panel nautilus-extensions-manager nautilus-archive-browser nautilus-extract-here nautilus-annotate-image nautilus-compress-pdf nautilus-merge-pdf nautilus-watermark-pdf nautilus-preview-panel nautilus-deb-installer nautilus-search-content nautilus-video-to-audio nautilus-duration-column nautilus-cut-dim nautilus-edit-gedit nautilus-folder-color-revival nautilus-hidden-dim-icon

1 Like

will install nothing... if you want to install all packages copy the entire block, and if you want to install individual just do sudo apt install nautilus-dual-panel for example...

All installed ok this time and right click shows addon when appropriate for the file being right clicked on.

Thanks again for your help and these useful addons.

1 Like

Adding the PPA went without an Issue. Installing, too. It detected needed Dependencies and then were installed, too. But nautilus -q wasn't enough to made it work. I had to log out and log in for appearing but that wasn't a big Issue.

yeah it's because it install an desktop in /etc/xdg/autostart/ who make link's to nautilus extension users, watch in this path you will see :wink:
Why I did that ? because a deb always install something in the root part, so I tweaked a bit,because I don't want users could disable nautilus's root extensions with extension manager...
take a look at architecture paragraph :wink:

1 Like

But it was not clear and I didn't explain it, so I added that

# Extensions activate at next login โ€” or run this now to enable them immediately:
nautilus-extensions-tof-link
1 Like

Search Content updated

  • F8 Open Search Content in the current directory
  • Viewing the current directory
1 Like

Search Content updated

Search & Replace tab

  • Live preview of every change: old text struck through in red โ†’ new text in green
  • Per-line checkboxes โ€” select exactly which occurrences to replace (master check-all in header)
  • Confirmation dialog before writing, showing the number of affected files
  • Automatic .bak backup of each modified file
  • Line-precise replacement (only checked lines are touched)
  • Native toast confirmation after applying
2 Likes

Amigo del POst por que no proporcionas imagenes asi la gente sabra de lo que has creado yo por ejemplo he creado esto [Tip/Tool] Nautilus Right-Click Admin Warning โ€” Open files as administrator safely

3 Likes

A very attractively designed website for your nautilus extensions!

2 Likes

Thank you a lot :wink:

1 Like

Uh, fancy Website Design!

1 Like

Thank you a lot :wink:

1 Like

One Thing for Your Website. You have there at the Top this one:
grafik

Maybe add there Ubuntu 24.04 LTS. Or did You tried it on other Distro's with different Gnome Versions, too?

And then this:

The Name ''Files'' is totally correct. Don't understand me wrong there. But maybe add the Name of the File Manager Nautilus. When You would write something like this:

''The Toolkit Gnome's File Manager Nautilus has been missing.''

And maybe make Nautilus as blue as the Word ''missing''.

it should work on upper gnome version, it is python and GTK4
Good idea for the Title

1 Like

Then, I will try it with Debian (Gnome 48) and see what happens. I) will report back then.

There came other Things to my Eye. You have directly at the Top the Command for adding the PPA:

to this, You have over it the Button ''Install from PPA'' which leads to the botton where You have the Install Steps a bit more detailed. I would suggest to remove the Line at the Top and only let the 2 Buttons there.

You and I know that this is a Command for adding a PPA which only works for Ubuntu and Ubuntu-based Systems. But someone who might see it, could think that this works on other OS'es this Way, too.

Maybe add a third Button with something like ''Instructions for manual Adding on Other Systems''. A bit long, maybe You can shorten it. And that is linked to Your Github Page where the manual Instructions and the fitting Dependencies are.

For the ''Install from PPA'' Button, maybe think about to add (Ubuntu 24.04 only) small under it like:

Install from PPA

(Ubuntu 24.04 only)

to make clear that it isn't for Ubuntu 22.04 or the current Ubuntu 26.04. Yes, I know the Gnome Version should show that. But it could avoid Missunderstandings.

At the Bottom, You have that:

The Question at the Bottom ''Already cloned the Repo?'' could be linked to Your Github Page or Your Launchpad Site, too - depending what You mean here with ''Repo'. Because of the Context, I would think, You mean the Launchpad Site.

Some Ideas here, but as Your Marketing Director it is my Duty to brings up Things, hahaha!

You are right for all of this, The extensions should work for 46+, installing manually, but my repo is only noble, I made change to be correct all this and made things clear
Thank you Mr Director :wink:

1 Like