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.
|