What is Here

The code in this directory started out nearly thirty years ago (Emacs 18.59 was the latest and greatest) as support code for an experimental software project. In addition, this support code had its own experimental nature, which is reflected in various ways by the way the code is written. This support code has been in continual use since its inception. However, development essentially ceased several years ago due to diminished need and other intruding life-activities. But, there are ideas manifest in this code which the author believes have some merit. Thus, long-standing intentions to repair and upgrade have been honoured; and the support code has been pruned somewhat, extended a little, and hosted in Emacs 27.1. What is here is being made available in case it is of use to anyone.

There is none of the original software project in this package, just key items of the support package. The primary aspect of the support is a presentation and information system centered around keymaps, what they look like, and information about, and access to, their commands. There are more than 3200 symbols in the Emacs standard obarray, and a good fraction of those are commands. The key objective of this software was, and remains, to aid in assisting in comprehension; a big task.

The support package is named NavigationShell and it is entirely keyboard driven. The latter characteristic runs counter to what is seen in today's trends, where clickable menus abound, even in Emacs. If this keyboard driven characteristic sounds to you like a bug rather than a feature, then you should not waste any more time, but abandon reading this text immediately.

The justification for NavigationShell being keyboard driven was, and still is, the following. The author uses Emacs to write software and other texts by typing on a keyboard; the mouse has no input to this activity. Given that context, not using the mouse, not shifting a hand from one input device to another and back, but controlling the behaviour of Emacs via the keyboard, makes sense to the author.

The package required some modification to Emacs distribution code, and this still is true, although improved hardware, faster and with hugely more memory, has reduced the modifications. For this modifications reason the package cannot be made a simple entity such as a major mode, which would be better, of course. What follows is a guide describing installation and initial use of the software, which is in a tutorial and demonstration format. The recommended procedure is to use this slightly modified Emacs 27.1 for an hour or two, without modifying it, and without combining it with another Emacs configuration. This hour or two will enable you to see what is here.

Installation

Download the NavigationShell package via the link at the bottom of this page. It is recommended to put this distribution .tgz file in its own directory, named as you choose. Unpack the file with shell command: tar -xzf navshell.tgz. Once the distribution file is unpacked, you can see there are an additional two directories and an .html file. With one minor exception, described fully in the tutorial, under NavigationShell, nothing happens outside these directories. So, deleting the encompassing directory you created and its contents, and the exception file, completely eliminates the NavigationShell package from your computer.

The unpacked file README-in-a-browser.html is very similar in content to what you are reading; follow the instructions either in that file or what follows here. There is no point in reading both.

These instructions are Linux/Unix oriented. The first thing to do is build the supplied emacs-27.1. This emacs is slightly modified from the standard distribution. However, if the standard distribution builds on your system, then so will this modified version. Change to the emacs-27.1 directory, and run commands ./configure followed by make. The build procedure is described fully in the INSTALL file in the emacs-27.1 directory.

No building is necessary in the Nepenthes directory. However, environmental variable HOME must be set correctly, it is highly likely that this is set already. Check by running command echo $HOME in an operating system shell; this will show your home directory if the environmental variable is set, and that is all that is required. If the variable is not set then commanding HOME=/your/user/home/directory; export HOME should do it.

To run Emacs with the tutorial software use a command like this:
/your/unpacked/path/emacs-27.1/src/emacs -q -l /your/unpacked/path/Nepenthes/service/.emacs
The -q suppresses the loading of any .emacs in your home directory; this is recommended initially to avoid any unpredictable conflicts. After trying the tutorial, it is likely that you will want to eliminate this suppression, and handle the conflicts. The other parameter loads a file that does all the initialization for the tutorial; it is recommended that initially you do not change anything in this file.

Use

The author of this software normally runs Emacs fullscreen in its own desktop; fullscreen is recommended initially. Press key sequence M-f1 n; this starts the NavigationShell tutorial by putting you in the *info* buffer, continue from there.

However, there may be a gotcha. If your operating system uses M-f1 for some purpose: swapping windows, displaying a menu, etc., then the above will not work simply because Emacs does not receive the keystrokes, thus NavigationShell is seriously disabled.

Download

Click the link to download a large .tgz file; save in a (new) directory on your computer: NavigationShell Tutorial


Contact Information

last-modification-date: 22 Oct 2021