A powerful tagging system for Nemo File Manager
Features โข Installation โข Usage โข Configuration
Create unlimited tags with custom names and colors. Organize your files visually with a palette that matches your workflow.
Right-click any file or folder to quickly assign or remove tags. Multi-select support makes batch tagging effortless.
Click on any tag to open a dedicated view showing all tagged files in one place. Files appear as symbolic links, keeping your original directory structure intact.
Tagged files display color-coded emblems directly on their icons. Multiple tags? No problem โ emblems combine elegantly to show up to three tag colors at once.
A sleek horizontal bar beneath Nemo's address bar displays all your tags. Left-click to browse, right-click to manage.
All tag data is stored in a simple JSON file in your home directory. No database servers, no cloud sync, no extended attributes on your filesystem.
| Tag photos by project, client, or editing status. Find all "favorites" or "needs-edit" files instantly. | Organize papers by topic, priority, or reading status across multiple directories. | Mark files as "urgent", "in-progress", or "archived" without moving them from project folders. |
yay -S nemo-tags
# or
paru -S nemo-tagsEnsure you have the following packages installed:
# Debian/Ubuntu
sudo apt install nemo-python python3-gi python3-cairo
# Arch Linux
sudo pacman -S nemo-python python-gobject python-cairo
# Fedora
sudo dnf install nemo-python python3-gobject python3-cairo- Clone the repository:
git clone https://github.com/meowrch/nemo-tags.git
cd nemo-tags- Install the extension:
mkdir -p ~/.local/share/nemo-python/extensions
ln -s "$(pwd)/nemo-extension/nemo-tags.py" ~/.local/share/nemo-python/extensions/nemo-tags.py- Restart Nemo:
nemo -qThe extension will load automatically when you open Nemo again.
- Right-click any file or folder
- Select "Assign Tag" โ "Create Tag"
- Enter a name and choose a color
- Click OK
The tag is automatically assigned to the selected files!
Right-click on the file(s) to open the context menu โ โAssign Tagโ โ Select the tag name
Tags that have already been assigned are displayed with a check mark (โ)
Click any tag button in the tag bar to open a virtual folder containing all files with that tag. These folders use symbolic links, so:
- Original files remain in their locations
- Changes to files are reflected everywhere
- No disk space is duplicated
Edit or Delete:
- Right-click a tag button in the tag bar
- Select "Rename tag" to change the name
- Select "Change color" to change the color
- Select "Delete Tag" to remove it entirely
Reorder:
- Click on the button at the top right to open the window for changing the order of tags.
All tag data is stored in:
~/.local/share/nemo-tags/
โโโ tags.json # Tag database
โโโ emblems/ # Generated emblem icons
โโโ views/ # Virtual tag folders
โโโ tag-<id>/ # Symbolic links to tagged files
The tags.json file uses a simple structure:
{
"tags": [
{
"id": "a3f9c2e7",
"name": "Important",
"color": "#FF5252"
}
],
"index": {
"a3f9c2e7": [
"/home/user/Documents/report.pdf",
"/home/user/Photos/vacation.jpg"
]
}
}To backup your tags, simply copy the directory:
cp -r ~/.local/share/nemo-tags ~/nemo-tags-backup- Extension Type: Nemo Python extension
- UI Framework: GTK 3 via PyGObject
- Database: JSON-based flat file
- Virtual Folders: Symbolic links
| Module | Purpose |
|---|---|
database.py |
Tag storage and indexing |
manager.py |
Business logic and file operations |
extension.py |
Nemo integration (menus, emblems, info) |
ui.py |
Tag bar widget and dialogs |
icons.py |
Dynamic icon and emblem generation |
- Startup Time: < 200ms for 1000+ tags
- Emblem Rendering: Async generation with icon cache
- Virtual Folders: Generated on-demand, cached
Contributions are welcome! Here's how you can help:
- ๐ Report bugs and request features via Issues
- ๐ง Submit pull requests with improvements
- ๐ Improve documentation
- ๐ Add translations
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
- Nemo File Manager โ The extensible file manager from Linux Mint
- PyGObject โ Python bindings for GTK
- Meowrch โ For providing an excellent development environment
Made with โค๏ธ for the Linux community
โญ Star this repo โข ๐ Report Bug โข โจ Request Feature
