;;; Commentary:
-;; Elpher is a tool for exploring "gopherspace" using GNU Emacs.
+;; Elpher aims to provide a full-featured gopher client for GNU Emacs.
+;; It supports:
+
+;; - intuitive keyboard and mouse-driven browsing,
+;; - caching of visited sites (both content and cursor position),
+;; - pleasant and configurable colouring of Gopher directories,
+;; - direct visualisation of image files,
+;; - clickable web and gopher links in plain text.
+
+;; The caching mechanism works by maintaining a hierarchy of visited
+;; pages rather than a linear history, meaning that it is quick and
+;; easy to navigate this history.
+
+;; To launch Elpher, simply use 'M-x elpher'. This will open a start
+;; page containing information on key bindings and suggested starting
+;; points for your gopher exploration.
+
+;; Faces, caching options and start page can be configured via
+;; the Elpher customization group in Applications.
;;; Code:
"If non-nil, cache images in memory in the same way as other content."
:type '(boolean))
+(defcustom elpher-start-address nil
+ "If nil, the default start directory is shown when Elpher is started.
+Otherwise, a list containing the selector, host and port of a directory to
+use as the start page."
+ :type '(list string string integer))
+
+
;;; Model
;;
"Start elpher with default landing page."
(interactive)
(setq elpher-current-node nil)
- (let ((start-node (elpher-make-node nil nil #'elpher-get-index-node)))
+ (let ((start-node (elpher-make-node nil
+ elpher-start-address
+ #'elpher-get-index-node)))
(elpher-visit-node start-node))
"Started Elpher.") ; Otherwise (elpher) evaluates to start page string.