An open API service indexing awesome lists of open source software.

https://github.com/cfgnunes/nautilus-scripts

A set of actions for extending the functionality of the GNOME Files (Nautilus), Dolphin, Caja, Nemo, PCManFM-Qt and Thunar file managers.
https://github.com/cfgnunes/nautilus-scripts

caja caja-scripts custom-actions dolphin dolphin-actions filemanager-actions gnome gnome-files nautilus nautilus-extension nautilus-scripts nemo-scripts plasma-desktop thunaractions

Last synced: about 2 months ago
JSON representation

A set of actions for extending the functionality of the GNOME Files (Nautilus), Dolphin, Caja, Nemo, PCManFM-Qt and Thunar file managers.

Awesome Lists containing this project

README

          

# Enhanced File Manager Actions for Linux

A set of file manager actions that enhance your workflow. Useful right-click options to simplify common tasks across GNOME, KDE, Xfce, and more.

[![Release](https://img.shields.io/github/v/release/cfgnunes/nautilus-scripts?labelColor=333333&color=339933)](#installation)
[![Stars](https://img.shields.io/github/stars/cfgnunes/nautilus-scripts?style=flat&labelColor=333333&color=339933)](#installation)
[![License](https://img.shields.io/github/license/cfgnunes/nautilus-scripts?labelColor=333333&color=339933)](#installation)
[![Supported](https://img.shields.io/badge/Supported-GNOME%20%7C%20KDE%20%7C%20MATE%20%7C%20Xfce%20%7C%20Cinammon%20%7C%20LXQt-339933?labelColor=333333)](#compatibility)

[![Screenshot](https://cfgnunes.github.io/nautilus-scripts/screenshot.svg)](#installation)

## Installation

### Option 1: Online installation (recommended)

You can use either **curl** or **wget**. Choose **one** of the following commands and run it in your terminal:

#### ๐Ÿš€ Using `curl`

```bash
bash -c "$(curl -fsSL https://cfgnunes.github.io/nautilus-scripts/install.sh)"
```

#### ๐Ÿš€ Using `wget`

```bash
bash -c "$(wget -qO- https://cfgnunes.github.io/nautilus-scripts/install.sh)"
```

### Option 2: Local installation

After cloning this repository, run the following command:

```bash
bash install.sh
```

## Advantages

While numerous *Nautilus Scripts* are available for file managers on the web, many suffer from poor functionality, lack of error checking, and dependency management. Some scripts only work with files that don't have special characters in their names, among other limitations. To address these shortcomings, I have developed my own set of scripts, which offer the following advantages:

- **Parallel task execution**: Processes multiple files simultaneously. Very fast!
- **Multi-language support**: Automatically detects the system language and displays messages in the appropriate language.
- **Progress dialog**: Displays a progress dialog and allows interruption of tasks at any time.
- **Dependency management**: Prompts users to install any missing dependencies.
- **Status notifications**: Notifies users of dependency errors and types.
- **Keyboard accelerators**: Provides keyboard shortcuts for some scripts.
- **Easy access to recent scripts**: Includes a menu, _Accessed recently_, to quickly access recently used scripts.
- **Category-based installation:** The installer allows you to choose which script categories you want to install, so there's no need to install everything.
- **Log file**: Produces an `Errors.log` file when a task finishes with an error.
- **File manager compatibility**: Designed for major file managers like GNOME Files (Nautilus), Nemo, Caja, Dolphin, and Thunar.
- **Distro compatibility**: Works on major GNU/Linux distributions, such as Debian, Ubuntu, Fedora, and Arch Linux.
- **Easy adaptation**: Scripts can be easily copied and adapted for other purposes.
- **Bash implementation**: All scripts are implemented in Bash. So, the scripts work well in the shell (without a graphical interface) and file managers.
- **Shell script validation**: All scripts have been checked using [ShellCheck](https://github.com/koalaman/shellcheck).

**Design philosophy:** Fewer clicks, dependencies, and verbose notifications, with a simple and intuitive directory structure.

## Keyboard accelerators

| Key | Action |
| ------------------- | --------------------------------- |
| `F4` | Terminal |
| `F7` | Disk usage analyzer |
| `F12` | Code editor |
| `E` | Extract here |
| `G` | Compress to 'tar.gz' |
| `S` | Compress to 'tar.zst' |
| `X` | Compress to 'tar.xz' |
| `Z` | Compress to 'zip' |
| `I` | Show files information |
| `M` | Show files MIME type |
| `0` | Find empty files |
| `J` | Find junk files |
| `U` | Find duplicate files |
| `H` | List hidden files |
| `P` | List permissions and owners |
| `B` | List largest files |
| `R` | List recent files |
| `W` | Text: List issues |
| `C` | Copy file names |
| `V` | Paste clipboard content |
| `V` | Paste as symbolic link |
| `B` | Create backup (via Rsync) |
| `C` | Compare items |
| `O` | Open item location |
| `H` | Compute all checksums |
| `E` | Find empty directories |
| `P` | Rename: Remove parentheses blocks |
| `G` | Git: Clone URLs |
| `R` | Git: Reset and pull |
| `X` | URL: Download file |

## Compatibility

| File manager | Environment | Menu integration | Application shortcuts | Keyboard accelerators | Menu "Accessed recently" |
| ---------------------- | ----------- | ---------------- | --------------------- | --------------------- | ------------------------ |
| GNOME Files (Nautilus) | GNOME | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข |
| Nemo | Cinnamon | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข |
| Caja | MATE | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข |
| Thunar | Xfce | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข | ๐Ÿ”ด |
| Dolphin | KDE Plasma | ๐ŸŸข | ๐ŸŸข | ๐Ÿ”ด | ๐Ÿ”ด |
| PCManFM-Qt | LXQt | ๐ŸŸข | ๐ŸŸข | ๐Ÿ”ด | ๐Ÿ”ด |
| PCManFM | LXDE | ๐ŸŸข | ๐ŸŸข | ๐Ÿ”ด | ๐Ÿ”ด |

## Batch mode for large file selections

For very large selections (e.g., 10,000 input files), use **batch mode**: place everything inside a folder named `batch` and run the action on that folder. The scripts will process the files individually and avoid the "argument list too long" error.

## Acknowledgments

### Translation

Special thanks to everyone who contributed to the translation of this project:

- ๐Ÿ‡ง๐Ÿ‡ท **Nathรกlia Medeiros** - Brazilian Portuguese.
- ๐Ÿ‡จ๐Ÿ‡ณ **Jove Yu (@JoveYu)** - Chinese.
- ๐Ÿ‡ช๐Ÿ‡ธ **Maravento (@maravento)** - Spanish.
- ๐Ÿ‡ฉ๐Ÿ‡ช **Stephan Mikwauschk (@Pappmann)** and **La-vaos (@la-vaos)** - German.
- ๐Ÿ‡ป๐Ÿ‡ณ **Loc Huynh (@hthienloc)** - Vietnamese.
- ๐Ÿ‡ซ๐Ÿ‡ท **Germain Rรฉmi (@remigermain)** - French.
- ๐Ÿ‡ท๐Ÿ‡บ **Vladimir Kosolapov (@vmkspv)** - Russian.
- ๐Ÿ‡ฎ๐Ÿ‡ฑ **Omer I.S. (@omeritzics)** - Hebrew.
- ๐Ÿ‡ณ๐Ÿ‡ฑ **Heimen Stoffels (@Vistaus)** - Dutch.
- ๐Ÿ‡ฐ๐Ÿ‡ท **Yun Juhwan (@g-yunjh)** - Korean.
- ๐Ÿ‡ฏ๐Ÿ‡ต **Camegone (@camegone)** - Japanese.
- ๐Ÿ‡น๐Ÿ‡ท **YaลŸar ร‡iv (@yasarciv)** - Turkish.

### Contributors

Thank you for contributing to this project:

[![contributors](https://contrib.rocks/image?repo=cfgnunes/nautilus-scripts)](https://github.com/cfgnunes/nautilus-scripts/graphs/contributors)

## Contributing

If you spot a bug or want to improve the code or even improve the content, you can do the following:

- [Open an issue](https://github.com/cfgnunes/nautilus-scripts/issues/new)
describing the bug or feature idea;
- Fork the project, make changes, and submit a pull request.

If you'd like to translate this project into your native language, feel free to send me the translated file: [en_template.pot](https://github.com/cfgnunes/nautilus-scripts/blob/main/.po/en_template.pot)