Added more desired features for Phase 2.
[wiki.git] / doc / UsingZephyr
index bae4fe8038f38b5dc36d558e4dac14e94c298ee4..00885bf6dee8228f856512374a7db116fa1017c6 100644 (file)
@@ -1,4 +1,6 @@
-= Using Zephyr =
+= Using Zephyr (a.k.a. Zephyr For Dummies) =
+
+For information on the archaic way of using Zephyr, see TraditionalZephyr.
 
 == Introduction to Zephyr ==
 
@@ -6,49 +8,21 @@ Zephyr was a system designed to let system administrators send important message
 
 The information in this wiki about Barnowl just barely touches the surface.  More for in-depth functionality, visit the Barnowl wiki at https://barnowl.scripts.mit.edu:444/wiki.
 
-== Traditional Zephyr (archaic) ==
-
-When you log into Athena, you may occasionally see a white box pop up with text on it.  This is Zephyr in it's traditional form.
-
-=== Terminology ===
-
-'''windowgrams''' are the small windows that appear on your screen with a message from another person.
-
-'''Zephyrgrams''' are the messages that you send and receive when you are using Zephyr. They can appear as windowgrams or in other forms, depending on which client you are using. 
-
-'''zwgc''' is the basic, traditional Zephyr client.
-
-=== Basic Commands ===
-
-'''zlocate''' '''''friend''''' is the command used to find out if user "friend" is logged in and subscribing to zephyrgrams. If they are logged in and subscribing to messages you will receive information about where they are logged in. If they are not logged in you will receive the message "Hidden or not logged-in." This means they either do not want to be found or are not logged in.
-
-'''zwrite''' '''''friend''''' is used to send a message to {{{friend}}}. Just follow the instructions given. If you get an error saying the person is hidden or not logged in then your message has not been sent and the person you are trying to reach is not logged in or is not subscribing to messages and you should try sending e-mail instead.
-
-'''zctl hide''' can be used to "hide" yourself. When hidden you are not {{{zlocatable}}}, but if someone tries to zwrite you anyway they will succeed. 
-
-'''zctl wg_shutdown''' should be used if you want to stop receiving zephyrgrams for this session.
-
-'''zctl set zwrite-signature "foo"''' (quotes are mandatory) will change your Zephyr signature, or zsig, to foo. By default your zsig is your name as it exists in your finger information. It shows up in a zephyrgram before your username. You can change it to almost anything you like, although you should avoid very long zsigs since they tend to annoy people. 
-
-'''zaway''' is used to let people know you are away from the terminal and not deliberately ignoring their messages. It sends a message to whoever sends you a personal zephyrgram that lets them know that you are away (and will probably respond later). 
-
-'''zwgc -ttymode''' will start up a Zephyr client when you are logged in remotely. Zephyrs appear as plain text on your screen. 
-
-'''znol''' will let you know which people on a list are logged in. Your {{{~/.anyone}}} file should contain the list of usernames you want to know about (it should have one name per line and no spaces). You will also be sent login and logout notices in the form of a zephyrgram whenever one of the users in your list logs in or out (if they are announced, see below) after you have run {{{znol}}} during a session. 
-
-'''zctl set exposure exposurelevel''' will set your exposure (how other people know when you are logged in). An exposure level of {{{net-announced}}} causes login and logout notices to be sent to people who have you in their {{{.anyone}}} file, and you will be zlocatable. {{{net-visible}}} is the same except login and logout notices are not sent. The {{{realm-announced}}}  and {{{realm-visible}}} settings require authentication before your information is divulged, but behave in most situations in the same way as {{{net-announced}}} and {{{net-visible}}}, respectively. The {{{opstaff}}}  setting makes you unable to be zlocated and does not send login and logout notices. Finally the {{{none}}} setting provides no information about you and '''you will not be able to receive zephyrgrams'''.
-
-'''zctl sub message foo *''' will subscribe you to a Zephyr "instance" named foo. Zephyr instances (and classes) allow groups of people to have conversations via Zephyr. The above {{{zctl}}} command will subscribe you to the instance {{{foo}}} for your current login only; to make it more permanent replace {{{sub}}} with {{{add}}}. To unsubscribe for this login only change {{{sub}}} to {{{unsub}}}, and to unsubscribe permanently use {{{delete}}} instead. 
+== Modern Zephyr ==
 
-'''zwrite -i foo''' will send a message to the Zephyr instance {{{foo}}}.
+Today the majority of Zephyr users use the barnowl client.  There are other clients as well (for example, Pidgin supports Zephyr).  The following sections will go into detail about how to install, use, and customize barnowl.
 
-'''zctl sub foo * *''' subscribes you to the Zephyr class {{{foo}}}. Zephyr classes are slightly more private than instances as you must know the name of the class to subscribe to it. {{{unsub}}}, {{{add}}} and {{{delete}}} work the same way for classes as for instances. 
+=== Other Clients ===
 
-'''zwrite -c foo''' sends a zephyr(gram) to class {{{foo}}}. 
+There are other clients besides Barnowl, however their use is not nearly as widespread.  Some of these include:
 
-== Modern Zephyr ==
+* Owl (unmaintained, Barnowl evolved from this)[[BR]]
+* vt / jervt[[BR]]
+* zwgc (see TraditionalZephyr)[[BR]]
+* Pidgin[[BR]]
+* zephyr-mode for emacs[[BR]]
 
-Today the majority of Zephyr users use the barnowl client.  There are other clients as well (for example, Pidgin supports Zephyr).  The following sections will go into detail about how to install, use, and customize barnowl.
+Using Barnowl is recommended, as it is better supported and more documentation exists for it.
 
 === Using Barnowl ===
 
@@ -56,7 +30,7 @@ To start barnowl, run the command {{{add barnowl; barnowl}}} at the prompt on an
 
 The simplest use of Zephyr is to send personal zephyrs to other users. To send a zephyr, type : to bring up a command line, and run the command {{{zwrite USERNAME}}}. You can also start a {{{zwrite}}} command by simply typing z.
 
-You can then enter your message, and then enter a {{{.}}} on a line by itself to finish the zephyr. By convention, zephyrs are usually word-wrapped to 70-character lines or so; Pressing M-q (Alt-q) will word-wrap the text you've entered for you.
+You can then enter your message, and then enter a {{{.}}} on a line by itself to finish the zephyr. By convention, zephyrs are usually word-wrapped to 70-character lines or so; Pressing M-q (Alt-q, or Escape then q) will word-wrap the text you've entered for you.
 
 Once you've sent and received zephyrs, you can navigate the message list with the arrow keys. Press {{{d}}} to mark a message as deleted, {{{u}}} to undelete it, and {{{x}}} to expunge all messages that have been marked as deleted.
 
@@ -106,17 +80,19 @@ Some common classes include:
 
 If you spend enough time on Zephyr, you'll begin noticing some strange phrases and words being thrown around.  Some of these include:
 
-'''i,i foo''':  originated from CMU and means "I have no point here, I just like to say".  Sometimes people simply use quotes: {{{"foo"}}}
+'''i,i foo''':  picked up from CMU zephyrland and means "I have no point here, I just like saying:".  Sometimes people simply use quotes: {{{"foo"}}}.
 
 '''mix''':  If somebody accidentally sends a Zephyr to the wrong class or person, they will send another Zephyr to that wrong/class person simply saying "mix".  This basically just means, "oops, sorry, I didn't mean to send that Zephyr here".  You might also see "-i mix", which is the same thing, only with instances.
 
 '''.d''':  You may see an instance change from {{{-i foo}}} to {{{-i foo.d}}}.  This indicates a deviation or tangent from the the original topic.
 
+'''starking''': Answering a question or replying to a topic to a topic several hours (or days, occasionally) later. The term originates from Greg Stark, who would often reply to zephyrs hours or occasionally days later without seeing if anyone had answered yet, or worse, if the instance had moved on to an entirely different topic.
+
 '''ttants''':  Literally, "Things That Are Not The Same".
 
 '''prnf''':  Literally, "Pseudo-Random Neuron Firings".
 
-There are many other acronyms that are used; if you don't know what it means, try using the {{{whats foo}}} command at an Athena terminal.
+There are many other acronyms that are used; if you don't know what it means, try using the {{{whats foo}}} command at an Athena terminal. If you don't have the command, run {{{add sipb}}} first.
 
 === Startup ===
 
@@ -134,16 +110,23 @@ It is handy to be able to log your conversations so you can refer back to them l
 
 {{{
 :set classlogging on
-"set classlogpath ~/path/to/class/log
 }}}
 
 And to log personals:
 
 {{{
 :set logging on
-:set logpath ~/path/to/people/log
 }}}
 
+This will log to the "zlog" directory in your locker. You probably don't want people to see what classes you're on or what people you talk to, so you can run the Athena command
+
+{{{
+mkdir -p ~/zlog
+fs sa ~/zlog system:anyuser none
+}}}
+
+to make this directory completely hidden.
+
 === Colors ===
 
 By default, there are seven colors you may use in the terminal:  red, green, yellow, blue, magenta, cyan, and white.  In order to use color in Zephyr, you can use the following notation:  {{{@(@color(red)This is some red text))}}}
@@ -171,11 +154,15 @@ You can update your settings and filters without restarting your Barnowl session
 :source ~/path/to/config/file
 }}}
 
+You can see all the filters by using {{{:show filters}}}, and narrow to a particular filter with, e.g., {{{:view personal}}}. You can use {{{:view all}}} or the keyboard shortcut {{{V}}} to see all messages again.
+
 For more detailed information on filters, visit https://barnowl.scripts.mit.edu:444/wiki/Filters.
 
 == Running Barnowl in Screen ==
 
-It can be very annoying to have to close Barnowl when you turn off your computer.  During the time your computer is off, you're missing many (possibly important) zephyrs.  It can also be frustrating if you leave your computer on with Zephyr up, but go to a different computer and want to check your zephyrs - how do you do this?  These problems can be solved with the magic of screen.
+It can be very annoying to have to close Barnowl when you turn off your computer.  During the time your computer is off, you're missing many (possibly important) zephyrs.  It can be aggravating to be using zephyr via an unreliable network connection.  It can also be frustrating if you leave your computer on with Zephyr up, but go to a different computer and want to check your zephyrs - how do you do this?  These problems can be solved with the magic of screen.
+
+A more detailed and extensive explanation of this can be found at http://web.mit.edu/kchen/bin/owl-screen.txt.
 
 === Screen ===
 
@@ -183,7 +170,7 @@ You should find a computer or server on which to run your screen session(s) that
 
 === Quickstart ===
 
-1.  Pick a machine to host your screen session on.  If you don't know of any options, linerva.mit.edu is a good choice.
+1.  Pick a machine to host your screen session on.  If you don't know of any options, linux.mit.edu (Linerva) is a good choice.
 2.  ssh to that machine.
 3.  Run "add kchen".  You may want to add this to your {{{~/.environment}}} file.
 4.  Run "owl-screen"
@@ -191,12 +178,12 @@ You should find a computer or server on which to run your screen session(s) that
 Your screen session is now ready.  Once you start the screen session, you'll need to get renewable Kerberos tickets in order to run it for any extended period of time.  Press C-a C-c to open a new screen window, and run
 
 {{{
-kinit -l7d
+kinit -l7d -54
 }}}
 
-Press C-a 0 to return back to your Barnowl window.
+(length 7 days, both Kerberos 5 and Kerberos 4). Press C-a 0 to return back to your Barnowl window.
 
-When you're ready to log out, press C-a d to "detach" your screen, and then type {{{exit}}} or {{{logout}}} to log out.  Later, when you want to "reattach" your screen, ssh to the machine again, and run {{{screen -x}}}.
+When you're ready to log out, press C-a d to "detach" your screen, and then type {{{exit}}} or {{{logout}}} to log out.  Later, when you want to "reattach" your screen, ssh to the machine again, and run {{{screen -r}}}.
 
 === Kerberos Tickets and AFS Tokens ===
 
@@ -206,23 +193,17 @@ In order to keep your screen session authenticated, you'll need to keep your Ker
 add kchen
 owl-screen
 C-a C-c
-kinit -l1d -r7d
-cont-renew &
-C-a 0
+kinit -l1d -r7d -54
 }}}
 
 === Attaching and Detaching Sessions ===
 
-To detach a screen session (for example, if you want to log out), press C-a d.  Screen continues to run, but is no longer active.
+To detach a screen session (for example, if you want to log out), press C-a d (Control-A, then D).  Screen continues to run, but is no longer active.
 
-To reattach a screen session, run one of the following commands (as listed in the screen man page):
+To reattach a screen session, possibly detaching from wherever it's currently attached, run:
 
-* {{{-d -r}}}   Reattach a session and if necessary detach it first.
-* {{{-d -R}}}   Reattach a session and if necessary detach or even create it first.
-* {{{-d -RR}}}  Reattach a session and if necessary detach or create it. Use the first session if more than one session is available.
-* {{{-D -r}}}   Reattach a session. If necessary detach and logout remotely first.
-* {{{-D -R}}}   Attach here and now.  In detail this means: If a session is running, then reattach.  If necessary detach and logout remotely first.  If it was not running create it and notify the user.
-* {{{-D -RR}}}  Attach here and now. Whatever that means, just do it.
-* {{{-x}}}      Attach to a not detached screen session. (Multi display mode).
+{{{
+screen -dr
+}}}
 
-Note: It is always a good idea to check the status of your sessions by means of "screen -list".
+{{{screen}}} can do a whole lot more.   To find out about it, see UsingScreen.
\ No newline at end of file