source: doc/intro.txt

Last change on this file was 4fd3c04, checked in by Anders Kaseorg <andersk@mit.edu>, 7 years ago
Remove AIM support This code has received almost no security attention, and anyway, AIM is shutting down on December 15, 2017. https://aimemories.tumblr.com/post/166091776077/aimemories Signed-off-by: Anders Kaseorg <andersk@mit.edu>
  • Property mode set to 100644
File size: 14.4 KB
Line 
1                     ========================
2                     Quick Guide To Using Owl
3                     ========================
4
5=======================
6Section 1: INTRODUCTION
7=======================
8
9Owl is a tty, curses-based instant messaging client.  This is a quick
10guide to learning how to use it.  Currently Owl supports zephyr,
11but other messaging protocols, including Jabber, are on the way.  Some
12major features of owl include:
13
14   o) As a tty client it can be run over telnet, rlogin or text ssh
15      sessions
16
17   o) It uses a perl configuration file for setting preferences and
18      formatting messages
19
20   o) Emacs style editing of messages
21
22   o) It is easy to use and runs without a configfile.
23
24   o) Advanced sorting and coloring of messages
25
26==========================
27Section 2: GETTING STARTED
28==========================
29
30Owl will run happily without a configuration file, so to get started
31just run the program.  Owl will take over the terminal window it is
32started in, so you may wish to have another terminal window available
33at the same time.
34
35On Athena you can find owl in the ktools locker.  To run it, type:
36
37     add ktools
38     owl
39
40at the Athena% prompt.  If you wish to run the latest beta release of
41owl use:
42
43     add ktools
44     owl-beta
45
46instead.  The beta release will often have newer features, but is not
47as tried and true as the production release.  As a result it may be
48less stable.
49
50The Screen Layout
51-----------------
52There are three main parts to the owl screen.  The large top portion
53of the screen is where messages are displayed.  The status bar
54separates this area from the one below and displays owl status
55information.  The space below that is used to type messages and is
56also used by owl to give warnings and information to the user.
57
58On Line Help
59------------
60Owl has a full on line help system.  Pressing the 'h' key will bring
61up the basic help screen.  Further help can be obtained using the help
62command, described later.
63
64Sending a Zephyr
65----------------
66To send a zephyr press the 'z' key.  This will start a zwrite command,
67which you can finish by typing the name of the user you wish to send
68to, followed by enter.  Begin typing your message.  You will notice
69that most emacs-style editing is available.  When you are ready to
70send the message type Control-D or a dot ('.') on a line by itself.
71If instead you wish to cancel the message type Control-C.
72
73If you wish to send to a class/instance pair simply supply -c and -i
74arguments to the zwrite command as you normally would.
75
76Manipulating Messages
77---------------------
78When there are zephyrs in the message window, one of them will be the
79'current' message.  Owl will indicate which one it is with an arrow
80that looks like this: -> The following keys will move you to different
81messages:
82
83     n            move to the next non-deleted message
84     p            move to the previous non-deleted message
85     C-n or down  move to the next message
86     C-p or up    move to the previous message
87     <            move to the first message
88     >            move to the last message
89     C-v          page down
90     M-v          page up
91     right        scroll the screen to the right
92     left         scroll the screen to the left
93     P            move to the next personal message
94     M-P          move to the previous personal message
95
96When you are ready to delete a message you can mark it for deletion
97with the 'd' key, and a 'D' will appear to the left of the message.
98Messages will not actually be removed until you perform an expunge.
99The following keys are used to delete, undelete and expunge messages:
100
101     d            mark a message for deletion
102     u            unmark a message for deletion
103     x            expunge deleted messages
104     T            mark all 'trash' messages for deletion
105     M-D          mark all messages in the view for deletion
106     M-u          unmark all messages in the view for deletion
107
108If you would like to respond to a message sent to you there is a reply
109shortcut:
110
111     r            Reply.  Personal messages get a personal reply,
112                       group messages get a group reply.
113     R            Reply to sender.  Always replies personally
114                       to the sender.
115     M-r          Reply but allow editing of the command line.
116     M-R          Reply to sender but allow editing of the
117                       command line.
118
119In the event that the current message is too large to fit on the
120screen, you can scroll within the message using the following keys:
121
122     SPACE        page down
123     b            page up
124     RETURN       line down
125     BACKSPACE    line up
126
127The message pointer will change to indicate that the message is not
128starting at the first line.
129
130Two other keys that relate to the current message:
131
132     i            print detailed information about the message
133     w            instruct netscape to visit a URL in the message
134
135Other Functions
136----------------
137Some other functions that can be performed with a single keystroke:
138
139     A            toggle zephyr zaway on or off
140     C-l          refresh and resize the screen
141     C-z          suspend
142
143Command Mode
144------------
145Owl has a command mode from which you can enter more detailed commands
146for Owl to process.  To enter command mode press the colon (':') key:
147
148     :            begin command mode
149
150Owl will give you a command prompt and you can begin typing your
151command.  Type Enter to execute the command, Control-C to cancel.
152There are many commands.  The basic commands are listed on the basic
153help screen (by pressing 'h').  If you'd like a list of all commands
154you can use the command:
155
156     show commands
157
158And for detailed information on the syntax and use of a command you
159can use:
160
161     help <command>
162
163For example "help zwrite" will display all the options available when
164using the zwrite command.
165
166Variables
167---------
168Owl has a number of internal variables that can be used to change the
169behavior the program.  The 'print' command will let you view the value
170of a variable and the 'set' commmand will let you set the value of a
171variable.  For example:
172
173     set personalbell on
174
175will set the value of the variable 'personalbell' to 'on'.  The
176command:
177
178     print personalbell
179
180will show you the current value.  The 'print' command with no
181arguments:
182
183     print
184
185Owl will show you the value of all variables.  You can also use
186
187     show variables
188
189     show variable <variable>
190
191To display further information on owl variables.
192
193
194================
195Section 3: VIEWS
196================
197
198Owl always displays a current "view" of messages.  The view describes
199which set of messages should be included on the display.  The default
200view is called "all" and includes every message.  However, you can
201narrow the view to a particular set of messages:
202
203     M-n          Narrow view to the selected conversation
204     M-N          Narrow view to selected conversation by instance
205     V            Return to the home view (the 'all' view)
206     X            Expunge messages and return to home view
207
208If you press M-n while the pointer is on a personal message, the view
209will be narrowed to the conversation with that user only.  If used on
210a group message the conversation will be narrowed to that group.
211
212There are also some Owl commands related to views:
213
214     viewclass <class>     Narrow the view to the named zephyr class
215     viewuser <user>       Narrow the view to the named user
216
217More information on views and how they work is included in the section
218on "FILTERS AND COLORS".
219
220=============================
221Section 4: FILTERS AND COLORS
222=============================
223
224Filters
225-------
226Owl will allow you to create custom message filters.  A message filter
227is an expression that matches a set of messages based on certain
228criteria.  Owl comes with a number of build-in filters already.  You can
229view a list of them with the command:
230
231     show filters
232
233The default filters include:
234
235     all              Matches all messages
236     none             Matches no messages
237     personal         Only personal messages (no group messages)
238     login            Login/Logout notifications
239     auto             Messages generated by automated programs
240     out              Messages sent from you to another user
241     zephyr           Zephyr messages
242     trash            "Trash" messages
243     ping             Zephyr pings
244     reply-lockout    Messages for which the reply commands
245                          should not work
246
247If you wish to view the messages that match a particular filter, use
248the 'view' command.  For example:
249
250     view personal
251
252This will display only personal messages on the screen.  You can
253change back to the 'all' view by pressing the 'V' key (capitalized).
254Note that the 'v' key (not capitalized) is a shortcut to bring up the
255'view' command.
256
257You can also create your own filters.  For more information on this,
258consult the Owl Advanced Users Guide.
259
260Colors
261------
262Every filter can have a color associated with it.  Messages matching
263the filter will then be displayed in that color if your terminal
264supports it.  The color for a filter can be set by using the '-c'
265option to the filter command.  For example:
266
267     filter personal -c white
268
269This cause all messages in the 'personal' filter to be displayed in
270white.  You can produce a list of the colors available to Owl with the
271command:
272
273     show colors
274
275If a message matches more than one filter it will be displayed in the
276color specified in the last filter listed in the 'show filters'
277command.
278
279If you would like your color settings to persist, such that they are
280preset every time you start Owl, please read the "Saving Your
281Settings" section below.
282
283===============================
284Section 5: SAVING YOUR SETTINGS
285===============================
286
287Any changes you make to Owl are lost when the program is terminated,
288unless you specify otherwise.  If you would like a setting to persist
289such that it is available every time you start Owl you can use the
290word 'startup' before any command.  For example:
291
292     startup filter personal -c white
293
294Will instruct Owl to color personal messages white both in the current
295session and in any future Owl session.  You may revert this behavior
296with the 'unstartup' command:
297
298     unstartup filter personal -c white
299
300which will not affect the current session, but will cause future
301sessions not to take this action.
302
303Here is another example, this instructs Owl to display zephyr ping
304messages:
305
306     startup set rxping on
307
308==========================
309Section 6: THE CONFIG FILE
310==========================
311
312*** WARNING: This interface may change substantially in the near future ***
313
314The ~/.owlconf file is interpreted by the perl interpreter.  You may
315specify an alternate file by running owl with "owl -c <configfile>".
316
317If you wish to execute an owl command from .owlconf use the function
318owl::command().  i.e.:
319
320     owl::command('set zsigproc "/mit/kretch/bin/getzsig foo"');
321
322Subroutines created with the names below will be executed at the
323specified times:
324
325    subroutine name    properties
326    ---------------    ----------
327    owl::startup()     run when owl first starts
328    owl::shutdown()    run when owl exits
329    owl::format_msg()  run to format messages when using the perl style.
330                       The return value is used to display the message on the
331                       screen.
332    owl::receive_msg() run when a message is received, and after
333                       it has been added to the message list
334
335Both owl::format_msg and owl::receive_msg are passed perl owl::Message
336objects which contain attributes of the message.  Please see the
337advanced.txt file for further documentation of the Perl extension API.
338
339The "appendtosepbar" variable may be set in owl::format_msg() to set
340text to be appended to sepbar that separates the received message list
341from the edit window.
342
343
344==========================================
345Section 4: KEYBINDINGS AND COMMAND ALIASES
346==========================================
347
348Aliases
349-------
350
351Command aliases allow users to create shortcuts
352for commonly used commands.  Aliases can be created wit
353the alias command:
354
355    alias NAME VALUE
356
357For example:
358
359    alias zw zwrite
360
361Will make "zw" an alias for the zwrite command.  As such, "zw aphacker"
362will be expanded to "zwrite aphacker".  If the value of an
363alias is multiple words, use of the alias will result in the alias
364command name being replaced by the sequence of words.
365Any arguments following the alias name will be appended
366after the expanded alias value.  For example:
367
368   alias vs view -s
369
370will result in "vs standard" being expanded to "view -s standard".
371There is not yet any way to allow an alias to take arguments
372that will be inserted in the middle of the expansion.
373
374
375Separating Commands
376-------------------
377
378Multiple commands can be grouped together with parentheses
379and then separated by semicolons.  For example:
380
381   ( smartnarrow ; delete view ; expunge ; view all )
382
383Will result in the four commands being executed
384in sequence.  This is particularly useful with key bindings
385and coommands.  For example:
386
387   alias sn-delete ( smartnarrow ; delete view )
388
389will create an "sn-delete" alias that will smartnarrow
390to a view and them mark the view for deletion.
391
392Using "show commands" will list all existing aliases.
393
394
395Key Bindings
396------------
397
398New key bindings may be created with the "bindkey" command.  Each key
399binding is associated with a particular keymap which is applicable in
400a particular context/situation.  When the key associated with a
401binding is pressed in the right context, it will result in an owl
402command being run.  The syntax is:
403
404   bindkey <keymap> <keyseq> command <command>
405
406For example:
407
408   bindkey recv C-k command delete
409
410will bind Control-k to the delete command, but only in the
411recv window context.
412
413Some keymaps inherit their bindings from more
414general keymaps.  The valid keymaps are:
415
416  - global            - owl-wide defaults (apply everywhere)
417    |-edit            - all text editing and command windows
418    |  |-editmulti    - multi-line text editing windows
419    |  |-editline     - single-line editing and command windows
420    |  |-editresponse - single-line responses to questions
421    |-popless         - scrolling pop-up windows
422    |-recv            - the main message list window
423                        where received messages are displayed
424
425The existing key bindings can be shown with "show keymaps".
426The use of "show commands" will list all available commands.
427Note that not all commands may be used in all contexts.
428
429Key sequences may be surrounded by quotes and include
430a sequence of keys that must be pressed in order
431to execute the command.  For example:
432
433   bindkey recv "C-s v" command view -s vt
434
435will result in "Control-s" followed by "v" in the recv window
436causing the command "view -s vt" to be run.
Note: See TracBrowser for help on using the repository browser.