Function: strokes-help

strokes-help is an autoloaded, interactive and byte-compiled function defined in strokes.el.gz.

Signature

(strokes-help)

Documentation

Get instruction on using the Strokes package.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/strokes.el.gz
    (sleep-for 1)))			; helpful for recursive edits

;;;###autoload
(defun strokes-help ()
  "Get instruction on using the Strokes package."
  (interactive)
  (with-output-to-temp-buffer "*Help with Strokes*"
    (princ
     (substitute-command-keys
      "This is help for the strokes package.

------------------------------------------------------------

** Strokes...

The strokes package allows you to define strokes, made with
the mouse or other pointer device, that Emacs can interpret as
corresponding to commands, and then executes the commands.  It does
character recognition, so you don't have to worry about getting it
right every time.

Strokes also allows you to compose documents graphically.  You can
fully edit documents in Chinese, Japanese, etc. based on Emacs
strokes.  Once you've done so, you can ASCII compress-and-encode them
and then safely save them for later use, send letters to friends
\(using Emacs, of course).  Strokes will later decode these documents,
extracting the strokes for editing use once again, so the editing
cycle can continue.

To toggle strokes-mode, invoke the command

> \\[strokes-mode]

** Strokes for controlling the behavior of Emacs...

When you're ready to start defining strokes, just use the command

> \\[strokes-global-set-stroke]

You will see a ` *strokes*' buffer which is waiting for you to enter in
your stroke.  When you enter in the stroke, you draw with button 1 or
button 2, and then end with button 3.  Next, you enter in the command
which will be executed when that stroke is invoked.  Simple as that.
For now, try to define a stroke to copy a region.  This is a popular
edit command, so type

> \\[strokes-global-set-stroke]

Then, in the ` *strokes*' buffer, draw the letter `C' (for `copy')
and then, when it asks you to enter the command to map that to, type

> copy-region-as-kill

That's about as hard as it gets.
Remember: paint with button 1 or button 2 and then end with button 3.

If ever you want to know what a certain strokes maps to, then do

> \\[strokes-describe-stroke]

and you can enter in any arbitrary stroke.  Remember: The strokes
package lets you program in simple and complex (multi-lift) strokes.
The only difference is how you *invoke* the two.  You will most likely
use simple strokes, as complex strokes were developed for
Chinese/Japanese/Korean.  So the shifted middle mouse button (S-mouse-2)
will invoke the command `strokes-do-stroke'.

If ever you define a stroke which you don't like, then you can unset
it with the command

> \\[strokes-unset-last-stroke]

You can always get an idea of what your current strokes look like with
the command

> \\[strokes-list-strokes]

Your strokes will be displayed in alphabetical order (based on command
names) and the beginning of each simple stroke will be marked by a
color dot.  Since you may have several simple strokes in a complex
stroke, the dot colors are arranged in the rainbow color sequence,
`ROYGBIV'.  If you want a listing of your strokes from most recent
down, then use a prefix argument:

> \\[universal-argument] \\[strokes-list-strokes]

Your strokes are stored as you enter them.  They get saved into the
file specified by the `strokes-file' variable, along with other strokes
configuration variables.  You will be prompted to save them when you
exit Emacs, or you can save them with

> \\[strokes-prompt-user-save-strokes]

Your strokes get loaded automatically when you enable `strokes-mode'.
You can also load in your user-defined strokes with

> \\[strokes-load-user-strokes]

** Strokes for pictographic editing...

If you'd like to create graphical files with strokes, you'll have to
be running a version of Emacs with XPM support.  You use the binding
to `strokes-compose-complex-stroke' to start drawing your strokes.
These are just complex strokes, and thus continue drawing with mouse-1
or mouse-2 and end with mouse-3.  Then the stroke image gets inserted
into the buffer.  You treat it somewhat like any other character,
which you can copy, paste, delete, move, etc.  When all is done, you
may want to send the file, or save it.  This is done with

> \\[strokes-encode-buffer]

Likewise, to decode the strokes from a strokes-encoded buffer you do

> \\[strokes-decode-buffer]

** A few more important things...

o The command `strokes-do-complex-stroke' is invoked with M-mouse-2,
  so that you can execute complex strokes (i.e. with more than one lift)
  if preferred.

o Strokes are a bit computer-dependent in that they depend somewhat on
  the speed of the computer you're working on.  This means that you
  may have to tweak some variables.  You can read about them in the
  commentary of `strokes.el'.  Better to just use \\[apropos] and read their
  docstrings.  All variables/functions start with `strokes'.  The one
  variable which many people wanted to see was
  `strokes-use-strokes-buffer' which allows the user to use strokes
  silently--without displaying the strokes.  All variables can be set
  by customizing the group `strokes' via \\[customize-group]."))
    (set-buffer standard-output)
    (help-mode)
    (help-print-return-message)))