Softpanorama

Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)
Skepticism and critical thinking is not panacea, but can help to understand the world better

Less is More: The Orthodox File Manager (OFM) Paradigm

by Dr Nikolai Bezroukov

Content : Foreword : Ch01 : Ch02 : Ch03 : Ch04 : Ch05 : Ch06 : Ch07 : OFM1999 : OFM2004 : OFM2012


Prev Contents Next

GUI-based OFM Implementations

There are several Unix OFM managers written in Java and scripting languages that have a GUI interface. They are covered in subsequent chapters. Here we will discuss only compiled implementations.  With the exception of Krusader, all of them are now abandonware. And it does not make much sense to analyze them in all details. So this part of the chapter is pretty fragmentary. Here is the list of the projects covered:

EmelFM2

EmelFM2 which actually is a very interesting OFM implementation with some new ideas and technical solutions. The author describes emelFM2 as the GTK+2 port of emelFM but it is more then a port. It contains several original ideas. It is one of the few OFMs where on command line you can put internal commands. It also supports plug-ins.  One very interesting idea of EmelFM2 is the existence of a separate "internal command" layer.  It also implements some basic OFM operations as plug-in making plug-in layer a key feature of the implementation, not an afterthought.  Right now the development is stalled. You can see several screenshots from the official project website.

Features

The file panels (called panes in  emelFM2) can be tiled side-by-side, or top-to-bottom. The active pane is normally indicated by changed color of the column headers in the pane. However re-coloring does not work with some Gtk themes. If that applies to you, change the relevant setting on the 'panes' page of the configuration dialog (see the CONFIGURATION section, below), to enable bold column titles, as an alternative indicator.

The file panel can re-sized, or hidden, by dragging the separator or clicking a relevant toolbar button. The shell window can be resized, up to the full window size, or hidden, likewise by dragging or clicking.

You can change the order of columns displayed in either file panels. Press the mouse left-button while the mouse cursor is on the header of the column you want to move. Then drag it to where you want. Such change will be remembered between sessions.

You can change the width of any column by dragging the relevant column-separator. (There is a minimum size, related to the size of the column label.) You can hide any column by un-checking the corresponding column on the 'columns' page of the configuration dialog. Such changes will be remembered between sessions.

You can sort a file list according to the data in any column, by left-clicking on the column's header. Repeated clicks toggle the sort-order. The actual order that results depends on the user's locale settings. The result might be different from the 'traditional' way.

You can display only items which match specified name(s), date and/or permissions criteria, by setting filter(s) for the pane in question. Do that via dialogs initiated from a toolbar filters button. Directories can be included in the filtering. One or more filters can be used simultaneously. To filter items by name, you provide a string with one or more patterns, each with wildcard(s) "*" and/or "?", in general. (NOTE: there can be no '[...]' character ranges in a pattern, and "*" and "?" cannot be escaped to include them literally in a pattern). If more than one pattern is used, they must be separated by a ",". Any pattern(s) can have "!" prepended, which will cause a matched item to be excluded from the display. To include items whose name begins with "!", prepend "\" to that pattern. As a convenience, the effect of every pattern in the string can be toggled, by checking the "inverted" box.

Right-clicking on a file pane or output pane will pop up a menu of things you may wish to do, there. For the file panes, a sub-menu can be opened by pressing a <shift> or <ctrl> button before right-clicking.

The toolbars are referred to as "pane1 bar", "pane2 bar", "task bar" and "command bar". The pane1 bar is by default at the top of pane 1. The pane2 bar is by default shown at the top of pane 2. The task bar is by default shown between the file panes. The command bar is by default shown near the bottom of the window.

Pane1 bar and pane2 bar typically have the same items in them, in mirrored order (more or less). Commands initiated by the items in those bars apply to the respective pane. Task bar items mostly relate to the active pane. (By default it includes a 'refresh' button which updates both panes.) Command bar items relate to the output pane, or other miscellaneous commands.

Both pane1 bar and pane2 bar typically have a combo box where the user can enter or select a directory to be shown in the corresponding pane (referred to a a "directory line"). In addition to normal choice, clicking the middle mouse button in a directory line, or pressing <Ctrl>Tab while a directory line is 'focused', will open a directory-selection dialog.

A "navigation" window for the active pane can be displayed, and used to select the directory to show in the corresponding file pane. By default, <Shift>F9 will open this window. Activating (by mouse double-click or <Enter> keypress) any of the listed directories will cause that directory to be opened. Directories which cannot be accessed are shown in the 'negative' text color (typically, red). Note that the content of such windows is not refreshed dynamically. A context-menu includes capability to manually refresh, among other things.

By default, toolbar buttons will show tooltips, for those of us less familiar with the icons. You can change the button style to include labels, if you wish. Right-click on a toolbar to see its context menu, which includes settings which can be changed. Or open the configuration dialog, and on the relevant bar's 'options' page, change the 'button-style' option.

The output pane is more than a simple terminal window, it is also intended to be a tool.

You may have as many different output text buffers (aka tabs) as desired. They can be added or removed using the output pane context menu. If more than one tab is in use, numerical tab-titles are shown, for selecting the tab of interest at any time.

Selected text in a tab can be saved, using the relevant context-menu item. The text can be edited, again using the relevant menu item. Not that editing per se is so important, but in particular the editor has the ability to find text, and save the whole buffer. See comments below on EDITING.

Text selected in a tab can be "activated" by a double-click or a <Ctrl>-click, if that text names an item that belongs to a recognized filetype. The named item will be opened just as if it had been in a filelist. Any filepath in the selection is handled, or if there is no filepath, the directory displayed in the active file pane will be assumed.

If selected text describes a recognized filetype, and the output pane context-menu is opened by a right-click on the selection, then menu will include a sub-menu of operations for that filetype, the same menu as for a selected item of that type in a file-list context-menu.

A <Ctrl>-click, or right-click to open a context-menu, will also operate on non-selected text in the output pane, as described above. As there is no selection, space characters define the text that is used.

Here is some additional information from the user guide:

STARTUP

Various command-line switches can be used, to determine aspects of the way an e2 session operates: Program options:

If the program has not been built with debugging-support enabled (compiled without make-option DEBUG=1): (note that this option must be used if you wish emelFM2 to nicely respond to shutdown, save-yourself etc requests by your desktop session-manager)

Help options:

If the program has been built with debugging-support enabled (compiled with make-option DEBUG=1):

USER INTERFACE

The core elements of the UI are:

The directory lists and message area generally referred to here as "panes", and in particular, "file panes" or "output pane".

The file panes can be tiled side-by-side, or top-to-bottom. "Pane 1" is on the left, if the file panes are tiled side-by-side, or on the top, if the panes are tiled top-to-bottom. "Pane 2" is on the right, if the file panes are tiled side-by-side, or on the bottom, if the panes are tiled top-to-bottom.

At any time, one of the two file panes will be 'active' (have focus). The active pane is normally indicated by changed color of the column headers in the pane. However re-coloring does not work with some Gtk themes. If that applies to you, change the relevant setting on the 'panes' page of the configuration dialog (see the CONFIGURATION section, below), to enable bold column titles, as an alternative indicator.

The file panes can re-sized, or hidden, by dragging the separator or clicking a relevant toolbar button. The output pane can be resized, up to the full window size, or hidden, likewise by dragging or clicking.

You can change the order of columns displayed in either file pane. Press the mouse left-button while the mouse cursor is on the header of the column you want to move. Then drag it to where you want. Such change will be remembered between sessions.

You can change the width of any column by dragging the relevant column-separator. (There is a minimum size, related to the size of the column label.) You can hide any column by un-checking the corresponding column on the 'columns' page of the configuration dialog. Such changes will be remembered between sessions.

You can sort a file list according to the data in any column, by left-clicking on the column's header. Repeated clicks toggle the sort-order. The actual order that results depends on the user's locale settings. The result might be different from the 'traditional' way.

You can display only items which match specified name(s), date and/or permissions criteria, by setting filter(s) for the pane in question. Do that via dialogs initiated from a toolbar filters button. Directories can be included in the filtering. One or more filters can be used simultaneously. To filter items by name, you provide a string with one or more patterns, each with wildcard(s) "*" and/or "?", in general. (NOTE: there can be no '[...]' character ranges in a pattern, and "*" and "?" cannot be escaped to include them literally in a pattern). If more than one pattern is used, they must be separated by a ",". Any pattern(s) can have "!" prepended, which will cause a matched item to be excluded from the display. To include items whose name begins with "!", prepend "\" to that pattern. As a convenience, the effect of every pattern in the string can be toggled, by checking the "inverted" box.

Right-clicking on a file pane or output pane will pop up a menu of things you may wish to do, there. For the file panes, a sub-menu can be opened by pressing a <shift> or <ctrl> button before right-clicking.

The toolbars are referred to as "pane1 bar", "pane2 bar", "task bar" and "command bar". The pane1 bar is by default at the top of pane 1. The pane2 bar is by default shown at the top of pane 2. The task bar is by default shown between the file panes. The command bar is by default shown near the bottom of the window.

Pane1 bar and pane2 bar typically have the same items in them, in mirrored order (more or less). Commands initiated by the items in those bars apply to the respective pane. Task bar items mostly relate to the active pane. (By default it includes a 'refresh' button which updates both panes.) Command bar items relate to the output pane, or other miscellaneous commands.

Both pane1 bar and pane2 bar typically have a combo box where the user can enter or select a directory to be shown in the corresponding pane (referred to a a "directory line"). In addition to normal choice, clicking the middle mouse button in a directory line, or pressing <Ctrl>Tab while a directory line is 'focused', will open a directory-selection dialog.

A "navigation" window for the active pane can be displayed, and used to select the directory to show in the corresponding file pane. By default, <Shift>F9 will open this window. Activating (by mouse double-click or <Enter> keypress) any of the listed directories will cause that directory to be opened. Directories which cannot be accessed are shown in the 'negative' text color (typically, red). Note that the content of such windows is not refreshed dynamically. A context-menu includes capability to manually refresh, among other things.

By default, toolbar buttons will show tooltips, for those of us less familiar with the icons. You can change the button style to include labels, if you wish. Right-click on a toolbar to see its context menu, which includes settings which can be changed. Or open the configuration dialog, and on the relevant bar's 'options' page, change the 'button-style' option.

The output pane is more than a simple terminal window, it is also intended to be a tool.

You may have as many different output text buffers (aka tabs) as desired. They can be added or removed using the output pane context menu. If more than one tab is in use, numerical tab-titles are shown, for selecting the tab of interest at any time.

Selected text in a tab can be saved, using the relevant context-menu item. The text can be edited, again using the relevant menu item. Not that editing per se is so important, but in particular the editor has the ability to find text, and save the whole buffer. See comments below on EDITING.

Text selected in a tab can be "activated" by a double-click or a <Ctrl>-click, if that text names an item that belongs to a recognised filetype. The named item will be opened just as if it had been in a filelist. Any filepath in the selection is handled, or if there is no filepath, the directory displayed in the active file pane will be assumed.

If selected text describes a recognised filetype, and the output pane context-menu is opened by a right-click on the selection, then menu will include a sub-menu of operations for that filetype, the same menu as for a selected item of that type in a file-list context-menu.

A <Ctrl>-click, or right-click to open a context-menu, will also operate on non-selected text in the output pane, as described above. As there is no selection, space characters define the text that is used.

FINDING ITEMS

Typing, while a filepane is focussed, will select the first item whose name begins with the typed characters (not case sensitive). That item might be before or after the current position. A small window pops open near the bottom of the pane, showing the characters typed sofar.

By default the keys <Ctrl>f & F3, and a button on the command bar, will allow you to find an item in the active pane by entering into a dialog any part of the item's name. Wildcards may be entered. When scanning, this action loops round from either end of the filelist to the other end.

A find plugin allows heavy-duty searching, with that you can find item(s) anywhere, and by many attributes.

ENTRY COMPLETION

By default, the Tab key is bound to an action (see KEY BINDINGS section, below) which "completes" entries in directory lines or the command line, as follows.

When entering a path into a directory line, pressing the Tab key will complete that entry, if there is only one valid completion. If there is more than one such completion, they will be listed in the output pane. (Note also that pressing <Ctrl>Tab will open a directory-selection dialog.)

In general, when entering text into the command line, pressing the Tab key will complete the "word" that is being entered. If the entered string starts with "./", the word will be completed using the matching item-name from the active pane. If the entered string does not start with "./", the word will be completed using the matching item-name from all directories specified in the $PATH environment variable. If there is more than 1 item which could validly complete the word, those items will be listed in the output pane.

The exception to the previous paragraph is when the entered command is "mount" or "umount". A "mount" command will be completed with a valid mount point, a "umount" command will be completed with a valid unmountable partition. Again, if there is more than one possible completion, they will be listed in the output pane. Note that this form of completion is permission-depenant, so in many instances, there will be nothing valis to show.

KEY BINDINGS

Various keys are assigned specific tasks within e2.

To get a listing of the current e2 key bindings, enter the command 'keys' on the command line. You can also type 'keys panes', 'keys command line' or 'keys directory lines' to see the subset of bindings relevant to those places. (Note 'keys' in this context is a default alias, and should be translated, and may be changed by the user.)

Any key can be assigned to more than one thing, by including the key in a binding more than once.

Pressing any 'unbound' key while the focus is on a file pane opens a small window in which you can continue typing a name, and an item whose name matches what you type will be selected. Note that that window will intercept any "Enter" keypress (and the window will then close) so that if you wish to 'activate' the matched item by pressing Enter, you must wait (about 2 seconds) until the window closes, or otherwise, press Enter twice.

The "comboboxes" (entry fields with drop-down history list) used throughout the application have hard-coded key bindings <Shift><Delete> which clears the contents of the entry from the cursor position to the end, <Alt><Delete> which clears the current entry and any matching history entry(ies), and <Shift><Alt><Delete> which clears the entire history.

SELECTION

In general, things may be selected in accordance with gtk's normal method for doing so. For example, selecting items in a file-pane is done by combinations of left-burron-clicks, ctrl-key+left-clicks (which toggle selection-state of the clicked item) and shift-key+left-click (which select the range from previously-selected item to the clicked item).

As a special case, e2 (except 0.1.0 to 0.1.2) also supports selection of file-pane items by dragging. The protocol for this is: press left mouse button when the cursor is on an item, then press a control key, then drag the mouse cursor over item(s) to be selected. (A bit complex, so as to not interfere with gtk's normal selection and DnD processes.)

DRAG & DROP

Drag and drop can be performed in the standard gtk fashion, i.e. by selecting the item(s) you want to process (see SELECTION above), then dragging to a location in either of the file lists, or to any other compatible application. When dragging by left-button, the default operation is to copy the selected item(s) to the drop-target but the action will be different if 'modifer' key(s) are pressed at the time of the drop. As usual, if the Shift key is presssed while dropping, the selection will be moved; or if both Shift and Control are pressed, the selection will be linked; or if the Alt key is pressed, a menu will prompt you for the operation you want to perform (the menu allows copy/move/link/cancel). To prevent gtk from treating the process as something other than a drag, the modifier key(s) need to be pressed after the drag has started.

You may instead perform a drag with the middle-button, which behaves the same as left-plus-Alt i.e. always pops up that action menu. Note that there is an option to make middle-button clicks open the parent directory of the one where the click occurred, and it that option is in force, it may interfere with dragging by middle-button.

If you drop ONto a directory (other than one that's part of the selection being dropped), the selected item(s) will be copied/moved/linked INto that directory. This means you can copy/move/link any item into a subdirectory without opening that directory in the other pane.

If you don't drop onto a directory, the item(s) will be copied/moved/linked to the directory whose contents are displayed in that pane (if it's not the same as the source directory, of course)

It is also possible to drag and drop between different instances of emelFM2 and between emelFM2 and some other gtk-based applications like nautilus, Gnome Midnight Commander and GQView. In some cases it might work in only one direction.

TRASH

When e2 puts something into trash, it will first try to use a folder named '.Trash' in the directory the item(s) come from i.e. the one shown in the active pane. If such a folder doesn't exist, fallback choices are: '.Trash' in the user's home directory, then finally, '.emelfm2/Trash' in the user's home directory. The last of these will be created if it didn't exist already.

There is no over-write checking for trashed items. Any item with the same name, already in the trash, will simply be erased.

OPERATIONS ON FILES AND DIRECTORIES

Operations (copy, move etc) on item(s) in the active file pane are performed on the selected items, as would be expected. If a selected item is a directory, the operation applies to the directory as a whole (with its contents), NOT just to the contents of the directory. This means that if, say, a directory is moved, and in so doing over-writes another directory of the same name (usually after the user's confirmation), then the destination directory and all its contents will be replaced by the source directory and all its contents. The effect of this is that all of the contents of the destination directory are lost. Just like all the contents of a file are lost if it is over-written.

If you want to operate only on the contents of a directory, you must open the directory and select the contents explicitly.

Most such operations are added to a queue, and performed when they reach the head of that queue. This allows such operations to be initiated and performed without blocking the user-interface, when the operation takes some time to complete. Some operations - info, view, view again, edit, edit again, open, open with - are performed independently of the queue.

You can directly rename any allowed item by clicking on its name in a filelist, when the item's row is not selected. In this case, the rename action is not queued.

Actions and keybindings are provided to respectively list the finished, active, and waiting members of that queue.

BOOKMARKS

As you would expect, these are a mechanism for opening a particular directory with minimal effort.

By default, the pane1 bar and pane2 bar, and the file pane context menu, include a bookmarks sub-menu. Actually, they are a bit more complex than a standard sub-menu - each includes its own context menu (yes, we know, peculiar UI design ..) with items for adding the currently-displayed to, or removing it from, the recorded bookmarks. This is a quick alternative to opening the configuration dialog to re-arrange bookmarks.

Though accessible by these several menus, there is only one bookmarks list, which applies to both panes.

TEXT FILE VIEWING

A simple text-file viewer is included in emelFM2. By default, the F3 key is bound to open that. Alernatively, a specified external viewer may be used, if the relevant config option is set.

The internal text file viewer handles several different protocols for line-ends (UNIX, DOS etc), and tries to interpret and convert various character-encodings.

When the 'find' function is initiated, a bar of search-related options will be shown near the bottom of the window (and it can be dragged away from there). Of course the bar includes the a place to enter the text sought. That works incrementally, trying to match whatever is entered sofar. There are also options for searching backwards instead of forwards, for ignoring the case of the text sought, and for looping around from either end to the other end, if the search proceeds that far.

Finding can be initiated from the keyboard or a mouse button. The 'Enter' key has been given special privileges: by itself causes the next search, with <Control> it finds the first or (if searching backwards) the last match, and with <Shift> changes the search direction temporarily. Other than that, keys the same as the default button mnemonics may be used, with <Control> or <Alt>. As a special case, <Control>g or <Alt>g will perform a 'find'.

The viewer supports the key bindings of a gtk textview widget, other than the ones relating to editing:

There is a minimal context menu for changing default configuration.

When done with searching, the bar can be hidden again.

Entered search parameters are remembered for the duration of the current session, but not between sessions.

An action is bound to the key <Shift>F3 to view a file again (re-view), starting at the last-viewed spot in that file. This appies only to the internal viewer.

TEXT FILE EDITING

A "tiny" text-editor is available. By default, the F4 key is bound to open that. Alernatively, a specified external editor may be used, if the relevant config option is set.

The internal editor is quite basic, intended for those little jobs that are hardly worth loading another application. Functions are: find, replace, cut/copy/paste, undo, save, save as, save selection. Selected text can be dragged to another spot. No printing.

Most of these functions can be initiated from the keyboard, and the rest of them from the context menu and/or by button-click. Keyboard bindings set by emelFM2 are the same as the respective mnemonics for buttons and/or context-menu items. As a special case, <Control>z will perform an 'undo'. The editor also supports the key bindings of a gtk textview widget:

See comments above about searching. Replacement choices are made via a similar interface. When active, the bar is stacked below the search options bar.

See comments above about character encoding. The same applies to the editor.

An action is bound to the key <Shift>F4 to re-edit a file, starting at the last-viewed spot in that file. This appies only to the internal editor.

PLUGINS

These are effectively chunks of code that provide optional, additional capability for e2. Any of them may be cofigured to load (i.e. be ready to run) or not, depending on the user's expected need for it. (With a big, fast computer, just load them all and get on with life ...) Descriptions of the current plugins are provided in the respecitive tooltips, which can be displayed in the plugins context-sub-menu, or the plugins page of the configuration dialog. The view plugin always runs the internal viewer for text files, and so it is useful only if your default file viewer is set to be some external viewer.

Any plugin might only be needed for a key binding, or a toolbar button action, for example. So a loaded plugin may be configured to appear in the plugins context menu, or not. Plugin configuration settings are preserved until changed by the user.

If all goes according to plan, more plugins are coming !

Now, some specific notes:

... ... ...

disk usage plugin

Calculates the 'apparent' disk usage of selected item(s). 'Apparent' in the sense that any 'holes' in the file data which are artefacts of the filesystem are not counted in the size, even though they're not avaiable for other purposes.

directory compare plugin

Selects items which match items in the other pane. Where relevant, md5 sums are used for the comparison. After selection, items can of course be moved, copied etc, or their names copied, using that plugin. As always, selections can be inverted by pressing Ctrl-i, before processing.

find plugin

The choices made for the various buttons and text-entry strings shown in this dialog are remembered for at least the duration of the current emelFM2 session. If the plugin is still loaded at the end of a session, then the choices will be saved, and available to be re-loaded next time.

History lists for text-entry strings can be cleared by pressing <Alt>Delete when the entry in question is focused.

find by name

Here you can enter the name of the file you want to match. The e2 macros %f or %F can be used instead of explicit name(s).

If the "is" option is selected, the find will match any file of that name, which may include wildcard characters:

.* will match any or no characters. For example, the pattern "*.txt" will match files named foo.txt and .txt, but not foo.text. .? will match any one character. For example, "wibble.?" will match files named wibble.c and wibble.s, but not wibble. or foo.c.

The "is like" option will match any file whose name contains the string you enter. For example, the string ".txt" will match the files foo.txt and bar.txt, but not the file baz.text. Again, wildcard characters can be used. If the "regular expression" button is selected, all of the regex capabilities of the shell "find" command may be used. In this case, don't search for %f or %F if more than one item is selected.

find by content

You may enter a string of characters to search for in files to be matched. For example, to match all files containing "linux" you could either select the "this" option and enter "linux", or select the "like this" option and enter the pattern "*linux*". Regular expression searching is conducted by the shell \"grep\" command, for which there is extensive documentation elsewhere.

find by mime

You may enter a string of characters which are all or part of the string representing the mimetype of files to be matched. For example, "pdf" or "application/pdf" would match files in Adobe's PDF format. The string is case-sensitive.

find by mtime

These options allow you to find files according to their modification time. That is the last time that the file was saved to disk storage. You can choose whether you want to match files with times earlier than, equal to, <b>and/or</b> later than the time you have entered.

find by atime

These options allow you to find files according to their access time. That is the last time that the file was read or executed. You can choose whether you want to match files with times earlier than, equal to, <b>and/or</b> later than the time you have entered."

find by ctime

These options allow you to find files according to their inode time. That time is updated whenever a linux file is created, when its atime or mtime is changed, when its mode is changed, and other times too. You can choose whether you want to match files with times earlier than, equal to, and/or later than the time you have entered.

find by size

You may enter the size (in bytes, kilobytes or megabytes) of files to be matched. For kb or MB, the size may be like "1.23". You can choose whether you want to match files sized smaller than, equal to, and/or bigger than the size you have entered.

find by permission

These options allow you to find files according to their permissions (a.k.a "mode"). You can match against multiple permissions. The ones selected need not be the only ones that apply to matched files.

find by owner

These options allow matching files according to their owner and/or group. You can choose to match against the name/group of the logged-in user and/or another specified user or group, or to ignore the user/group. You can also match files without a known user or group by selecting the "Match unknown users" or "Match unknown groups" toggle buttons.

find by type

These options allow you to find files according to their type. You can match against multiple types.

foreach plugin

Executes an entered command on each selected item separately.

NOTE the action-name for this plugin is (in english) file.foreach. If this action is run from the command line, it needs to have a "!" prepended e.g. !file.foreach echo %f. (This is to prevent any %f or %p macro in the command from being expanded by the command-interpreter. Such expansion needs to be performed by the plugin, instead.)

glob plugin

Selects items whose name matches specified pattern(s). The selection criteria are the same as filelist filtering criteria.

move plugin

This offers the possibiitiy of pausing the move process. Any such pause begins at the completion of the item currently being moved. If that's a directory, all its decendants will be competed before the pause.

names copy plugin

This normally copies the name(s) of selected item(s) to the clipboard. If a <Shift> key is pressed when the plugin is activated, the full path of each item will be copied, instead of just its name. If a <Control> key is pressed when the plugin is activated, copied item paths or names will be separated by a "newline" character, instead of a space.

pack plugin

Archives of these sorts are supported:

..tar.gz ..tar.bz2 ..tar ..zip ..7z ..rar ..arj ..zoo

rename plugin

Items to be processed can be located in any specified filesystem directory, and optionally, in any descendant directory of the starting point.

Items to be processed can be those selected (in either displayed filelist), or all items which match a specific name, or match a name-pattern with wildcard character(s) "?" and/or "*", or a match a name-pattern with regular-expression syntax. Note that internally, regular-expression matching is always used. Regular expressions are "greedy" and this can produce unexpected results. For example, using a wildcard pattern "*-*", when renaming an item "12-34-56", the first "*" will match "12-34", not "12".

Replacement names can be made all lower-case or all upper-case, and/or a pattern which contains wildcard characters, or "back-reference(s)" to regular-expression-group(s) in the search pattern.

Documentation on regular expressions can be found by running the shell command "man 7 regex" or "man grep" or from www.regular-expressions.info/reference.html, or many other places.

In brief: these are the special characters:

This means, for example, that ".*" is needed where a wildcard "*" might have been used, and "\." for a literal "." Your installed software may only support 'basic' regular expressions, in which case any ? + { | ( ) needs to be preceded by a "\".

Groups like (EXP) may be referred to in a replacement name-pattern by \1, \2 ... in order of their occurrence.

The whole of any matching item name may be referred to in a replacement name-pattern by \0 (This is an emelFM2 extension, not standard regular expresssion syntax.)

The replacement name-pattern may include up to 4 counter macros (see macros section below, for details). In this context, initial value defaults to 1 if not explicitly provided. If more than one counter is included, the respective i and w parameters are independent of those in the other counters. A normal "%c" in the name-pattern must be escaped as "\%c".

It is generally wise to apply the confirmation option, so that each replacement name can be checked before it is applied.

thumbnails plugin

This opens a dialog window showing thumbnails of all recognised images in the active-pane directory. More than one such dialog may be opened, for either or both filepanes.

Images whose maximum dimension is less than 32 pixels are scaled up. Images whose maximum dimension is more than 128 pixels are scaled down.

No file operations (copy, delete etc) may be performed directly on items in this dialog. However, selections are normally echoed back to the associated filelist, and operations may be performed from there. Sorting of the images using the normal fields is possible via a menu opened when the Sort button is clicked.

The dialog has a context-menu which enables manual refreshes of the view contents, un-selecting all items in the view, rotating or flipping the selected items, and changing whether to replicate all [de]selections in the dialog back to the associated filelist. Any rotation or flip is for display only, the original file is not altered.

This plugin uses functions in libgimpthumb to manage thumbnail-cacheing in accordance with freedesktop.org specification.

timeset plugin

Replacement date(s) and/or time(s) may be separately set. If a new date or time is not provided, then the current value will be used. Formats of entered strings should be appropriate for the user's locale.

By way of confirmation, the corresponding 'set' box must be checked, to implement the change.

Ony the privileged user ('root') is able to vary the 'ctime' (inode change time) of any item(s). Changing ctime requires temporary changes to the system clock. That is normally unwise, as typically, other things rely on system time.

Any replacement date/time can be applied recursively if the item is a directory. If multiple selected items are being processed, the replacement date/time can be applied to all remaining unprocessed items. All selected items can be conformed by simply checking a 'set' box and applying the change to all.

... ... ...

unpack plugin

Archives of these sorts are supported:

..tar.gz ..tar.bz2 ..tar ..zip ..7z ..rar ..arj ..zoo

Compressed single-items (i.e. no tar, and usually named like "somename.ext.bz2" or "othername.ext.gz") are not supported. They can be readily unpacked by a simple command like 'bzip2 -d %f' or 'unzip %f'

view plugin

This opens the first selected item with the internal text-file viewer. It is intended to be used when the default view action is configured to use an external viewer.

CONFIGURATION

Most things about the e2 user-interface can be changed, if you wish. Hopefully the default settings are such that changes, if any, will be rare.

Settings can be viewed or changed in the configuration dialog. Open that by clicking the relevant button near the right-end of the command bar, or by pressing the F11 key (unless you've already changed the configuration of those things ..)

A separate document titled CONFIGURATION gives more specific guidance about e2 settings and how to change them.

e2 configuration data are saved, between sessions, in 2 files: one ('cache') stores data related to run-time detals the user did not specifically set e.g. window size, history lists for visited directories. The other ('config') stores the various parameters set in the configuration dialog. Both those files are by default saved in the directory ~/.emelfm2. If either or both is deleted, e2 will simply revert to default settings for the missing data.

Note that emelfm2 can (and by default does) watch for and respond to changes to the file 'config'. Some file-alteration-monitors that may be in use do not (or at least assert that they do not) follow links, so it is bad practice to make 'config' a link to some other file.

COMMANDS

Commands used in the emelFM2 (e2) command-line, or associated with a key binding, filetype, alias, are normal shell commands except as set out here.

Multiple commands may be joined by ';', as for normal shells.

In the following, surrounding parentheses ' ' are not part of the actual command.

INTERNAL COMMANDS

Names of e2 internal commands (a.k.a. actions) are of the form 'string1.string2', e.g. 'file.copy'.

Actions may be executed just like an external command, by entering the action name. You may add argument(s) for an action, with whitespace character(s) between the action name and the first argument, e.g.'file.view mydocument'.

A detailed description of actions and their arguments is provided in the document ACTIONS. A list of the actions can be found in the configuration dialog, e.g. by clicking on the action column on the 'key bindings' page.

Much like shell environment variables, internal variables may be defined and used e.g. for communication between actions or commands. As in the case of an environment variable, an internal variable can be stored by a command of the form 'NAME=VALUE', retrieved by '$NAME', and cleared by 'NAME='. In addition, a command '=VALUE' will list the name of any variable with that value, and just '=' will list all internal variables with their values. Whitespace surrounding the "=" in any variable-related command is ignored.

COMMAND MODIFIERS

There are several ways to influence how e2 runs a command (action or external command). One or more of the following may be applied:

* adding '>' to the beginning of an external command will cause it to run in a separate shell, i.e. bash, zsh, korn, sh etc. This is necessary if you want extra functionality like pipes, re-direction, fancy variable processing. Commands which include any of '|<>' are automatically run in a separate shell.

* adding '>>' to the beginning of a "joined" external command will cause it to run as a single command in a separate shell, i.e. bash, zsh, korn, sh etc. This is necessary if you do not want the individual components of the joined command to be indivually sent to the shell.

* adding '|' to the beginning of a command will cause it to 'block'. This means nothing else will happen until the command is completed. (For commands applied to selected items, any '|' will be ignored, as a configuration setting takes precedence)

* adding '!' to the beginning of a command will suppress macro expansion. (See below for macros description). This means things like '%f' will be treated literally.

* adding '&' to the end of a command will run it in the background, and all output other than standard error is suppressed. (For commands applied to selected items, any '&' will be ignored, as a configuration setting takes precedence)

MACROS

Prepending an extra '%' to the above produces the same result but without quotes

(If there is no "(cachename)@" or "*@" in a %{} macro, and the prompt is to include "@", any such character must be escaped as "\@" in the prompt string.) Any string enterted via the dialog may contain other macro(s).

Any other '%' inside a command is simply treated as part of the command.

ALIASES

e2 aliases are a mechanism for replacing part or all of a command string entered into the main command line. The process works pretty much like aliases for command line interfaces generally. Before any command is executed by e2, the recorded aliases are scanned and if a match is found, it will be substituted.

As many command aliases as you wish may be recorded in the e2 configuration data. By default 'x' will run the default terminal application, and 'keys' will list in the output pane the current key bindings. The full list can be reviewed on the 'aliases' page of the configuration dialog.

An alias can only be matched at the start of the entered command.

Alias strings may include posix extended regular expressions.

A replacement string for an alias may contain \1 or \2. The alias itself will be substituted for \1. The part of the entered command after the alias will be substituted for \2. This means you can, for example, enter a command like 'do this' and have it actually run something like 'do-the-real-command more options that always apply this', or like 'do this and that'.

OTHER SUBSITITUTION

'$$' will be replaced by the path of the active directory, very much like %d, except that in this case there is no trailing "/". Sometimes needed for path comparisons.

'$VAR' or '${VAR}' will be replaced by the value of the environment variable 'VAR', if that exists. However such replacement will NOT happen if the $VAR or ${VAR} is part or all of a string inside parentheses, e.g. 'string with $VAR' (here, the ' ' are actually part of the string). If the variable is part of a longer string, the ${} form should be used.

'$[OPT]' will be replaced by the current value of the e2 configuration option 'OPT' if it exists. The various option names can be found in the 'config' file, in lines like 'list-font=Sans 10', where 'OPT' is 'list-font'

Any '~' that is at the start of a command or command-argument, and is followed by a '/', or which is the only content of an argument, will be replaced with the current user's home directory.

Any un-escaped '*' or '?' in a command argument will be assumed to be part of a wildcard filename, and the argument in question will be expanded into a series of matching filenames (if any)

COMMUNICATION WITH CHILD PROCESSES

A command of the form 'pid:message' will pipe 'message' to the process with process id 'pid' (the process has to be a child of e2). The piped message will be encoded as utf-8.

You can set 'pid' to 0 to send 'message' to the last-started child. This provides a mechanism to pass input to an application which has been started from the command line, and is waiting for input from the user.

There is no mechanism to send a message to a child of a command which is running in a separate shell ("grand-child"?).

There is no path for getting messages back from child processes, other than for display in the output pane.

EXAMPLES

diff -c %f %F > %{Filename for patch:}

This runs the diff command to create a patch between the selected files, prompting for the filename for the patch.

tar xzvf %f -C %D &

This unpacks a selected tarball from the active directory into the inactive directory. Because of the '&' at the end, e2 will not list the output.

su rpm -Uvh %f

This opens the default terminal application and su's to root, prompting for the root password. Then it executes the RPM update command.

>rpm -qlip %f | less

This executes an rpm query command and pipes the output to 'less'.

 

For  compilation emelFM2 needs the following:

The latest source-code release is: emelfm2-0.8.1.tar.bz2 (1073 kb) - 2012-04-20

There is a page at freecode, and another at gnomefiles. You can subscribe to new releases on freecode. A ChangeLog is available.

Between releases, the latest source-code can be browsed at, and downloaded from, the subversion repository or via the 'browse-source' button at the top of this page. Almost always, such code can be compiled and run, but occasionally (and temporarily), that may not be the case.

Pre-releases and older official releases of emelFM2 are available from the DownLoads page.

References for various packaged versions are provided on the OtherDownLoads page.

The core elements of the UI are:

    lists showing information about the items in two directories (or one, if the pair show the same directory);

    a place where e2 messages, output from commands etc is shown; andfour toolbars.

Krusader

Krusader - Twin panel file management for your desktop

This project has some staying power as it exist since 2000 and is still (marginally) active as of November 2012. Current version is 2.4.0-beta2 and it remains in the beta stage for long, long time...  Project is KDE based and uses GNU license. It still enjoys active user community and both developer and user forums are active.

Krusader is an advanced twin panel (commander style) file manager for KDE and other desktops in the *nix world, similar to Midnight or Total Commander. It provides all the file management features you could possibly want. Plus:

◦Extensive archive handling
◦Mounted filesystem support
◦File transfers with (S)FTP
◦Advanced search module
◦An internal viewer and editor
◦Directory synchronisation
◦File content comparisons
◦Powerful batch renaming
◦And much much more ...

It supports a wide variety of archive formats and can handle other KIO slaves such as smb or fish. It is (almost) completely customizable, very user friendly, fast and looks great on your desktop! You should give it a try.

This piece of software is developed by the Krusader Krew, published under the GNU General Public

One nice thing about this product is that they do mention Softpanorama site in the documentation ;-)

The OFM file manager concept contains many features that make them powerful enough to belong among the best file managers today. The interface is simple: left panel, right panel and a command line below. Because of interaction between these three items the file managing will become more efficient.

If you would like to know how Krusader works you can try it yourself, just install it on your computer. To accept an Orthodox File Manager (OFM) like Krusader, the user needs to get used to new ideas that are actually already 20 years old. If you prefer to waste time and lose a lot of productivity, you can always continue to use one panel file managers that are based on Windows® Explorer.

Tux Commander

Tux Commander Homepage [Project Description]

As of November 2012 this is abandonware. The development stopped in late 2009

Tux Commander is open-source file manager with 2 panels side by side written for GTK2. It is developed using Borland Kylix 3 Open Edition (Object Pascal language). The main goal of this project is to create powerful user-friendly file manager for Linux. Some functions are (or will be) inspired by famous Total Commander. This project was started due to lack of quality mc-like file manager using any version of GTK.

This project uses Pascal bindings from the project gtk2 for pascal, designed for Free Pascal Compiler and Borland Kylix. You can now use the official package from the project website, there should not be any incompatibilities while compiling the project in Kylix. It was decided tuxcmd should be independent from any external libraries, the only thing you need is proper GTK+ 2.xx installation, any other links are made by dynamic library loading.

Unlike other open-source projects, the main distribution form of this project is the binary executable, because Kylix compiler doesn't make any optimizations for target systems, as gcc does. The other limitation of Kylix is that it is currently designed only for Linux systems and probably will never support any other Unix-based systems (for example FreeBSD, Mac OS X/Darwin). There's a problem with binary compatibility of VFS modules, principally they could be written in any programming language with different linkers, which could link the module against very specific library - mainly library with version number as the part of the filename. There will be always binary packages available, but I cannot guarantee the functionality of some modules, which are not compiled in Kylix. But you can always compile them yourself, each module has a very few dependecies to the development libraries and making it is easy. And, we are looking for some people which could make binary packages for some mainstream distributions (RedHat9, Fedora, Mandrake, SuSE...).

At this time, tuxcmd is actively developed only by me (tbzatek) without any sources in the Sourceforge's CVS. It is developed in my free time and I cannot guarantee flexible responses to bugfixes and new features, the development progress could be little slow then and might be interrupted for a few weeks (mostly due to my studies). It would be possible to commit the sources to CVS if somebody wants, so then everybody could be able to participate with the project (this mainly comprises development of plugins). After I finish a basic VFS interface, the developers will be able to make a contribution to the project through the plugin form (please see the Development section for more informations).

I will appreciate any support, if you find a bug or some inconsistency, please notice me. There is a wishlist on the Development page, please take a look at it if there is your feature before you ask. Feel free to test this app and write some feedback. I could accept any e-mails also in Czech!

X WinCommander

X WinCommander (XWC) is a File Manager for the X Window System. It was written by Maxim Baranov using the FOX C++ GUI tool kit and resembles the Total Commander look and feel. At one point this product was distributed with Mandrake so it managed to reach certain level of maturity.

Download is still available from SourceForge:  Download (last update

)

XNC -- Northern Captain
the best compiled OFM for XWindows

Northern Captain is a very interesting file manager for X Windows. I think that it's the best OFM for X Windows in existence. Northern Captain is distributed under GNU General Public License. As of 2012 this is an abandonware -- development stopped several years ( ago and the author website disappeared.).

Actually this is a very apt name, because OFMs are all about navigation in extreme conditions much like in Arctic and Antarctic.

Leonid V. Khramov began this project as a hobby in December 1995, because at this time there was no OFMs for X on Linux. First two versions of XNC were for internal use, then the author gained access to Internet and decided to make a public release. The first public release was XNC 3.0. The current version (As of October 2012) is of 5.0.4. All versions were released under GPL. After development by original author stopped the project never managed to find another developer/maintainer.

XNC has some interesting functions. It supports VFS for TAR, ZIP, RAR, RPM, LHA. It is also supports Xtree "flat" VFS (called "Branch view display mode" in XNC). It allows you to view all files in subdirectories at the same time (hotkey Ctrl+B).

When executing commands XNC overlays xterm window  over the panels imitating the behaviors of the command line windows in OFMs, but I see no capability of seeing "half" of panels in this mode.

It has built in Xterminal, viewer for JPEG, GIF, BMP, TGA, XPM, XBM formats, built-in editor, etc.

XNC is a highly configurable program. You can change Layouts, fonts, sizes, colors. HotDir Bookmark with up to ten entries allow jumping to the most useful directories.

Drag and Drop make XNC very friendly for mouse fans and allow to perform many actions with files in an intuitive way.

Hot Keys are easily redefinable with XNCSetup. That makes XNC more flexible than MC.

As I already mentioned above, XNC has been ported to all major Unixes including AIX 4.x, NetBSD 1.3, OpenBSD 2.3. Among key XNC features I are would to mention:

X Northern Captain Package contains the following programs (each program may be used separately):

Since version 4.4.4 X Northern Captain has plugins support for loading different skins/themes. Two themes are available- Aqua theme and Five theme. You can found screen shots on the main XNC site.

Precompiled binaries are available for all major UNIXes including Linux, FreeBSD, NetBSD, OpenBSD, Solaris, AIX, HP-UX, Tru64, QNX Neutrino. With some minor modifications XNC can be compiled for Solaris too (The X11 header files don't declare a return type, which is illegal in C++. This is well known problem, and the workaround would be to specify the "-fpermissive" flag to gcc. This turns the errors into warnings.)

As of 2012 one of the few reliable download place for the source is Sunsite/pub/Linux/X11/desktop. It features version 5.0.3

Dec 31 2003 00:00         1049 xnc-5.0.4.lsm
Dec 31 2003 00:00      2130633 xnc-5.0.4.src.tar.gz

Debian and Mandriva has version 5.0.4 RPMs

Debian

Package xnc

Mandriva

Package Summary Distribution Download
xnc-5.0.4-6mdv2008.1.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2009.1 for x86_64 xnc-5.0.4-6mdv2008.1.x86_64.rpm
xnc-5.0.4-6mdv2008.1.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2009.0 for x86_64 xnc-5.0.4-6mdv2008.1.x86_64.rpm
xnc-5.0.4-6mdv2008.1.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2010.0 for x86_64 xnc-5.0.4-6mdv2008.1.x86_64.rpm
xnc-5.0.4-6mdv2008.1.i586.html X Northern Captain - X filemanager with many functions Mandriva 2009.1 for i586 xnc-5.0.4-6mdv2008.1.i586.rpm
xnc-5.0.4-6mdv2008.1.i586.html X Northern Captain - X filemanager with many functions Mandriva 2009.0 for i586 xnc-5.0.4-6mdv2008.1.i586.rpm
xnc-5.0.4-6mdv2008.1.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2010.1 for x86_64 xnc-5.0.4-6mdv2008.1.x86_64.rpm
xnc-5.0.4-6mdv2008.1.i586.html X Northern Captain - X filemanager with many functions Mandriva 2010.1 for i586 xnc-5.0.4-6mdv2008.1.i586.rpm
xnc-5.0.4-6mdv2008.1.i586.html X Northern Captain - X filemanager with many functions Mandriva 2010.0 for i586 xnc-5.0.4-6mdv2008.1.i586.rpm
xnc-5.0.4-6mdv2007.0.i586.html X Northern Captain - X filemanager with many functions Mandriva 2007.0 for i586 xnc-5.0.4-6mdv2007.0.i586.rpm
xnc-5.0.4-6mdv2007.0.i586.html X Northern Captain - X filemanager with many functions Mandriva 2008.0 for i586 xnc-5.0.4-6mdv2007.0.i586.rpm
xnc-5.0.4-6mdv2007.0.i586.html X Northern Captain - X filemanager with many functions Mandriva 2007.1 for i586 xnc-5.0.4-6mdv2007.0.i586.rpm
xnc-5.0.4-6mdk.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2008.0 for x86_64 xnc-5.0.4-6mdk.x86_64.rpm
xnc-5.0.4-6mdk.ppc.html X Northern Captain - X filemanager with many functions Mandriva devel cooker for ppc xnc-5.0.4-6mdk.ppc.rpm
xnc-5.0.4-6mdk.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2007.0 for x86_64 xnc-5.0.4-6mdk.x86_64.rpm
xnc-5.0.4-6mdk.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2007.1 for x86_64 xnc-5.0.4-6mdk.x86_64.rpm
xnc-5.0.4-3mdk.i586.html X Northern Captain - X filemanager with many functions Mandriva 10.1 for i586 xnc-5.0.4-3mdk.i586.rpm
xnc-5.0.4-3mdk.i586.html X Northern Captain - X filemanager with many functions Mandriva 2006.0 for i586 xnc-5.0.4-3mdk.i586.rpm
xnc-5.0.4-3mdk.i586.html X Northern Captain - X filemanager with many functions Mandriva devel 2006.0 for i586 xnc-5.0.4-3mdk.i586.rpm
xnc-5.0.4-3mdk.i586.html X Northern Captain - X filemanager with many functions Mandriva 10.2 for i586 xnc-5.0.4-3mdk.i586.rpm
xnc-5.0.4-10mdv2011.0.i586.html X Northern Captain - X filemanager with many functions Mandriva devel cooker for i586 xnc-5.0.4-10mdv2011.0.i586.rpm
xnc-5.0.4-10mdv2011.0.x86_64.html X Northern Captain - X filemanager with many functions Mandriva devel cooker for x86_64 xnc-5.0.4-10mdv2011.0.x86_64.rpm
xnc-5.0.4-10mdv2011.0.i586.html X Northern Captain - X filemanager with many functions Mandriva 2011 for i586 xnc-5.0.4-10mdv2011.0.i586.rpm
xnc-5.0.4-10mdv2011.0.x86_64.html X Northern Captain - X filemanager with many functions Mandriva 2011 for x86_64 xnc-5.0.4-10mdv2011.0.x86_64.rpm
Mandriva 2011 ISO is available as  Torrent download Mandriva 2011 x86_64 1 iso Torrent Download and from Mandriva Linux 2011:

xnc-5.0.4-6mdv2008.1 RPM for i586

From Mandriva 2009.1 for i586 / media / contrib / release

Name: xnc Distribution: Mandriva Linux
Version: 5.0.4 Vendor: Mandriva
Release: 6mdv2008.1 Build date: Thu Dec 20 20:01:46 2007
Group: File tools Build host: n5.mandriva.com
Size: 3120852 Source RPM: xnc-5.0.4-6mdv2008.1.src.rpm
Packager: Thierry Vignaud <tvignaud@mandriva.com>
Url: http://www.xnc.dubna.su
Summary: X Northern Captain - X filemanager with many functions
This program allows the user to navigate through many filesystems,
manipulate files, archives, execute commands in builtin shell, view
and edit images, text and binary files...

Provides

Requires

License

GPL

Changelog

* Thu Dec 20 2007 Thierry Vignaud <tvignaud@mandriva.com> 5.0.4-6mdv2008.1
  + Revision: 135913
  - really fix build
  - further fix build
  - fix build
  - revert r135564
  - auto-convert XDG menu entry
  - adatp to new docdir
  - kill re-definition of %buildroot on Pixel's request
  - buildrequires X11-devel instead of XFree86-devel
  - import xnc
* Fri Jan 13 2006 Anssi Hannula <anssi@mandriva.org> 5.0.4-6mdk
  - fix BuildRequires
* Sun Jan 08 2006 Anssi Hannula <anssi@mandriva.org> 5.0.4-5mdk
  - fix x86_64 build
* Wed Jan 05 2005 Lenny Cartier <lenny@mandriva.com> 5.0.4-4mdk
  - rebuild
* Tue Aug 24 2004 Charles A Edwards <eslrahc@mandrake.org> 5.0.4-3mdk
  - rebuild for new menu
* Thu Jun 17 2004 Charles A Edwards <eslrahc@mandrake.org> 5.0.4-2mdk
  - rebuild
  - quiet setup
  - fix Section in menu
* Fri Jan 09 2004 Lenny Cartier <lenny@mandrakesoft.com> 5.0.4-1mdk
  - 5.0.4
* Tue Sep 02 2003 Lenny Cartier <lenny@mandrakesoft.com> 5.0.2-4mdk
  - owns datadir/xnc-version
* Thu Jul 24 2003 Lenny Cartier <lenny@mandrakesoft.com> 5.0.2-3mdk
  - buildrequires from Michael Scherer
* Wed May 07 2003 Lenny Cartier <lenny@mandrakesoft.com> 5.0.2-2mdk
  - buildrequires
* Thu Feb 06 2003 Lenny Cartier <lenny@mandrakesoft.com> 5.0.2-1mdk
  - 5.0.2
  - use versioning when installing files
* Thu Jan 09 2003 Charles A Edwards <eslrahc@bellsouth.net> 5.0.0-1mdk
  - 5.0.0
  - convert src tar.gz to tar.bz2 
  - icons
  - menu entry
  - add files
  - spec clean-up--get rid of stuff we don't need anymore
* Sat Sep 07 2002 Lenny Cartier <lenny@mandrakesoft.com> 4.4.7-3mdk
  - rebuild
* Sat Jun 01 2002 Lenny Cartier <lenny@mandrakesoft.com> 4.4.7-2mdk
  - rebuild against new libstdc++
  - clean spec ( macros )
* Fri Apr 26 2002 Lenny Cartier <lenny@mandrakesoft.com> 4.4.7-1mdk
  - updated by Charles A Edwards <eslrahc@bellsouth.net>

Files

/etc/X11/wmconfig/xnc
/usr/bin/bzip.xnc
/usr/bin/groups.xnc
/usr/bin/gzip.xnc
/usr/bin/iedit
/usr/bin/ives
/usr/bin/iview
/usr/bin/rpm.xnc
/usr/bin/users.xnc
/usr/bin/view.xnc
/usr/bin/xjpegroot
/usr/bin/xnc
/usr/bin/xnc-en
/usr/bin/xncloader
/usr/bin/xncsetup
/usr/bin/xncsetup-en
/usr/bin/xnlaunch
/usr/bin/zips.xnc
/usr/lib/xnc
/usr/lib/xnc/libxncaqua.so
/usr/lib/xnc/libxncfive.so
/usr/share/applications/mandriva-xnc.desktop
/usr/share/applications/xnc-gnome2.desktop
/usr/share/applnk/System/X_Northern_Captain.desktop
/usr/share/doc/xnc
/usr/share/doc/xnc/AUTHORS
/usr/share/doc/xnc/INSTALL
/usr/share/doc/xnc/INSTALL-bin.xnc
/usr/share/doc/xnc/LICENSE
/usr/share/doc/xnc/README
/usr/share/doc/xnc/README.keys
/usr/share/doc/xnc/TODO
/usr/share/doc/xnc/WHATS_NEW
/usr/share/doc/xnc/release.news
/usr/share/gnome/apps/Applications/xnc.desktop
/usr/share/icons/large/xnc.png
/usr/share/icons/mini/xnc.png
/usr/share/icons/xnc.png
/usr/share/locale/cs
/usr/share/locale/cs/LC_MESSAGES
/usr/share/locale/cs/LC_MESSAGES/xnc.mo
/usr/share/locale/es
/usr/share/locale/es/LC_MESSAGES
/usr/share/locale/es/LC_MESSAGES/xnc.mo
/usr/share/locale/fr
/usr/share/locale/fr/LC_MESSAGES
/usr/share/locale/fr/LC_MESSAGES/xnc.mo
/usr/share/locale/hu
/usr/share/locale/hu/LC_MESSAGES
/usr/share/locale/hu/LC_MESSAGES/xnc.mo
/usr/share/locale/it
/usr/share/locale/it/LC_MESSAGES
/usr/share/locale/it/LC_MESSAGES/xnc.mo
/usr/share/locale/nl
/usr/share/locale/nl/LC_MESSAGES
/usr/share/locale/nl/LC_MESSAGES/xnc.mo
/usr/share/locale/pl
/usr/share/locale/pl/LC_MESSAGES
/usr/share/locale/pl/LC_MESSAGES/xnc.mo
/usr/share/locale/pt
/usr/share/locale/pt/LC_MESSAGES
/usr/share/locale/pt/LC_MESSAGES/xnc.mo
/usr/share/locale/ro
/usr/share/locale/ro/LC_MESSAGES
/usr/share/locale/ro/LC_MESSAGES/xnc.mo
/usr/share/locale/ru
/usr/share/locale/ru/LC_MESSAGES
/usr/share/locale/ru/LC_MESSAGES/xnc.mo
/usr/share/locale/sp
/usr/share/locale/sp/LC_MESSAGES
/usr/share/locale/sp/LC_MESSAGES/xnc.mo
/usr/share/locale/sr
/usr/share/locale/sr/LC_MESSAGES
/usr/share/locale/sr/LC_MESSAGES/xnc.mo
/usr/share/man/man1/iedit.1.lzma
/usr/share/man/man1/ives.1.lzma
/usr/share/man/man1/iview.1.lzma
/usr/share/man/man1/xjpegroot.1.lzma
/usr/share/man/man1/xnc.1.lzma
/usr/share/man/man1/xnlaunch.1.lzma
/usr/share/pixmaps/xnc.png
/usr/share/pixmaps/xnc.xpm
/usr/share/xnc-5.0.4
/usr/share/xnc-5.0.4/help
/usr/share/xnc-5.0.4/help/doc1.html
/usr/share/xnc-5.0.4/help/doc2.html
/usr/share/xnc-5.0.4/help/doc3.html
/usr/share/xnc-5.0.4/help/doc4.html
/usr/share/xnc-5.0.4/help/doc5.html
/usr/share/xnc-5.0.4/help/doc6.html
/usr/share/xnc-5.0.4/help/doc7.html
/usr/share/xnc-5.0.4/help/doc8.html

RPM Mandriva 2010 xnc-debug 5.0.4 i586 rpm

 

Not A Commander

Not A Commander - a better rip-off of Norton Commander(tm)

This is abandonware by Sergey Babkin <babkin@users.sourceforge.net>. Development stopped in 2006. Last version is date November 2005. An interesting part of the project is that that author tried "to keep the interaction with the command line unimpeded and transparent."  Also mc.ext file can be resued with nac.

This project's purpose is a file manager for X11 with the user interface inspired by the Norton Commander (tm). Unlike the other NC clones, I try to keep the interaction with the command line unimpeded and transparent. I also try to do things more in the Unix way. The development is going in the Way of Natural Stupidity: first get sometihng working and then add the features and refine the design. The main architectural goal is to keep the architecture flexible and make future changes easy.

The current state of development is "alpha": at least all the basic features are implemented in at least a basic way.


My article about the Tk geometry managers written in Tcl is now available online - see below.


Download:

(now the links point to the SourceForge download server select page, instead of the files directly as they used to)

The 1.0-ALPHA stage snapshots:

nac-1.0-SNAP-051109.tgz 203167 bytes (latest) 

... ... ...
 

See the README file

See the CHANGES log file

See the differences between the README files of the last two releases.

The CVS repository is finally working even though there is a bit of garbage collected in it and I commit the changes infrequently. The right directory to check out is naccvs.

 


Subscribe to the mailing lists nac-announce (announcements about the new versions of NAC only) and nac-devel (general discussion). There has not been a whole lot of activity on these lists yet but it should start some time. :-)

 


Use the usual SourceForge services for NAC, such as: CVS, mailing lists and their archives, history of file releases and auto-notification, project news.

 


See a screen shot

This is how it looks on my machine with my favorite bitmapped font. The image is slightly blurry due to the JPEG compression. The look corresponds to the version 1.0-SNAP-010214 (though in the directory you may see a few newer files).


Want to download this font ? I've personally designed this font for PC somewhere around 1990 and later converted to BDF. In the second half of the table (codes 128-255) it contains PC presudo-graphical characters and Russian letters, available in 3 encodings: Alternative (A.K.A. IBM CP-866) - "alt9x16", Main (A.K.A. GOST-1981 A.K.A. Russian subset of ISO8859/5) - "iso9x16" and KOI-8 (A.K.A. GOST-1974) - "koi9x16".

You may also want to download the mc.ext file (that can be used by NAC) to avoid downloading the whole Midnight Commander.

Older abandonware compiled implementations

Pash

Pash is console-based manager with some unique capabilities in controlling the processes. It has been written by Pierre Adriaans and is distributed as an Open Source program.. MC developers probably can reuse some nice features.

The most interesting was that Pierre Adriaans was one of few OFM developers who understood the potential of OFMs as a graphic frontend to the Unix shell. As a result Pash went farther then most in this direction:

Besides all the classical file manipulation functions (copy, move, ...), Pash also acts as a shell, allowing you to control Processes and IPC devices. The Process Handling Function allows you to view all your current processes and to send signals to each of them. The IPC Device Control Function will display all the Message Queues, Shared Memories or Semaphores active in the system and allow you to destroy any of them.

Complete source code with makefile for Linux is available from Pierre Adriaans website ("as of January 1997, the complete source code of Pash is available for all you Amiga and Power PC users to play with").

 Linux port is available from ibiblio.org and all its mirrors

The Unix Cockpit

The Unix Cockpit is an open source program (from version 3.0). It's an X-based File Manager written by Henrik Klagges. UC2.0 is available for many Unix flavors and runs well on modest hardware. Everything, including the online help system, is contained in one single file. No superuser privileges are necessary for installation -- just download the version you like from here or ftp it in binary mode from one of the distribution sites.

gentoo

gentoo is a file manager written in C. It uses the GTK+ toolkit, and the two-pane concept. What makes gentoo stand out are its graphical configurability and its real cool file typing and styling system. Using the latter, gentoo identifies the type of your files and then uses the style you've defined for the type to determine how to display it in listings. Actively maintained.

gentoo is somewhat inspired in its look & feel by the classic Amiga program DirectoryOpus 4. gentoo has been successfully tested on a variety of platforms, including Linux (x86, Alpha, and PS2/MIPS), Solaris, FreeBSD, NetBSD and OpenBSD.

Features

Some of the main features of gentoo are:

Gnu Interactive Tools (GIT)

GIT is an implementation of a command line OFM for Unix produced by Tudor Hulubei <tudor@cs.unh.edu>. Seems to be actively maintained. Current version as October 2003 is Version 4.3.20. It's very portable: the language used is the old style K&R, so that even the oldest C compiler, with no ANSI support will have no problems compiling it.

As far as key bindings it looks like it is less OFM compatible than MC, but file operations have standard OFM bindings (F5-F8). I have no working experience with the product, but it looks that within limits imposed by a particular version of Unix key binding are configurable. This is a definite advantage over MC

GIT contains three interactive programs:

Each one of these programs has its own set of key bindings.

GIT is GNU Autoconf based. In the latest version the build/installation procedure is now based on automake.

The unique capability of GIT among Unix-based OFMs (that make is somewhat similar to FAR) is a the possibility to add new commands. The configuration file can be easily enhanced, allowing the user to add new commands or file operations, depending on its needs or preferences.

Prev Contents Next



Etc

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: September 12, 2017