Skip to content
fabertawe edited this page Mar 11, 2024 · 122 revisions

User-Contributed Plugins

This page lists plugins contributed by developers and users of the SpaceFM file manager.

A way for users to share their custom commands was a common request among users of earlier incarnations of SpaceFM. This wiki page listing available plugins, and SpaceFM's ability to export and import custom commands as plugins, provides a start to this functionality.

UPDATE: As of version 1.0.3, SpaceFM can also export and import handler plugins, which may also be shared on this page.

Read Plugin Installation Instructions

USE AT YOUR OWN RISK! It is your responsibility to evaluate the safety and applicability to your purposes of all plugins here. To preview the contents of a plugin, extract the tar.gz file and open each file it contains in a text editor. Or, install or import the plugin in SpaceFM and use Design Mode to see the command or script the plugin uses before running it. You can also review this page's Edit History. Some of the plugins below are also included in some distros by default.

Please contribute! If you've created a custom command in SpaceFM, you can export the command as a plugin, host the file somewhere (google free file hosting), and add an entry for it below. Click Edit above to edit this page (just signup with github to edit this wiki). Please copy/paste the Example Plugin entry below, then edit the copy to contain your plugin's details. Also, please give your plugin a descriptive name. Thanks for contributing!


Example Plugin Name

This is an example description of a plugin. Please copy this example entry, then edit this text to contain a short overview of the plugin's function - let us know exactly what it does, what purpose it's intended for, and how to contact the author (recommended). If you need more than a few lines, please include a link to a web page for this plugin, or you can add a page to this wiki for your plugin(s) and link to it.

Requirements: List any dependencies or other requirements of your plugin here

Download: Provide a download link for your plugin file here. Please give the plugin file a unique filename which contains your nickname.

trile7's Mount Tools Plugin

Feature:

  • Automount usb drive or sd card via udev rules
  • Mount image file (i.e. iso, img, etc.)
  • Browse and mount Samba/Windows share
  • Mount SSH
  • Mount FTP
  • Mount devices on computer (i.e. optical disc, unmounted partition/drive, etc.)
  • Save network mounts in history for quick access

Dependencies Required: mnttools Optional: yad - display trayicon Optional: lsof - list open files Optional: smbclient - browse and mount Samba/Windows network Optional: sshfs - mount SSH Optional: curlftpfs - mount FTP

Download: tarball or Scripts: mnttools

Please send feedback to trile7 at gmail dot com. Thanks.

trile7's Advance Find Plugin

Feature:

  • Find files and folders recursively by name, by size, or by last modified time.
  • Find empty files and folders recursively
  • Find string pattern in file content recursively
  • Copy, move, or delete found items
  • Change matching pattern to something else
  • Delete line matching pattern
  • Custom action on found items

Requirements: coreutils, sed

Download: tarball or Scripts: findtools

Please send feedback to trile7 at gmail dot com. Thanks.

trile7's Batch Rename Plugin

Feature:

  • Rename multiple files and folders at once
  • Change space to underscore and vice versa
  • Change name to all uppercase or all lower case or uppercase just the first word
  • Find and replace pattern in name
  • Insert counter or character at specific position
  • Remove number of characters at specific position
  • Preview before commit change

Requirements: coreutils

Download: tarball or Scripts: rename

Please send feedback to trile7 at gmail dot com. Thanks.

Cdemu Plugin (v0.0.4 - 08 Jun 2012)

Mounts images with cdemu via right-click submenu. Checks for free cdemu-devices, so we can have multiple images mounted. "Umount ..." unmounts the image file(s) and unloads the cdemu-device(s). I have made "system" the default D-BUS type, you can change it via the submenu too.

Post issues here.

Requirements: cdemu

Download: tarball or [source] (https://github.com/hasufell/spacefm-plugins/tree/master/cdemu)

Dropbox Plugin (v0.0.9 - 12 Jun 2012)

Several dropbox options like "puburl to clipboard" or start and stop the daemon. This uses a python script that provides a cli interface to the dropbox daemon. Gentoo and Archlinux already include it. Check the README.

Post issues here.

Requirements: dropbox (daemon), dropbox-cli (optional, will be fetched otherwise)

Download: tarball

ClamAV Scan

Scan the selected files/folders with ClamAV, the open source (GPL) antivirus engine.

Requirements: clamav

Download: tarball

Feedback/suggestions to fabertawe, please see the README for contact details and further info.

Corbeille-SpaceFM

Corbeille-SpaceFM is a trash plugin compliant with the FreeDesktop.org Trash specification. Coded with speed in mind. It has multi-core support and can manage hundreds or thousands of files without suffering significant delays. It's shipped with 9 commands listed in a submenu named Trash: Move to Trash, Restore, Delete Permanently, Go to Trash, Display Properties, Empty Trash, Limit the Size of the Trash, Delete Old Files and Delete Big Files. For more details or to contact the author, see the documentation link below.

Requirements: coreutils (it should already be installed for most people)

Download: English, French, Swedish. See also the documentation online.

GPG Tools

Encrypt/decrypt the selected files/folders with gpg.

Requirements: an already existing gpg/gpg2 environment with a default key.

Download: tarball

Feedback/suggestions to fabertawe, please see the README for contact details and further info.

trile7's Image Tools Plugin

Feature:

  • Convert images to PDF
  • Resize images
  • Convert images format
  • Image information
  • Image slideshow
  • Set wallpaper
  • Rotate image

Requirements: Imagemagick

Download: tarball or Scripts: imgtools

Please send feedback to trile7 at gmail dot com. Thanks.

trile7's Open with Plugin

Feature:

  • Open selected item with any command in user's $PATH
  • Command launcher if nothing is selected

Requirements: dmenu

Download: tarball or Script: Open with

Please send feedback to trile7 at gmail dot com. Thanks.

trile7's PDF Tools Plugin

Feature:

  • Merge multiple PDF files to one
  • Split PDF file to individual pages
  • Extract page or range of pages from a PDF file
  • Convert PDF to JPG
  • Convert PDF to text

Requirements: ghostscript

Download: tarball or Script: pdf merge, pdf split, pdf extract, pdf to jpg, and pdf to text

Please send feedback to trile7 at gmail dot com. Thanks.

trile7's Share via HTTP Server Plugin

Feature:

  • Quickly share an item via a simple HTTP server.
  • If quickserve is used, file can be uploaded to server.

Requirements: quickserve, python3, python2, or webfs

Download: tarball or Scripts: Share, Share open

Please send feedback to trile7 at gmail dot com. Thanks.

trile7's Trash Plugin

Feature:

  • Move items to "trashcan"
  • Restore items from "trashcan"
  • Define maximum item size to move to "trashcan"
  • Empty "trashcan"
  • Support multiple partitions

Recommendation:

  • Assign Trash to "Del" keyboard shortcut and Delete (permanently) to "Shift+Del" or "F8" keyboard shortcut

Requirements: coreutils

Download: tarball or Scripts: trash

Please send feedback to trile7 at gmail dot com. Thanks.

Alv's plugins

Detailed descriptions and download links are available via the links above.

IgnorantGuru's Plugins

  • IG Burn Tools - Allows SpaceFM to be used as a simple GUI burning app. While it can be used as-is, it also allows you to customize burn commands and add additional functionality. Screenshots

  • IG Paste Into - Pastes clipboard files into a single selected folder, or else into the current folder. It is intended to replace or supplement SpaceFM's built-in Paste command.

  • IG SpaceTV - Ideal for an HTPC setup or any media PC, SpaceTV allows you to play videos in fullscreen without a video player window, resuming videos from their last position and restoring volume and other settings per video. It can also resume the last played video or prior videos.

  • IG Example Application - Demonstrates one method of controlling SpaceFM Dialog from a script using a main loop, effectively making a small application.

Keith's Mount SMB/FTP/SSHFS/WebDAV Share GUI

This plugin uses the new spacefm dialog features to query a smb server for share points and mount them, or mounts an ftp or WebDav share ( you need davfs2 installed you can get it here: http://download.savannah.gnu.org/releases/davfs2/davfs2-1.4.7.tar.gz ) you can also mount an sshfs share if you have ssh-fuse installed, you can get it here: http://downloads.sourceforge.net/fuse/sshfs-fuse-2.4.tar.gz

Featured in this screencast. See also screencast of prior version.

Usage is straight forward just install the plugin then click on it from the plugin menu enter an IP address and press 'Enter' the drop down list will then be populated ( if selecting 'FTP',SSH or DAV the droplist is ignored and greyed out ) after querying the server, select a share, enter a username and password if needed and click 'Mount', unmount from the FM as normal. The plugin has been renamed to 'MountShare' so please uninstall the old 'MountSMB' if needed. Last IP,username,share,port and password are stored ( password is in clear text ). See the README for email for bugs etc.

You will have to modify the udevil.conf file, look for the allowed_options_sshfs line and add ", password_stdin" to the end of the line, !!!WARNING!!! the password is sent on the command line and so is not secure!"

Minor UI bug fix and new alternate download link.

Added support for ssh and webdav also non standard port numbers.

Updated to add a scan for smb servers on the local network ( requested ), servers can be selected from a drop-down list or the IP typed directly.

Requirements:

Keith's Template Plugin

A simple plugin that will create a template in the current folder from a list of template files stored in $HOME/Templates.

Instructions For Use:

Simply click on 'Templates' from the plugin menu, select a template file and click 'OK', a file will then be created in the current directory and named for the name of the template file with a numerical suffix if needed, suffix's from the template are not shown but will be added.

Creating a Template:

Create a file in the folder $HOME/Templates (create this folder if you need to), set any permissions, data etc that you may need in the file and save it. You may also create a file in the $HOME/Templates folder called ".extradata", ie this:

Now shows the filename to be used giving you the chance to alter it before creating the file.

UPDATED - Fix of minor bug when creating file in folder with spaces in the name.

@EMAIL@="ZZZ@XXX.co.uk"

@MESSAGE@="This is a test"

@DATE@=$(date)

@USER@=$(whoami)

Then any instances of "@EMAIL@" (for instance) will be converted to "ZZZ@XXX.co.uk" (without the quotes), any instance of "@USER@" would be replaced with the results of the "whoami" command, the .extradata file can hold as many placeholders as you wish or none at all, if the file does not exist no replacements will happen.

A folder of example templates and an example .extradata file can be found below.

See the README for email for bugs etc.

Requirements:

  • SpaceFM 1.0.6

Download:

Attach Files Plugin v1.1

This plugin is for use with the GTK2 version of SpaceFM only. There are currently no plans to port it to GTK3.

This plugin opens a compose window of your favourite e-mail application with the selected files attached. This works with a wide variety of e-mail clients. In fact, the plugin tries to start e-mail clients in the order found under Requirements.

The plugin was written by Serge Y. Stroobandt. To send the author feedback, please, look up the contact info by right-clicking the Attach Files plugin > Command > Edit. Thank you.

Requirements: icedove, thunderbird, claws-mail or xdg-utils (the latter for other e-mail clients)

Download: https://stroobandt.com/dev/spacefm/Attach-Files.v1.1.spacefm-plugin.tar.gz

A further development is available https://github.com/jalsti/SpaceFM/blob/main/plugins/Attach-Files.v1.2.1.spacefm-plugin.tar.gz?raw=true ( "Fixes for Claws Mail attachements and xdg-email multi attachements")

Recent Folders Plugin v0.4

This plugin is for use with the GTK2 version of SpaceFM only. There are currently no plans to port it to GTK3.

When clicked, the plugin shows a list of folders in which the recently used files are located. Selecting a folder will be open the folder in a new tab. Recent Folders also allows to clear the recently used list, hence avoiding clutter and providing additional privacy. Recent Folders aims at providing rapid context switching for the intense SpaceFM user.

The plugin was written by Serge Y. Stroobandt. To send the author feedback, please, look up his e-mail address by right-clicking the Recent Folders plugin > Command > Edit. Thank you.

Requirements: A desktop environment compliant with XDG Recent File Spec 0.2 or the XFCE desktop

Download: https://stroobandt.com/dev/spacefm/Recent-Folders.v0.4.spacefm-plugin.tar.gz

Viking 777's File and Directory Compare Plugins

A couple of plugins that work with meld for file and directory comparisons. To use them first install meld then install the plugins. Open the twin pane view of Spacefm and highlight the files or open the folders you want to compare, one in each pane, then click on the relevant plugin, file or folder. Meld will open with the two files or two folders compared side by side. You could extend this plugin to add a three way compare if you wanted, simply by altering the command. Also if you don't want to install Meld you could use 'diff' instead, again by altering the command. Requirements: Meld

Download: viking777's File compare plugin: http://www.fileswap.com/dl/tl6IuXsa52/ viking777's Directory compare plugin http://www.fileswap.com/dl/jyAv20XQbm/ Use the slow download link. (it is not that slow).

Viking 777's chroot plugins

If, like me you have several distros installed, you probably want to keep them all up to date, but don't necessarily want to boot into every one to accomplish this. The answer to that problem (and many others) is chroot. You can do this from a terminal of course, but I find integrating the process into Spacefm to be a timesaver.

The best place to put these plugins (there are two) is in the right click context menu of the Spacefm 'Devices' panel - the top left panel of the Spacefm window. This should eliminate any possibility of chrooting into the wrong distro (the plugin uses the %m variable for the device mount point so it will automatically select the mount point for the distro that you have right clicked). It runs as root - as far as I know you can't chroot as a normal user. When you have imported the plugins right click the distro that you want to Chroot into (which must be mounted somewhere in your running distro, you can't chroot into a device address like /dev/sda4 for example) and click the "FullChroot" plugin. It will do what the title says, ie. perform a full chroot with /dev /dev/pts /proc and /sys bound to their counterparts on the running distro, it will then leave you with a terminal window in which you can carry out any updates or other commands you wish using the normal commands pertinent to the distro you are chrooted into. When you have finished either hit Ctl/d or type 'exit' to leave the chroot environment, press enter to close the terminal window, then right click the distro mount point again and this time select the 'ChrootUnmount' plugin. This will unmount the bound folders from the running distro. (If it doesn't work, you probably forgot to type 'exit' before closing the chroot terminal). You can check the processes have worked any time by simply running the 'mount' command and seeing what is in there.

There are no special requirements to use the plugin. Download links: http://www.fileswap.com/dl/zuYef7B8uN/ http://www.fileswap.com/dl/tIPONj6yYb/

The slow download link is fast enough for these files they are only a few hundred bytes.

Varios plugins de Spacefm en español

Instrucciones: En este sitio colocare varios plugins de uso cotidiano que les podrán servir de ejemplo en el uso de las cajas de diálogos.

En este lugar pondré plugins para convertir vídeos, renombrar ficheros y carpetas masivamente usando el comando “mv” y algunos truquitos, en fin para conocer más datos lean el fichero instrucciones que agregare e iré actualizando progresivamente.

Visiten la siguiente pagina y lean el fichero instrucciones que agregare más adelante: https://www.dropbox.com/sh/0i664w25zghhpky/zNySaTjomF

Pueden Contactarme por correo electrónico: suretu@gmail.com

Subversion Plugin v0.3

Basic subversion commands as SpaceFM plugin:

update

just updates from remote

commit

commits whole working directory or selected files. Also asks to add unversioned files before comitting

add

adds selected files (command not available if nothing is selected)

diff (PREV)

diffs working directory or selected entry to previous version (tries to use meld or kdiff3 for single selection)

log

log of working directory or selected item (command not available if more than one entry is selected)

status

status of whole working directory or selected files

Requirements: subversion should obviously be installed, also used: bash, coreutils, findutils, mktemp, grep, sed

Download: https://github.com/jalsti/SpaceFM/blob/main/plugins/Subversion.0.3.spacefm-plugin.tar.gz?raw=true

(Source: https://github.com/jalsti/SpaceFM/tree/master/plugins/Subversion)

db-inf plugin collection

I exported the lot of my spacefm plugins. Some are commented in English, most in Dutch.

Ik heb m'n hele verzameling spacefm plugins op github gezet. De meeste zijn in het Nederlands beschreven, sommige in het Engels, en de simpelste andere niet.

Requirements: mostly none

Download: db-inf's spacefm plugins on GitHub.