How to Run Nautilus Scripts
using some GUI's of the
! Note !
The 'feHandyTools' subsystem is deprecated.
It is replaced by the FE 'tkGooies' subsystem.
This page may be used as a basis for a web page that
shows how to run the 'tkScriptApplicator' utility
in the 'FILEmanagers' toolchest of the 'tkGooies' system.
There has been a lot of pulling of hair and knashing of teeth by Linux users --- especially users of Ubuntu, Gnome, and KDE -- in the past several years (2010 to 2012) as the developers of Ubuntu, Gnome, and KDE have re-worked their desktop environments and essentially 'thrown the baby out with the bathwater'.
One thing that I have found extremely useful is the capability of the Gnome 'Nautilus' file manager to select files and apply a script to them --- scripts that can be kept in a hierarchical directory structure.
Unfortunately, as I point out at the bottom of the FE Contact page, it appears that the developers of Ubuntu Unity and Gnome 3 do not value the Nautilus-Scripts capability very highly. Their eyes are on making a bunch of pretty icons scroll across the 'desktop' of an iPad- or iPhone-like device.
It's nice to know that there is a group, started by a man in Argentina ('Perberos'), who has taken some of the Gnome 2.3 utilities, including Nautilus, and they are engaged in preserving the capabilities of those utilities. Apparently Perberos and his growing band of helpers are concerned, like I am, that the Gnome 3 developers are quite willing to throw away about 10 years of development (about 2000 to 2010) --- development that was responding nicely to user needs.
That set of 'forked' Gnome 2.3 utilities is called MATE --- pronounced 'mah-tay', I believe, and named after a South American stimulant drink, like coffee. You can see at the MATE web site that the new incarnation of Nautilus is to be called 'Caja' --- which is 'Box' in English.
It is good to know that the lead developer of the Linux Mint 'distro' --- 'Clem' = Clement Lefebvre --- is incorporating MATE in his releases of the Gnome-based Linux Mint distro --- starting with MATE as an alternative to Gnome 3 in a 2012 release of Linux Mint, Linux Mint 12 ('Lisa'). Hence there is some hope that the MATE project will not die out.
Furthermore, it is nice to know that there is a MATE page on Wikipedia. And there seems to be some love shown toward MATE by the Arch Linux distro people --- one more encouraging sign that this might not be a flash in the pan.
But just in case MATE does not make it, this page describes an alternative --- a 'Nautilus Scripts' option in the 'FE Handy Tools' system.
How that option works is described below --- with screenshots.
FE Handy Tools and its run-Nautilus-Scripts option :
Here is an image of the main menu ('toolchest') of the 'feHandyTools' system. Note the option (toolchest 'drawer') labelled 'feNautilusScripts' near the bottom of the toolchest.
If you click on the 'feNautilusScripts' drawer, the following file navigator-and-selector GUI pops up.
Let us say that you navigate to a directory where you have some image files and you want to apply an image-processing script to one or more files in that directory.
Then you would select those files (using the Ctrl or Shift keys if needed to select more than one file) and click on the 'Apply-a-Script' button in the file-selector GUI.
Clicking on the 'Apply-a-Script' button causes the following 'script-selector' GUI to pop up --- positioned at the directory where your Nautilus scripts are located.
In this case, we have the 'feNautilusScripts' package installed at the usual location of Nautilus scripts --- at $HOME/.gnome2/nautilus-scripts.
Using this script-selector GUI, we can navigate the subdirectory structure of 'feNautilusScripts' and select a script to run.
'feNautilusScripts' has a multi-level directory structure of about 25 'main' categories of scripts. Some of the categories, like 'IMAGEtools' and 'VIDEOtools' have so many scripts in them that there are sub-categories within those major categories --- to keep the number of scripts in each category to no more than about 20 to 25. (This is mainly to keep the Nautilus scripts menus to a manageable size. With these file-scrolling FE GUI's, the number of scripts in each directory is not such an issue.)
In our hypothetical example of selecting some image files to process, we would typically navigate to the 'IMAGEtools' directory (as seen in the screenshot above) and choose a script from that directory --- or from one of its sub-directories.
Typically, for the FE 'IMAGEtools' scripts, the result of clicking on the 'UseIt' button would be a popup of a resultant image file in an image viewer, such as 'eog' (Eye of Gnome).
In 'feNautilusScripts', the user can set their favorite 'helper' applications --- text-viewer, text-editor, image-viewer, image-editor, HTML-browser, animated-GIF-viewer, etc.
So there you have it. That is the way one can select some files and apply a script to them --- using a couple of Tcl-Tk GUI's in the FE (Freedom Environment) system.
A Performance note :
I have found that even though these two GUI's are presented using a scripting language (Tcl-Tk), not a compiled binary executable, they come up quickly --- even when loaded with the filenames of a large directory. Furthermore, navigation is quick --- seemingly quicker than with Nautilus.
I think this may be because, under the covers, even though I usually run Nautilus in 'List mode' and with icon rendering of files turned off, Nautilus is still slowed down --- probably partly because of putting little 'generic' icon symbols beside each of the files.
A Couple of notes on the GUIs above :
That is because they ARE the same categories. Those categories (toolchest drawers) give access to the 'feHandyTools' scripts that are being 'ported' over from the 'feNautilusScripts' system --- by converting 'zenity' prompts to Tcl-Tk GUI prompts.
Hence you can run many FE script utilities either way --- via the 'feNautilusScript' implementation or via the 'feHandyTools' implementation.
By the way: Using the 'feNautilusScripts' drawer in the 'feHandyTools' is not the only way we could bring up the first of the 2 file-selector GUIs. We could use a desktop icon (or panel icon) to provide access to the underlying script that starts up the GUI's.
In fact, in the first 2012 release of the 'feHandyTools' system --- the first release after the 2011 October release --- the underlying startup script, which is to be named
where $FEDIR denotes the install directory of 'feHandyTools' --- which is typically $HOME/apps/feHandyTools ,
will be enhanced so that you can implement it as a desktop icon --- with a suitable name, such as 'FEscriptSelect'.
Then you will be able to startup the 'Nautilus-scripts-without-Nautilus' capability either via a desktop icon or via a drawer in the main 'feHandyTools' toolchest.
Note that this 'Nautilus-scripts-without-Nautilus' capability is a 'Nautilus-scripts-with-Tcl/Tk-GUIs-instead-of-Nautilus' capability.
I have often been frustrated with how hard it is to 'grab' the edge or corner of a window and resize the window with the mouse cursor. Getting the little arrow-indicator to popup (and stay popped up), to indicate that you have indeed made the grab, can be frustrating and a waste of time.
Since I had complete control of the programming of these GUIs, I made the 'naro'-'wide'-'tall'-'short' buttons so that I can simply 'stab' the buttons to resize the file selector boxes within the windows very quickly --- and with no frustration.
I will probably be improving the resizing behavior of those buttons a little bit in the 2012-2013 time frame.
Isn't open source software done with scripts wonderful? I certainly think so.
Summary and Conclusion :
Use of the 'feHandyTools' and 'feNautilusScripts' systems together can be a good 'fallback' in case the Nautilus file manager goes away and 'Caja' fades away.
In fact, performance-wise, the 'feHandyTools' and 'feNautilusScripts' systems may provide the kind of response time that people seek when they sing the praises of a 'light-weight' desktop or windowing system.
In any case, I feel comfortable that I have an 'ace in the hole' in case both Nautilus and Caja go away --- or in case their maintainers jettison the 'select-file(s)-and-apply-a-script' capability.
A big thank you to the author (John Ousterhout) and the many developers of Tcl-Tk. Long live open source and the many people willing to share the software they produce! (I'm sharing mine --- the FE subsystems.)
FE Handy Tools and FE Nautilus Scripts . . .
A Cure for what ails Ubuntu Unity and Gnome 3.
Bottom of the How to Run Nautilus Scripts in 'feHandyTools' page.
To return to a previously visited web page location, click on the
Back button of your web browser a sufficient number of times.
OR, use the History-list option of your web browser.
Page was created 2012 Mar 05.