[comp.emacs] Mouse and Menu support for V18 Emacs

russell@glencoe.turing.ac.uk (Russell Ritchie) (06/01/90)

I've had a couple of requests :-) for my Emacs-Lisp for mode-specific

menus for Emacs, so here it is. As mentioned before in a couple of
posts, the highlights are as follows:   

 It implements global and local mouse-maps for X and SunView, along
 with per-buffer menus. Additionally, for those of you without
 bitmapped screens, the menu facilities are available in "terminal"
 form for use on the wide range of VDUs Emacs currently runs on.

 The menu stuff gives the following:

  + menu-based help facilities 
  + optional keybinding reminders for menu items
  + a large set of default menus for
    - rmail and mail
    - dired
    - file and buffer manipulation
    - Emacs Lisp, other Lisps and PROLOG
    - text, TeX, LaTeX and BibTeX
    - shells and inferior processes

 The mouse stuff (not on VDUs) gives ``multiple mouse maps''. By
 default there are 4 maps: text, scrollbar, modeline and minibuffer
 (SunView emacstool users will be familiar with the idea...). The idea
 is that the mouse does different things in the different regions, e.g.

  + In the text region the right mouse button (by default) pops up a
    mode-specific menu of possible commands (optionally showing
    keybindings if any). Left and middle interact for cut and paste.

  + In the scrollbar region (the rightmost 5 columns, settable via
    x-mouse-scrollbar-width) various up/down scrolling options are
    available. 

  + In the modeline region, left and right give scroll-up/down, middle
    does scroll-proportional (using y-offset as the file percentage).

  + In the minibuffer region, left and right do command-history
    previous and next, middle does eval-expression.

  + In all regions meta-control-shift-right pops up mouse-help, which
    will tell you about all the other commands too numerous to list here.

Enough talking, the next/nearby 3 posts should be the appropriate
parts of the uuencoded, compressed, tar archive containing the
Emacs-Lisp files, README, INSTALL, .emacs, .Xdefaults, .xinitrc and .twmrc.  

Have fun.