[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

B. Smart Key Reference

This appendix supplies complete documentation on Smart Key operation. It is quite extensive and is meant for reference rather than sequential reading. See section 4. Smart Keys, for a description of the Smart Keys. That section also describes how to get context-sensitive Smart Key help, with which you can explore Smart Key operation bit by bit.

Smart Key operations are context-sensitive. Contexts are described herein as conditionals, e.g. when depressed here, if this is true, etc. Each Smart Key context is listed in the order in which it will be checked. The first matching context is always the one applied. Within each context, the actions performed by the Action and Assist Keys are listed.

B.1 Smart Mouse Keys  
B.2 Smart Keyboard Keys  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

B.1 Smart Mouse Keys

Smart Key drags and modeline presses can only be used when running under a window system with mouse key support. So keep in mind that the operations in this section apply only if you have mouse support within Hyperbole. The Smart Key operations in, B.2 Smart Keyboard Keys, apply to both mouse and keyboard Smart Key usage.

 
If dragged from a side-by-side window edge or from the immediate left of
a vertical scroll bar:
  ACTION or ASSIST
     Resizes adjacent window sides to the point of drag release.

 
If dragged from inside one window to another:
  ACTION
     Creates a new link button at the drag start location, linked to the
     drag end location.  If drag start position is within a button,
     modifies the button to link to drag end location.
  ASSIST
     Swaps buffers in the two windows.

 
If dragged horizontally within a single window while depressed
(hmouse-x-drag-sensitivity sets the minimal horizontal movement which
registers a drag):
  ACTION
     Goes to buffer end if drag was to the right, otherwise goes to beginning.
  ASSIST
     Splits window vertically if drag was to the right, otherwise deletes
     window.

 
If depressed within a window mode line:
  ACTION
     (1) clicked on left edge of a window's modeline,
         window's buffer is buried (placed at bottom of buffer list);
     (2) clicked on right edge of a window's modeline,
         the Info buffer is displayed, or if already displayed and the
         modeline clicked belongs to a window displaying Info, the Info
         buffer is hidden;
     (3) clicked anywhere in the middle of a window's modeline,
	 the functions listed in 'assist-key-modeline-hook' are
         called;
     (4) dragged vertically from modeline to within a window,
         the modeline is moved to point of key release, thereby resizing
         its window and potentially its vertical neighbors.
  ASSIST
     (1) clicked on left edge of a window's modeline,
         bottom buffer in buffer list is unburied and placed in window;
     (2) clicked on right edge of a window's modeline,
         the summary of Smart Key behavior is displayed, or if already
         displayed and the modeline clicked belongs to a window displaying
         the summary, the summary buffer is hidden;
     (3) clicked anywhere in the middle of a window's modeline,
         a popup menu (if available) is displayed;
     (4) dragged vertically from modeline to within a window,
         the modeline is moved to point of key release, thereby resizing
         its window and potentially its vertical neighbors.

 
If dragged vertically within a single window while depressed
(hmouse-y-drag-sensitivity sets the minimal vertical movement which
registers a drag):
  ACTION or ASSIST
     Splits current window into two side-by-side windows.

 
If dragged diagonally within a single window while depressed
(hmouse-x-diagonal-sensitivity and hmouse-y-diagonal-sensitivity set the
minimal diagonal movement which registers a drag):
  ACTION
     Save current window configuration onto a ring of window configurations.
  ASSIST
     Restores prior window configuration from ring.  A prefix argument N
     specifies the Nth prior configuration from the ring.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

B.2 Smart Keyboard Keys

 
When prompting for a Hyperbole argument, a press in the minibuffer:
  ACTION
     Terminates this minibuffer argument.
  ASSIST
     Offers completion help for current minibuffer argument.

 
When reading a Hyperbole menu item or a Hyperbole completion-based argument:
  ACTION
     Returns value selected at point if any, else nil.  If
     value is the same as the contents of the minibuffer, it is used as the
     current minibuffer argument, otherwise, the minibuffer is erased and
     value is inserted there.

  ASSIST
     Displays Hyperbole menu item help when item is selected.

 
When pressed at the end of a line but not the end of a buffer:
  ACTION
     Scrolls up according to value of smart-scroll-proportional.  If
     smart-scroll-proportional is nil or if point is on the top
     window line, scrolls up (forward) a windowful.  Otherwise, tries to
     bring current line to top of window.  Leaves point at end of line and
     returns t if scrolled, nil if not.
  ASSIST
     Scrolls down according to value of smart-scroll-proportional.  If
     smart-scroll-proportional is nil or if point is on the
     bottom window line, scrolls down (backward) a windowful.  Otherwise,
     tries to bring current line to bottom of window.  Leaves point at end of
     line and returns t if scrolled, nil if not.

 
When pressed on a Hyperbole button:
  ACTION
     Activates button.
  ASSIST
     Displays help for button, typically a summary of its attributes.

 
If pressed within a buffer in View major or minor mode:
  ACTION
     Scrolls buffer forward a windowful and quits from view mode when at
     the last line of the buffer.
  ASSIST
     Scrolls buffer backward a windowful.

 
When pressed within a Hyperbole outliner buffer (kotl-mode):
  ACTION
     (1) at the end of buffer, uncollapse and unhide all cells in view;
     (2) within a cell, if its subtree is hidden then show it,
         otherwise hide it;
     (3) between cells or within the read-only indentation region to the
         left of a cell, then move point to prior location and begin
	 creation of a klink to some other outline cell; hit the Action
	 Key twice to select the link referent cell;
     (4) anywhere else, scroll up a windowful.
  ASSIST
     (1) at the end of buffer, collapse all cells and hide all non-level-one
         cells;
     (2) on a header line but not at the beginning or end, display
         properties of each cell in kotl beginning at point;
     (3) between cells or within the read-only indentation region to the
         left of a cell, then move point to prior location and prompt to
         move one tree to a new location in the outline; hit the Action
         Key twice to select the tree to move and where to move it;
     (4) anywhere else, scroll down a windowful.

 
When pressed on a Smart Menu item:
  ACTION
    Activates item.
  ASSIST
    Displays help for item.

 
When pressed at the end of a Help buffer:
  ACTION or ASSIST
    Restores window configuration prior to help display.

 
When pressed within an OO-Browser listing window:
  ACTION
     (1) in a blank buffer or at the end of a buffer, browser help
         information is displayed in the viewer window;
     (2) at the beginning of a (non-single char) class name, the class'
         ancestors are listed;
     (3) at the end of an entry line, scrolls listing up;
     (4) on the '...', following a class name, point is moved to the class
         descendency expansion;
     (5) before an element name, the implementor classes of the name are
         listed;
     (6) anywhere else on an entry line, the source is displayed for editing.
  ASSIST
     (1) in a blank buffer, a selection list of buffer files is displayed;
     (2) at the beginning of a (non-single char) entry, the class'
         descendants are listed;
     (3) at the end of an entry line, scrolls listing down;
     (4) on the '...', following a class name, point is moved to the class
         expansion;
     (5) anywhere else on a class entry line, lists the class' elements;
     (6) anywhere else on an element line, lists the element's implementor
         classes;
     (7) on a blank line following all entries, the current listing buffer
         is exited.

 
When pressed within an OO-Browser Command Help Menu buffer:
  ACTION
     Executes an OO-Browser command whose key binding is at point.
  ASSIST
     Displays help for an OO-Browser command whose key binding is at point.

 
When pressed on an identifier within an OO-Browser source file:
  ACTION
     Tries to display identifier definition.
  ASSIST
     Not applicable.

 
When pressed within a C source code file:
  ACTION
     Jumps to the definition of selected C construct:
     (1) on a '#include' statement, the include file is displayed;
         Look for include file in directory lists
         'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
     (2) on a C identifier, the identifier definition is displayed,
         assuming the identifier is found within an 'etags' generated tag file
         in the current directory or any of its ancestor directories.
     (3) if 'smart-c-use-lib-man' is non-nil, the C identifier is
         recognized as a library symbol, and a man page is found for the
         identifier, then the man page is displayed.
  ASSIST
     Jumps to the next tag matching an identifier at point.

 
When pressed within an assembly source code file:
  ACTION
     Jumps to the definition of selected assembly construct:
     (1) on an include statement, the include file is displayed;
         Look for include file in directory list
         'smart-asm-include-dirs'.
     (2) on an identifier, the identifier definition is displayed,
         assuming the identifier is found within an 'etags' generated
	 tag file in the current directory or any of its ancestor
	 directories.
  ASSIST
     Jumps to the next tag matching an identifier at point.

 
When pressed within a C++ source code file:
  ACTION
     Jumps to the definition of selected C+ construct:
     (1) on a '#include' statement, the include file is displayed;
         Look for include file in directory lists
         'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
     (2) on a C++ identifier, the identifier definition is displayed,
         assuming the identifier is found within an 'etags' generated tag file
         in the current directory or any of its ancestor directories.
     (3) if 'smart-c-use-lib-man' is non-nil, the C++ identifier is
         recognized as a library symbol, and a man page is found for the
         identifier, then the man page is displayed.
  ASSIST
     Jumps to the next tag matching an identifier at point.

 
When pressed within a Objective-C source code file:
  ACTION
     Jumps to the definition of selected C+ construct:
     (1) on a '#include' statement, the include file is displayed;
         Look for include file in directory lists
         'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
     (2) on an Objective-C identifier, the identifier definition is displayed,
         assuming the identifier is found within an 'etags' generated tag file
         in the current directory or any of its ancestor directories.
     (3) if 'smart-c-use-lib-man' is non-nil, the Objective-C identifier is
         recognized as a library symbol, and a man page is found for the
         identifier, then the man page is displayed.
  ASSIST
     Jumps to the next tag matching an identifier at point.

 
When pressed on a Lisp symbol within a Lisp code buffer:
  ACTION
     Jumps to the definition of any selected Lisp construct.
     If on an Emacs Lisp require, load, or autoload clause and 'find-library'
     from load-library package by Hallvard Furuseth <hallvard@ifi.uio.no> has
     been loaded, jumps to library source, if possible.
  ASSIST
     Jumps to the next tag matching an identifier at point or if using the
     "wtags" package and identifier is an Emacs Lisp symbol, then displays
     documentation for the symbol.

 
When the OO-Browser has been loaded and the press is within a C++ buffer:
  ACTION or ASSIST
     Jumps to the definition of selected C++ construct via OO-Browser support.
     (1) on a '#include' statement, the include file is displayed;
         Look for include file in directory lists
         'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
     (2) within a method declaration, its definition is displayed;
     (3) on a class name, the class definition is shown.

 
When the OO-Browser has been loaded and the press is within a
Objective-C buffer:
  ACTION or ASSIST
     Jumps to the definition of selected Objective-C construct via
     OO-Browser support.
     (1) on a '#include' statement, the include file is displayed;
         Look for include file in directory lists
         'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
     (2) within a method declaration, its definition is displayed;
     (3) on a class name, the class definition is shown.

 
When pressed within an occur-mode or moccur-mode buffer:
  ACTION or ASSIST
     Jumps to the source buffer and line of the current occurrence.

 
When pressed within a calendar-mode buffer:
  ACTION
     (1) at the end of the buffer, the calendar is scrolled forward 3 months;
     (2) to the left of any dates on a calendar line, the calendar is scrolled
         backward 3 months;
     (3) on a date, the diary entries for the date, if any, are displayed.
  ASSIST
     (1) at the end of the buffer, the calendar is scrolled backward 3 months;
     (2) to the left of any dates on a calendar line, the calendar is scrolled
         forward 3 months;
     (3) anywhere else, all dates with marking diary entries are marked in the
         calendar window.

 
When pressed within a man page apropos buffer:
  ACTION
     (1) on a UNIX man apropos entry, the man page for that entry is
         displayed in another window;
     (2) on or after the last line, the buffer in the other window is
         scrolled up a windowful.
  ASSIST
     (1) on a UNIX man apropos entry, the man page for that entry is
         displayed in another window;
     (2) on or after the last line, the buffer in the other window is
         scrolled down a windowful.

 
If Smart Menu package has been loaded and 'hkey-always-display-menu' is
non-nil:
  ACTION or ASSIST
     Pops up a window with a Smart Menu of commands.
     Menu displayed is selected by (smart-menu-choose-menu).

 
If pressed within an outline-mode buffer or when 'selective-display' is
non-nil:
  ACTION
     Collapses, expands, and moves outline entries.
     (1) after an outline heading has been cut via the Action Key, then paste
         the cut heading at point;
     (2) at the end of buffer, show all buffer text
     (3) at the beginning of a heading line, cut the headings subtree from the
         buffer;
     (4) on a header line but not at the beginning or end, if headings
         subtree is hidden then show it, otherwise hide it;
     (5) anywhere else, scroll up a windowful.
  ASSIST
     (1) after an outline heading has been cut via the Action Key, allow
         multiple pastes throughout the buffer (last paste should be done
         with the Action Key, not the Assist Key);
     (2) at the end of buffer, hide all bodies in buffer;
     (3) at the beginning of a heading line, cut the current heading (sans
         subtree) from the buffer;
     (4) on a header line but not at the beginning or end, if heading body is
         hidden then show it, otherwise hide it;
     (5) anywhere else, scroll down a windowful.

 
If pressed within an Info manual node:
  ACTION
     (1) the first line of an Info Menu Entry or Cross Reference, the desired
         node is found;
     (2) the Up,Next,or Previous entries of a Node Header (first line),
         the desired node is found;
     (3) the File entry of a Node Header (first line),
         the 'Top' node within that file is found;
     (4) at the end of the current node, the Next node is found (this will
         descend subtrees if the function 'Info-global-next' is bound);
     (5) anywhere else (e.g. at the end of a line), the current node entry is
         scrolled up a windowful.
  ASSIST
     (1) the first line of an Info Menu Entry or Cross Reference, the desired
         node is found;
     (2) the Up,Next,or Previous entries of a Node Header (first line),
         the last node in the history list is found;
     (3) the File entry of a Node Header (first line),
         the 'DIR' root-level node is found;
     (4) at the end of the current node, the Previous node is found (this will
         return from subtrees if the function 'Info-global-prev is bound);
     (5) anywhere else (e.g. at the end of a line), the current node entry is
         scrolled down a windowful.

 
If pressed within a Hyperbole-supported mail reader, 'hmail:reader', or mail
summary mode, 'hmail:lister', buffer at:
  ACTION
     (1) a msg buffer, within the first line or at the end of a message,
         the next undeleted message is displayed;
     (2) a msg buffer within the first line of an Info cross reference, the
         reference is followed;
     (3) anywhere else in a msg buffer, the window is scrolled up one
	 windowful;
     (4) a msg summary buffer on a header entry, the message corresponding to
         the header is displayed in the msg window;
     (5) a msg summary buffer, on or after the last line, the messages marked
         for deletion are expunged.
  ASSIST
     (1) a msg buffer, within the first line or at the end of a message,
         the previous undeleted message is displayed;
     (2) a msg buffer within the first line of an Info cross reference, the
         reference is followed;
     (3) anywhere else in a msg buffer, the window is scrolled down one
         windowful;
     (4) a msg summary buffer on a header entry, the message corresponding to
         the header is marked as deleted;
     (5) a msg summary buffer, on or after the last line, all messages are
         marked undeleted.

 
If pressed within a GNUS listing of newsgroups buffer at:
  ACTION
     (1) a GNUS-GROUP line, that newsgroup is read;
     (2) to the left of any GNUS-GROUP line, on any of the whitespace, the
         current group is unsubscribed or resubscribed;
     (3) at the end of the GNUS-GROUP buffer, after all lines, checks for new
         news.
  ASSIST
     (1) a GNUS-GROUP line, that newsgroup is read;
     (2) to the left of any GNUS-GROUP line, on any of the whitespace, the
         user is prompted for a group name to subscribe or unsubscribe to;
     (3) at the end of the GNUS-GROUP buffer, after all lines, quits from the
         newsreader.

 
If pressed within a GNUS newsreader subject listing buffer at:
  ACTION
     (1) a GNUS-SUBJECT line, that article is read, marked deleted, and
         scrolled forward;
     (2) at the end of the GNUS-SUBJECT buffer, the next undeleted article
         is read or the next group is entered.
  ASSIST
     (1) a GNUS-SUBJECT line, that article is read and scrolled backward;
     (2) at the end of the GNUS-SUBJECT buffer, the subject is exited, the
         user is returned to group mode.

 
If pressed within a GNUS newsreader article buffer at:
  ACTION
     (1) the first line or end of an article, the next unread message is
         displayed;
     (2) the first line of an Info cross reference, the reference is followed;
     (3) anywhere else, the window is scrolled up a windowful.
  ASSIST
     (1) the first line or end of an article, the previous message is
         displayed;
     (2) the first line of an Info cross reference, the reference is followed;
     (3) anywhere else, the window is scrolled down a windowful.

 
If pressed within a listing of buffers (Buffer-menu-mode):
  ACTION
     (1) on the first column of an entry, the selected buffer is marked for
         display;
     (2) on the second column of an entry, the selected buffer is marked to be
         saved;
     (3) anywhere else within an entry line, all saves and deletes are done,
         and selected buffers are displayed, including the one just clicked
         on (if in the OO-Browser, only the selected buffer is displayed);
     (4) on or after the last line in the buffer, all saves and deletes are
         done.
  ASSIST
     (1) on the first or second column of an entry, the selected buffer is
         unmarked for display and for saving or deletion;
     (2) anywhere else within an entry line, the selected buffer is marked for
         deletion;
     (3) on or after the last line in the buffer, all display, save, and delete
         marks on all entries are undone.

 
If pressed within a dired-mode buffer:
  ACTION
     (1) within an entry line, the selected file/directory is displayed
         for editing in the other window;
     (2) on or after the last line in the buffer, if any deletes are to be
         performed, they are executed after user verification, otherwise, this
         dired invocation is quit.
  ASSIST
     (1) on a '~' character, all backup files in the directory are marked for
         deletion;
     (2) on a '#' character, all auto-save files in the directory are marked
         for deletion;
     (3) anywhere else within an entry line, the current entry is marked for
         deletion;
     (4) on or after the last line in the buffer, all delete marks on all
         entries are undone.

 
If pressed within a tar-mode buffer:
  ACTION
     (1) within an entry line, the selected file/directory is displayed
         for editing in the other window;
     (2) on or after the last line in the buffer, if any deletes are to be
         performed, they are executed after user verification, otherwise, this
         tar file browser is quit.
  ASSIST
     (1) on an entry line, the current entry is marked for deletion;
     (2) on or after the last line in the buffer, all delete marks on all
         entries are undone.

 
If pressed on a cross reference within a man page entry section labeled
NAME, SEE ALSO, or PACKAGES USED, or within a man page C routine
specification (see 'smart-man-c-routine-ref') and man page buffer
has either an attached file or else a man-path local variable
containing its pathname:
  ACTION or ASSIST
     Displays man page or source code for cross reference.

 
If pressed on a world-wide web universal resource locator:
  ACTION
     Displays the URL referent at point.
  ASSIST
     Goes back to a previously displayed web page.

 
If pressed in a Gomoku game buffer.
  ACTION
     Makes a move at the space pointed to.
  ASSIST
     Takes back a prior move made at the space pointed to.

 
If pressed within an entry in the wrolo match display buffer:
  ACTION or ASSIST
     The entry is edited in the other window.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by XEmacs shared group account on December, 19 2009 using texi2html 1.65.