[Top] [Contents] [Index] [ ? ]

GNUYahoo!

This file documents the GNUYahoo! version 1.0.1. Gnuyahoo is a console based GNU messenger for Yahoo! services powered by Guile and Readline.


User Guide

1. Overview  These are features of Gnuyahoo
2. Invoking  Command line arguments
3. Gnuyahoo commands  List of Gnuyahoo commands
4. Customizing Gnuyahoo  
5. Tips and Tricks  Cool tips and tricks

Extension Developer Guide (Advanced)

6. Extension language  About an extension language
7. hello.scm extension  Writing a simple `hello gnu' extension
8. Variables  Gnuyahoo exported Scheme variables
9. Procedures  Gnuyahoo exported Scheme primitives
10. Hooks  Gnuyahoo exported Scheme hooks
11. Learning further  Guile and Scheme URLs

Miscellaneous

12. Authors  Gnuyahoo contributors
13. URLs  Mailing list, Downloads, CVS
15. Portability  Porting Gnuyahoo
16. License  You may give out copies of Gnuyahoo

Indices

Concept Index  
Command Index  
Procedure Index  


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

1. Overview

Gnuyahoo is a freely available GNU messenger for Yahoo! services. It has many features, but to highlight,


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

2. Invoking

Invoking Gnuyahoo at command prompt is very simple. The following are the possible command-line arguments supported,


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

3. Gnuyahoo commands

3.2 Gnuyahoo command - <buddy>  send message to buddy
3.1 Gnuyahoo command - *  broadcast message to all buddies
3.3 Gnuyahoo command - add  add buddy to buddy list
3.4 Gnuyahoo command - alias  create aliases to buddies
3.5 Gnuyahoo command - bell  enable/disable bell sound
3.6 Gnuyahoo command - broadcast  broadcast message to all buddies
3.7 Gnuyahoo command - buzz  BUZZ! a buddy
3.9 Gnuyahoo command - cc  CC messages to other buddies
3.10 Gnuyahoo command - color-*  color themes support
3.11 Gnuyahoo virtual conference commands  conference commands
3.12 Gnuyahoo command - date  date command
3.13 Gnuyahoo command - eval  evaluate Scheme expression
3.8 Gnuyahoo command - forward  forward messages to other buddies
3.14 Gnuyahoo command - gnuyahoo  proud-of-gnuyahoo check
3.15 Gnuyahoo command - help  help on Gnuyahoo commands
3.16 Gnuyahoo command - ignore*  ignore commands
3.17 Gnuyahoo command - load  load and evaluate Scheme extensions
3.18 Gnuyahoo command - ping  ping a buddy
3.19 Gnuyahoo command - quit  quit Gnuyahoo
3.20 Gnuyahoo command - refresh  refresh buddy list
3.21 Gnuyahoo command - reject  reject BUDDY for adding you in his/her buddy list
3.22 Gnuyahoo command - remove  remove buddy from buddy list
3.23 Gnuyahoo command - restart  restart Gnuyahoo
3.24 Gnuyahoo command - send  send message to a buddy
3.25 Gnuyahoo command - send-file  send a file to buddy
3.26 Gnuyahoo command - sh  run or escape to shell
3.27 Gnuyahoo command - status  change or view your status
3.28 Gnuyahoo command - toggle  turn states ON/OFF
3.29 Gnuyahoo virtual conference commands  virtual conference commands
3.30 Gnuyahoo command - who  view buddy list
3.31 Gnuyahoo command - xmessage  send X popup messages


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

3.1 Gnuyahoo command - *

command: * message
Broadcast message to all buddies in the list. * is a virtual buddy in your buddy list which means everybody in the list.

 
GY!> * Hello, World!
GY!> * 
The message Hello, World! will be sent to all the buddies in your buddy list.


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

3.2 Gnuyahoo command - <buddy>

command: <buddy> message
Send message to buddy. You can use TAB key to fill the buddy name automatically. On conflict press TAB twice to list the conflicting buddy names.

Example: A sample Gnuyahoo session.

 
GY!> ?who

[Friends]
* markus [Busy Hacking]
  rms
* thomas [Idle]

[Team]
  balugi
* kvisu2000

GY!> kvisu2000 Hi, How are you
kvisu2000 -> I'm fine
GY!> balugi Hi, Are you there
Offline message sent to [balugi]


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

3.3 Gnuyahoo command - add

command: ?add buddy [group] [message]
Add a buddy to your buddy list. The following are the possible arguments for this command,

  1. buddy must be a Yahoo ID.

  2. Optional group under which the buddy is added. If the group does not exists it will be created newly. The default group is Friends.

  3. message is optional message.


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

3.4 Gnuyahoo command - alias

command: ?alias name buddy1 [buddy2 buddy3 ...]
This command expands name to buddy1, buddy2 etc. ?alias accepts name and at least one buddy as arguments. Aliases can be recursive.

Using Guile interface, you can add permanent aliases to startup file (see section 4.1 gnuyahoo.scm) like,

 
(define alias '((helpdesk . (abindian balugi kvisu2000))
                (mridul . (gnuindian))
                (bala . (balugi))
                (nags . (nagappanal))
                (visu . (kvisu2000))))


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

3.5 Gnuyahoo command - bell

command: ?bell
This command switches bell sound between ON and OFF. By default `bell' is ON. A better interface to this command is ?toggle (see ?toggle bell)

Using Guile interface, you can disable bell during startup (see section 4.1 gnuyahoo.scm) like,

 
(gy-bell!)


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

3.6 Gnuyahoo command - broadcast

command: broadcast message
Broadcast message to all buddies in the list. This is same as * (see section 3.1 Gnuyahoo command - *).

 
GY!> ?broadcast Hello, World!
GY!> 
The message Hello, World! will be sent to all the buddies in your buddy list.


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

3.7 Gnuyahoo command - buzz

command: buzz buddy
send a BUZZ! to buddy

 
GY!> ?buzz marcus
GY!> 


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

3.8 Gnuyahoo command - forward

command: ?forward from-buddy to-buddy1 [to-buddy2 to-buddy3 ...]
Messages received from from-buddy are forwarded to to-buddy1, to-buddy2 etc. ?forward accepts name and at least one to-buddy as arguments.

Using Guile interface, you can add permanent forwards to startup file (see section 4.1 gnuyahoo.scm) like,

 
(define forward '((gnubot . (ramyog_2000 nagappanal balugi))
                 (gopal_narayanan . (parag_mehta))))


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

3.9 Gnuyahoo command - cc

command: ?cc buddy cc-buddy1 [cc-buddy2 cc-buddy3 ...]
Message sent to buddy is CC'ed to cc-buddy1, cc-buddy2 etc. ?cc accepts buddy and at least one cc-buddy as arguments.

Using Guile interface, you can add permanent CCs to startup file (see section 4.1 gnuyahoo.scm) like,

 
(define cc '((rms . (markus roland thomas))
             (gopal_narayanan . (parag_mehta))))


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

3.10 Gnuyahoo command - color-*

command: ?color-on
Enables color themes mode.

Using Guile interface, you can permanently enable color themes in startup file (see section 4.1 gnuyahoo.scm) like, (1)

 
(gy-enable-colors)

command: ?color-off
Disables color themes mode.

Using Guile interface, you can permanently disable color themes in startup file (see section 4.1 gnuyahoo.scm) like,

 
(gy-disable-colors)

command: ?color-buddy buddy color
Displays all messages from buddy in the specified color. Possible color values are [red, blue, yellow, magenta, green, cyan, white].

Using Guile interface, you can permanently set color for a buddy message in startup file (see section 4.1 gnuyahoo.scm) like,

 
(gy-set-buddy-color! "nirranjan" "green")
(gy-set-buddy-color! "rms" "red")
(gy-set-buddy-color! "marcus" "magenta")


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

3.11 Gnuyahoo virtual conference commands

This is standard yahoo conference this feature is virtual.

command: ?conf-start room buddy1 [buddy2 buddy3 ...]
This command starts a conference with room name room with buddies buddy1, buddy2 etc.

command: ?conf-add room buddy
This command add a buddy, to a existing conference room.

command: ?conf-list
This command lists all the conference rooms associated with you currently.

command: ?conf-end room
This command quits you from a conference rooms.

command: ?conf-decline room
This command send your decline to a received invitation from a conference rooms.

command: ?conf-send room
This command sends message to a conference room.


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

3.12 Gnuyahoo command - date

command: ?date [arguments]
This command displays the system date. Try `--help' for complete list of arguments.


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

3.13 Gnuyahoo command - eval

command: ?eval exp
Evaluate exp, a list representing a Scheme expression. You have complete access to gnuyahoo-guile internals, including Scheme extensions through this command.

Example: To send message to yourself

 
GY!> ?eval (gy-send-message (gy-get-default-login-id) "Hello GNU")
abindian -> Hello GNU
GY!>


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

3.14 Gnuyahoo command - gnuyahoo

command: ?gnuyahoo buddy
This command checks if buddy is using Gnuyahoo.

Example: To check if `kvisu2000' is using Gnuyahoo,

 
GY!> ?gnuyahoo kvisu2000
Yes [kvisu2000] is using GNUYahoo
GY!>


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

3.15 Gnuyahoo command - help

command: ?help [command]

You can always ask Gnuyahoo itself for information on its commands, using the command ?help. If command is ignored then help on all the commands will be listed.


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

3.16 Gnuyahoo command - ignore*

command: ?ignore buddy
Adds this BUDDY to Yahoo ignore list. This buddy will be removed from the buddy list and you will get no messages from him/her.

command: ?unignore buddy
This command unignores buddy from the Yahoo ignore list.

command: ?ignore-list
Displays the Yahoo ignore-list


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

3.17 Gnuyahoo command - load

command: ?load scheme-file
?load command loads and evaluates Scheme extensions. scheme-file argument is a must.

Using Guile interface, you can load other Scheme files from startup file (see section 4.1 gnuyahoo.scm) like,

 
(load "/home/gnu/hello.scm")

(see gy-load)


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

3.18 Gnuyahoo command - ping

command: ?ping buddy count
Send ping messages to a buddy, count times.


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

3.19 Gnuyahoo command - quit

command: ?quit
Logout and exit from Gnuyahoo.


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

3.20 Gnuyahoo command - refresh

command: ?refresh
This command refreshes the buddy list and the status information.


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

3.21 Gnuyahoo command - reject

command: ?reject
This command rejects the buddy for adding you in his/her buddy list and removes your name from his/her buddylist.


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

3.22 Gnuyahoo command - remove

command: ?remove buddy [message]
This command permanently removes the BUDDY from buddy list. message argument is optional.

Example:

 
GY!> ?remove balugi Poda Kuppa!


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

3.23 Gnuyahoo command - restart

command: ?restart
This command restarts Gnuyahoo from inside Gnuyahoo.


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

3.24 Gnuyahoo command - send

command: ?send buddy message
This command sends message to the buddy.

Example:

 
GY!> ?send balugi Hi, how are you?
balugi -> Fine and you?


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

3.25 Gnuyahoo command - send-file

command: ?send-file buddy filepath [message]
This command sends file to the buddy.

Example:

 
GY!> ?send-file balugi /etc/passwd my passwd file


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

3.26 Gnuyahoo command - sh

command: ?sh [command] [args ...]
?sh command executes the specified command with its args. With no arguments ?sh escapes to shell.

Example:

 
GY!> ?sh ls -lh /tmp
total 12k
drwxr-xr-x    3 root   root    4.0k Jan  1 00:53 emacs-terminfo
-rw-r--r--    1 root   root       1 Jan  1 05:04 emacsOdVut8
drwx------    2 root   root    4.0k Jan  1 00:13 xdvi7GIKqr
GY!> ?sh
press C-d to return to Gnuyahoo
$ rm -f /tmp/xdvi7GIKqr
C-d RET
GY!> 


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

3.27 Gnuyahoo command - status

command: ?status [status-number] [custom-message]
Using ?status command, you can view or set your buddy-status.

  1. status-number should denote one of the following.

     
      0:  I'm Available
      1:  Be Right Back
      2:  Busy
      3:  Not at Home
      4:  Not at my Desk
      5:  Not in the Office
      6:  On the Phone
      7:  On Vacation
      8:  Out to Lunch
      9:  Stepped Out
     12:  Invisible
     99:  [Custom message]
    999:  Idle
    

  2. Optionally you can mention custom-message, if status-number is 99.

  3. When no arguments are supplied, ?status command displays your current status.


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

3.28 Gnuyahoo command - toggle

command: ?toggle state
This command toggles the following states.


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

3.28.0.1 AUTO-INSERT mode HOW-TO

AUTO-INSERT mode makes Gnuyahoo intelligent by automatically selecting the buddy name, every time when the user types the message. The following is a small HOW-TO on AUTO-INSERT mode,


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

3.29 Gnuyahoo virtual conference commands

Unlike standard yahoo conference this feature is virtual. Its actually a combination of cc and forward extensions. All the messages you send to a virtual buddy named cf are despatched to the conference members. Similarly the messages received from any of the conference members are forwarded back to other conference members.

command: ?vconf-start buddy1 [buddy2 buddy3 ...]
This command starts a virtual conference with buddy1, buddy2 etc. On conference start ?vconf-start disappears and ?vconf-who, ?vconf-end appears. ?vconf-start accepts at least one buddy as its argument.

command: ?vconf-who
This command lists all the conference members.

command: ?vconf-end
This command ends the virtual conference. On conference end ?vconf-who, ?vconf-end disappears and ?vconf-start appears.


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

3.30 Gnuyahoo command - who

command: ?who
This command displays the buddy list as well as their current buddy status.

Example:

 
GY!> ?who

[Friends]
* markus [Busy Hacking]
  rms
* thomas [Idle]

[Team]
  balugi
* kvisu2000

GY!> 


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

3.31 Gnuyahoo command - xmessage

command: ?xmessage buddy message
Send a X popup message to buddy.

Example:
 
GY!> ?xmessage bala Hi Bala, are you there


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

4. Customizing Gnuyahoo

Gnuyahoo can be customized to a great extent using Guile interface. User can himself customize or extend new features in Gnuyahoo using Scheme as extension language. Most of the features are already written in Scheme.

4.1 gnuyahoo.scm  startup configuration file
4.2 init.scm  system wide initialization
4.3 Default Scheme extensions  default Scheme extensions

If you want to extend Gnuyahoo yourself, you can further explore Gnuyahoo Extension Developer Guide. (see section 6. Extension language)


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

4.1 gnuyahoo.scm

Gnuyahoo loads the startup options from `~/.gnuyahoo/gnuyahoo.scm'. Right from custom settings like username, password ... to complete Scheme programming can be done in this file.

 
;   this is comment
;;; sample gnuyahoo.scm
;;; login-id is equal to my gnu/linux account
;; (gy-set-default-login-id! (array-ref (getpwuid (getuid)) 0))

;;; default login-id for yahoo service
(gy-set-default-login-id! "gnu_india")
;; (gy-set-default-login-id! "abindian")
;; (gy-set-default-login-id! "gnubot")

;;; default global password
(gy-set-default-password! "nopassword")
;; (gy-set-default-password! "pressenter")

;;; by default session mode is AUTO-INSERT. switch it to VANILLA mode
;; (gy-toggle! "session")

;;; by default display of status message is SHOW. switch it HIDE
;; (gy-toggle! "status")

;;; if login-id is "abindian"
(and (string=? (gy-get-default-login-id) "abindian")
     ;;; default password
     (gy-set-default-password! "pressenter")
     ;;; switch OFF bell
     (gy-toggle! "bell")
     ;;; show ALL buddies
     (gy-toggle! "who")
     ;;; login in invisible mode
     (gy-set-default-status! 12))

;;; if login-id is "gnubot"
(and (string=? (gy-get-default-login-id) "gnubot")
     ;;; default password
     (gy-set-default-password! "pressescape")
     ;;; switch OFF bell
     (gy-toggle! "bell"))

;;; create aliases
(define alias '((helpdesk . (abindian balugi kvisu2000))
                (mridul . (gnuindian))
                (bala . (balugi))
                (nags . (nagappanal))
                (visu . (kvisu2000))))

;;; create CC lists
(define cc '((rms . (markus roland thomas))
             (gopal_narayanan . (parag_mehta))))

;;; create forward lists
(define forward '((gnubot . (ramyog_2000 nagappanal balugi))
                 (gopal_narayanan . (parag_mehta))))

All entries in this `gnuyahoo.scm' file are optional. How ever there is no limit in customizing or extending Gnuyahoo through Guile interface. Explaining all the possibilities are beyond the scope of this document.

(see section 6. Extension language)


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

4.2 init.scm

All system wide policy settings and extensions are loaded through `i.scm'. By default you can find `init.scm' at `/usr/share/gnuyahoo/extensions/'. To override this system wide `init.scm' file, copy it to `~/.gnuyahoo/extensions/init.scm'. You must be aware of what you are doing, before you mess up anything here.

(see section 6. Extension language)


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

4.3 Default Scheme extensions

Most of the Gnuyahoo features are available through Scheme extensions. To override these extensions, copy them from `/usr/share/gnuyahoo/extensions/' to `~/.gnuyahoo/extensions/' and edit them.

(see section 6. Extension language)


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

5. Tips and Tricks

You are free to use complete Readline keys inside Gnuyahoo. Frequently used Readline keys inside Gnuyahoo are,

@subsection Cursor motion
character C-b C-f
word M-b M-f
line up/down C-p C-n
line start/end C-a C-e
@subsection Editing
delete char C-d
delete char backwards C-h
delete word M-d
delete word backwards C-w
kill line C-k
kill line backwards C-u
character swap C-t
word swap M-w
paste C-y
undo C-_
repeat prefix M-number
@subsection Case change
uppercase word M-u
lowercase word M-l
capitalize word M-c

If you want to do further stunts, jump to Readline manual, See section `Readline' in Readline.

(3)


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

6. Extension language

An extension language is a programming language interpreter offered by an application program, so that users can write macros or even full-fledged programs to extend the original application. Extension languages have a C interface (it is usually C, but it could be any other compiled language), and can be given access to the C data structures. Likewise, there are C routines to access the extension language data structures.

Gnuyahoo uses GNU extension language - Guile (which can stand for _GNU Ubiquitous Intelligent Language Extension_). Guile started out as an embeddable Scheme interpreter, and has rapidly evolved into a kitchen-sink package including a standalone Scheme interpreter, an embeddable Scheme interpreter, several graphics options, other languages that can be used along with Scheme (for now just _ctax_ and _Tcl_), and hooks for much more.


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

7. hello.scm extension

Learn how to write a simple extension by yourself.


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

7.1 Writing hello.scm

This example extension creates a dynamic command ?hello, which on invocation sends a message Hello GNU to yourself.

 
;; hello.scm
(gy-register-command! "?hello" "?hello\n\t- Hello to myself.\n")
(define (?hello args)
   "send me hello message"
   (gy-send-message (gy-get-default-login-id) "Hello GNU"))


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

7.2 Loading hello.scm

Copy `hello.scm' to `~/.gnuyahoo/extensions/' and add this entry in your `~/.gnuyahoo/gnuyahoo.scm'

(gy-load "hello.scm")


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

8. Variables

Currently no variables are exported to Scheme environment from Gnuyahoo. Instead we have solved such needs using procedure interface to get/set variables.


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

9. Procedures

The following are the list of gnuyahoo procedures that are exported to Scheme. Now you are able to call the procedures from Scheme that are written in C.

9.1 General procedures  General Scheme primitives
9.2 Configuration procedures  Configuration Scheme primitives
9.3 Hook related procedures  Hook related Scheme primitives
9.4 Utility procedures  Utility Scheme primitives


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

9.1 General procedures

primitive: gy-load filepath
Loads and evaluates filepath.scm from mentioned path or from `~/.gnuyahoo/extensions/' or from `/usr/share/gnuyahoo/extensions/'.

Example:
 
(gy-load "aliases.scm")

primitive: gy-add-buddy buddy group
Adds buddy to group in your contact list.

Example:
 
(gy-add-buddy "rms" "GNU")

primitive: gy-send-message buddy message
Sends message to the buddy.

Example:
 
(gy-send-message "rms" "hello GNU")

primitive: gy-send-message-no-hook buddy message
Sends message to the buddy. This procedure does not run any hooks. You will have to use this procedure while sending messages from inside gy-message-send-hook otherwise it will lead to an endless recursion.

Example:
 
(gy-send-message-no-hook "rms" "hello GNU")

primitive: gy-set-current-target-buddy! buddy
Sets the target buddy name in AUTO-INSERT mode. This call makes meaning only when you are in AUTO-INSERT mode.

Example:
 
(gy-set-current-target-buddy! "richard")

primitive: gy-register-command! command documentation
Registers a dynamic command and its documentation with Gnuyahoo's command interpreter.

Example:
 
(gy-register-command! "?date" "?date\n\t- display current date")

primitive: gy-unregister-command! command
Un-registers command from Gnuyahoo's command interpreter.

Example:
 
(gy-unregister-command!  "?date")

primitive: gy-version
Return the current version string of Gnuyahoo.

Example:
 
(display (gy-version))

primitive: gy-display message
Prints the message in the console. Unlike the display primitive, this procedure takes care of printing messages asynchronously.

Example:
 
(gy-display ("I am proud of Gnuyahoo"))


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

9.2 Configuration procedures

primitive: gy-bell
Switches the bell sound between ON and OFF.

Example:
 
(gy-bell)

primitive: gy-toggle! state
Switches state between two different states.

The value of state can be,

state bell
Switches bell sound between ON and OFF.

Example:
 
(gy-toggle! bell)

state session
Switches Gnuyahoo session between AUTO-INSERT and VANILLA modes.

Example:
 
(gy-toggle! session)

state status
Switches display of status messages between SHOW and HIDE.

Example:
 
(gy-toggle! status)

state who
Switches who mode between ONLINE-ONLY and SHOW-ALL.

Example:
 
(gy-toggle! who)

primitive: gy-get-home-dir
Return the home directory of current user.

Example:
 
(chdir (gy-get-home-dir))

primitive: gy-get-config-dir
Return the directory containing configuration files.

Example:
 
(display (gy-get-config-dir))

primitive: gy-get-config-filename
Return the configuration filepath.

Example:
 
(display (gy-get-config-filename))

primitive: gy-get-download-filename
Return the filename containing URL downloads.

Example:
 
(display (gy-get-download-filename))

primitive: gy-get-global-extensions-directory
Return the directory containing global extensions.

Example:
 
(chdir (gy-get-global-extensions-directory))

primitive: gy-get-local-extensions-directory
Return the directory containing local extensions.

Example:
 
(chdir (gy-get-local-extensions-directory))

primitive: gy-get-default-login-id
Return the yahoo-id of currently logged-in user.

Example:
 
(display (gy-get-default-login-id))

primitive: gy-set-default-login-id! yahoo-id
Sets the yahoo-id.

Example:
 
(gy-set-default-login-id! "kvisu2000")

primitive: gy-set-default-password! password
Sets the yahoo account password.

Example:
 
(gy-set-default-password! "pressenter")

primitive: gy-set-default-status! number
Sets the yahoo status number.

Example:
 
;;; go invisible
(gy-set-default-status! 12)
For complete list of status number definitions refer (see section 3.27 Gnuyahoo command - status)

primitive: gy-set-prompt! prompt-string
Sets the yahoo prompt.

Example:
 
;;; set gnuyahoo prompt
(gy-set-prompt! "~qp~> ")


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

9.3 Hook related procedures

(4)

primitive: gy-hook-return
Makes the calling procedure return immedieltly after running the hooks.

Example:
 
(define (alias to message)
  "alias nags to nagappanal"
  (and (string=? to "nags")
       ;; send message to actual name
       (gy-send-message-no-hook "nagappanal" message)
       ;; "nags" does'nt exist. so let send return immediately
       (gy-hook-return)))
(add-hook! gy-message-send-hook alias)


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

9.4 Utility procedures

These are general purpose utility procedures written completly in Scheme.

(5)

procedure: symbolrnumber->symbol num
Converts num to its corresponding Scheme symbol. num is any number atom in Scheme.

Example:
 
(symbolrnumber->symbol 5)
will return 5 which is a Scheme symbol and not a number.

procedure: list->asv list delimiter
Converts list to vector delimitted by delimiter. list stands for list to any seperated vector.

Example:
 
(list->asv ("gnuindian" "nagappanal" "abindian" "balugi") ", ")
will return "gnuindian, nagappanal, abindian, balugi"

procedure: list->csv list
Converts list to a comma seperated vector delimitted by `, '.

Example:
 
(list->csv ("gnuindian" "nagappanal" "abindian" "balugi"))
will return "gnuindian, nagappanal, abindian, balugi"

procedure: list->symlist list
Converts list of numbers/symbols into a list of symbols.

Example:
 
(list->symlist (5 a gnu 100 10.5))
will return (5 a gnu 100 10.5) where all items in the list are symbols and not numbers. List already containing symbols are not alterted.

procedure: send-message-to-group group message
Send message to a group.

Example:
 
(send-message-to-group ("gnuindian" "nagappanal" "abindian" "balugi") "Hello GNU")

procedure: local-date-time
Returns the local date and time

Example:
 
(display (local-date-time))

procedure: ignore-message! message-pattern
ignores messages matching the regex message-pattern

Example:
 
(ignore-message! "^PING$")

procedure: ignored-message? message
Return #t if this message is ignored, else #f.

Example:
 
(ignored-message? "PING")


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

10. Hooks

Through Hooks facility Gnuyahoo lets you steal its control at various important junctures during execution.

hook: gy-message-send-hook buddy message
Hook procedure is called with buddy and message as arguments on every send message operation.

Supporting primitives:
see gy-hook-return

Example:
 
(define (cc-proc to message)
  "hook procedure for CCing messages"
  (and (string=? to "rms")
       (gy-send-message-no-hook "thomas" message)
       (gy-send-message-no-hook "roland" message)
       (gy-send-message-no-hook "gord" message)))
(add-hook! gy-message-send-hook cc-proc)

hook: gy-message-receive-hook buddy message
Hook procedure is called with buddy and message as arguments on every receive message operation.

Supporting primitives:
see gy-hook-return

Example:
 
(define (forward-proc from message)
  "hook procedure for bouncing messages"
  (and (string=? from "rms")
       (gy-send-message-no-hook "thomas" message)
       (gy-send-message-no-hook "roland" message)
       (gy-send-message-no-hook "gord" message)))
(add-hook! gy-message-receive-hook forward-proc)

hook: gy-message-receive-offline-hook buddy message timestamp
Hook procedure is called with buddy, message and timestamp as arguments on every receive offline message operation.

Supporting primitives:
see gy-hook-return

Example:
 
(define (ack-proc from message timestamp)
  "hook procedure for acknowledging offline messages"
  (gy-send-message-no-hook from "Received ur offline message"))
(add-hook! gy-message-receive-offline-hook ack-proc)

hook: gy-login-post-hook
Hook procedure is called after completion of login operation.

Supporting primitives:
see gy-hook-return

Example:
 
(define (history-rotate-proc)
  "hook procedure for flushing the old history messages"
  (history-rotate))
(add-hook! gy-login-post-hook history-rotate-proc)

hook: gy-contact-added-hook
Hook procedure is called after a buddy adds you in his/her contact list.

Supporting primitives:
see gy-hook-return

Example:
 
(define (auto-add-buddy from message)
  "hook procedure for automatically adding buddy to your contact list"
  (gy-add-buddy from "GNU")) ;; GNU - group name
(add-hook! gy-contact-added-hook auto-add-buddy)


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

11. Learning further

The following are the URLs where you can find useful manuals for Guile and Scheme.

http://www.gnu.org/software/guile/
http://www.schemers.org/
ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html
http://www.informatik.uni-kiel.de/~scheme/
http://freespace.virgin.net/david.drysdale/guile/tutorial.html
http://nis-www.lanl.gov/~rosalia/gnudl-doc/learn_libguile_toc.html
http://theoryx5.uwinnipeg.ca/gnu/guile/guile-user.html#SEC_Top
http://www.nada.kth.se/~mdj/guile-ref/guile-ref_toc.html
http://www.red-bean.com/guile/guile/old/3540.html
http://nis-www.lanl.gov/~rosalia/mydocs/guile-user.html
http://www.cs.utexas.edu/users/lavender/courses/scheme/
http://www.cstr.ed.ac.uk/projects/festival/manual/festival_8.html#SEC24
http://www.cs.ccu.edu.tw/~dan/tutorials.html
http://www.wcug.wwu.edu/~randyman/COMPUTERS/SCHEME/start.htm
http://www.dmoz.org/Computers/Programming/Languages/Lisp/Scheme/Teaching/
http://www.cs.caltech.edu/~cs181/doc/
http://cis.csuohio.edu/~hysockel/Links/Documents.html


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

12. Authors

We believe in Software Freedom and Ethics, the GNU's way.

1. A. Balamurugan Developer balamurugana@yahoo.com
2. A. Nagappan Developer nagappanal@yahoo.com
3. Gopal Narayanan Developer gopal@debian.org
4. H.E. Ramesh Developer ramyog_2000@yahoo.com
5. K. Nirranjan Developer nirranjan@yahoo.com
6. K. Viswanathan Developer gnuvisu@yahoo.com
7. M.P. Anand Babu Project Manager ab@gnu.org.in
8. Mridul Jain Developer gnuindian@yahoo.com
9. Parag Mehta Developer pm@gnuos.org

Texi documentation written by K. Viswanathan gnuvisu@yahoo.com and revised by M.P. Anand Babu ab@gnu.org.in


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

13. URLs

URL: Homepage
http://gnuyahoo.sourceforge.net/

URL: Download
http://sourceforge.net/project/showfiles.php?group_id=28440&release_id=54334

URL: CVS
To know project information like Bugs, Updates, Support, Patches, Tasks, News, Development Status, Activity Percentile, Project Activity visit http://sourceforge.net/projects/gnuyahoo

URL: Mailing list
Gnuyahoo has its own mailing list. The mailing list is for discussion of features, reporting bugs (those that you think may be of interest to the public) and mailing announcements. You are welcome to subscribe. The more people on the list, the better!

To Subscribe/Unsubscribe visit, http://lists.sourceforge.net/lists/listinfo/gnuyahoo-bugs

Post messages to mailing list at gnuyahoo-bugs@lists.sourceforge.net.

For mailing list archives visit, http://www.geocrawler.com/lists/3/SourceForge/13348/0/

URL: Bugs
You are welcome to send bug reports about Gnuyahoo to gnuyahoo-bugs@lists.sourceforge.net. The bugs that you think are of the interest to the public (i.e. more people should be informed about them) can be Cc-ed to the above mailing lists.

Before actually submitting a bug report, please try to follow a few simple guidelines.

  1. Please try to ascertain that the behavior you see really is a bug. If Gnuyahoo crashes, it's a bug. If Gnuyahoo does not behave as documented, it's a bug. If things work strange, but you are not sure about the way they are supposed to work, it might well be a bug.

  2. Try to repeat the bug in as simple circumstances as possible.

  3. If Gnuyahoo has crashed, try to run it in a debugger, e.g. `gdb `which gnuyahoo` core' and type where to get the backtrace.

  4. Find where the bug is, fix it and send the patches. :) (see section 14. Guidelines for submitting a patch)

Send your specific queries to M.P. Anand Babu ab@gnu.org.in


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

14. Guidelines for submitting a patch

  1. Copy the latest CVS version of gnuyahoo directory as gnuyahoo-hack.

  2. Make changes in your gnuyahoo-hack directory.

  3. Create patch using
    # diff -pruN gnuyahoo gnuyahoo-hack > gnuyahoo-patch-title

  4. Mail the patch file `gnuyahoo-patch-title' to the mailing list with subject prefixed with `PATCH:'.
    Please send only text mails with patch as a part of the message body. Don't update `ChangeLog' file, instead add your comments at the beginning of the body.


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

15. Portability

Since Gnuyahoo uses GNU Autoconf for building and configuring, and avoids using `special' ultra--mega--cool features of any particular Unix, it should compile (and work) on all common Unix flavors.

Various Gnuyahoo versions have been compiled and tested under GNU/Hurd and GNU/Linux. However Gnuyahoo can be easily ported to any POSIX complaint platform with Guile and Readline ports. If you compile it on an architecture not listed here, please let us know so that we can update it. (see section 13. URLs)


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

16. License

The license of Gnuyahoo consists of the GNU GPL plus a special statement giving blanket permission to link with non-free software. This is the license statement as found in any individual file that it applies to:

 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA

As a special exception, the Free Software Foundation gives permission
for additional uses of the text contained in its release of Gnuyahoo.

The exception is that, if you link the Gnuyahoo with other files to
produce an executable, this does not by itself cause the resulting
executable to be covered by the GNU General Public License.  Your use
of that executable is in no way restricted on account of linking the
Gnuyahoo code into it.

This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License.

This exception applies only to the code released by the Free Software
Foundation under the name Gnuyahoo.  If you copy code from other Free
Software Foundation releases into a copy of Gnuyahoo, as the General
Public License permits, the exception does not apply to the code that
you add in this way.  To avoid misleading anyone as to the status of
such modified files, you must delete this exception notice from them.

If you write modifications of your own for Gnuyahoo, it is your choice
whether to permit this exception to apply to your modifications.  If
you do not wish that, delete this exception notice.


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

Concept Index

Jump to:   A   C   E   F   G   I   O   P   R   S   V  

Index Entry Section

A
AUTHORS12. Authors
AUTO-INSERT3.28.0.1 AUTO-INSERT mode HOW-TO

C
Command line arguments2. Invoking
Customization4. Customizing Gnuyahoo

E
Extension language6. Extension language

F
Features1. Overview

G
Gnuyahoo URLs13. URLs
gnuyahoo.scm4.1 gnuyahoo.scm
Guile6. Extension language

I
init.scm4.2 init.scm
Initialization4.2 init.scm

O
ONLINE-ONLY3.28 Gnuyahoo command - toggle
Overriding extensions4.3 Default Scheme extensions

P
Portability15. Portability

R
Readline in Gnuyahoo5. Tips and Tricks

S
SHOW-ALL3.28 Gnuyahoo command - toggle
Startup4.1 gnuyahoo.scm
Submitting patches14. Guidelines for submitting a patch

V
VANILLA3.28 Gnuyahoo command - toggle

Jump to:   A   C   E   F   G   I   O   P   R   S   V  


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

Command Index

Jump to:   *   <  
A   B   C   D   E   F   G   H   I   L   P   Q   R   S   T   U   V   W   X  

Index Entry Section

*
*3.1 Gnuyahoo command - *

<
<buddy>3.2 Gnuyahoo command - <buddy>

A
add3.3 Gnuyahoo command - add
alias3.4 Gnuyahoo command - alias

B
bell3.5 Gnuyahoo command - bell
broadcast3.6 Gnuyahoo command - broadcast
buzz3.7 Gnuyahoo command - buzz

C
cc3.9 Gnuyahoo command - cc
color-buddy3.10 Gnuyahoo command - color-*
color-off3.10 Gnuyahoo command - color-*
color-on3.10 Gnuyahoo command - color-*
conf-add3.11 Gnuyahoo virtual conference commands
conf-begin3.11 Gnuyahoo virtual conference commands
conf-decline3.11 Gnuyahoo virtual conference commands
conf-list3.11 Gnuyahoo virtual conference commands
conf-quit3.11 Gnuyahoo virtual conference commands
conf-send3.11 Gnuyahoo virtual conference commands

D
date3.12 Gnuyahoo command - date

E
eval3.13 Gnuyahoo command - eval

F
forward3.8 Gnuyahoo command - forward

G
gnuyahoo3.14 Gnuyahoo command - gnuyahoo

H
help3.15 Gnuyahoo command - help

I
ignore3.16 Gnuyahoo command - ignore*
ignore3.16 Gnuyahoo command - ignore*

L
load3.17 Gnuyahoo command - load

P
ping3.18 Gnuyahoo command - ping

Q
quit3.19 Gnuyahoo command - quit

R
refresh3.20 Gnuyahoo command - refresh
reject3.21 Gnuyahoo command - reject
remove3.22 Gnuyahoo command - remove
restart3.23 Gnuyahoo command - restart

S
send3.24 Gnuyahoo command - send
send-file3.25 Gnuyahoo command - send-file
sh3.26 Gnuyahoo command - sh
status3.27 Gnuyahoo command - status

T
toggle3.28 Gnuyahoo command - toggle

U
unignore3.16 Gnuyahoo command - ignore*

V
vconf-end3.29 Gnuyahoo virtual conference commands
vconf-start3.29 Gnuyahoo virtual conference commands
vconf-who3.29 Gnuyahoo virtual conference commands

W
who3.30 Gnuyahoo command - who

X
xmessage3.31 Gnuyahoo command - xmessage

Jump to:   *   <  
A   B   C   D   E   F   G   H   I   L   P   Q   R   S   T   U   V   W   X  


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

Procedure Index

Jump to:   G   I   L   S  

Index Entry Section

G
gy-add-buddy9.1 General procedures
gy-bell9.2 Configuration procedures
gy-contact-added-hook10. Hooks
gy-display9.1 General procedures
gy-get-config-dir9.2 Configuration procedures
gy-get-config-filename9.2 Configuration procedures
gy-get-default-login-id9.2 Configuration procedures
gy-get-download-filename9.2 Configuration procedures
gy-get-global-extensions-directory9.2 Configuration procedures
gy-get-home-dir9.2 Configuration procedures
gy-get-local-extensions-directory9.2 Configuration procedures
gy-hook-return9.3 Hook related procedures
gy-load9.1 General procedures
gy-login-post-hook10. Hooks
gy-message-receive-hook10. Hooks
gy-message-receive-offline-hook10. Hooks
gy-message-send-hook10. Hooks
gy-register-command!9.1 General procedures
gy-send-message9.1 General procedures
gy-send-message-no-hook9.1 General procedures
gy-set-current-target-buddy!9.1 General procedures
gy-set-default-login-id!9.2 Configuration procedures
gy-set-default-password!9.2 Configuration procedures
gy-set-default-status!9.2 Configuration procedures
gy-set-prompt!9.2 Configuration procedures
gy-toggle!9.2 Configuration procedures
gy-unregister-command!9.1 General procedures
gy-version9.1 General procedures

I
ignore-message!9.4 Utility procedures
ignored-message?9.4 Utility procedures

L
list->asv9.4 Utility procedures
list->csv9.4 Utility procedures
list->symlist9.4 Utility procedures
local-date-time9.4 Utility procedures

S
send-message-to-group9.4 Utility procedures
symbolrnumber->symbol9.4 Utility procedures

Jump to:   G   I   L   S  


[Top] [Contents] [Index] [ ? ]

Footnotes

(1)

by default color themes is enabled

(2)

Currently typing notifications will be sent remote buddy only in AUTO-INSERT mode. VANNILA mode has no concept of current target buddy.

(3)

When you press TAB twice at Gnuyahoo prompt you can see all the possible commands and buddy names.

(4)

The following primitives can be called from procedures that are hooked to Gnuyahoo exported hooks. Also check the list of supported primitives for each hook.

(5)

utility procedures are loaded through /DATADIR/gnuyahoo/extensions/util.scm


[Top] [Contents] [Index] [ ? ]

Table of Contents

1. Overview
2. Invoking
3. Gnuyahoo commands
3.1 Gnuyahoo command - *
3.2 Gnuyahoo command - <buddy>
3.3 Gnuyahoo command - add
3.4 Gnuyahoo command - alias
3.5 Gnuyahoo command - bell
3.6 Gnuyahoo command - broadcast
3.7 Gnuyahoo command - buzz
3.8 Gnuyahoo command - forward
3.9 Gnuyahoo command - cc
3.10 Gnuyahoo command - color-*
3.11 Gnuyahoo virtual conference commands
3.12 Gnuyahoo command - date
3.13 Gnuyahoo command - eval
3.14 Gnuyahoo command - gnuyahoo
3.15 Gnuyahoo command - help
3.16 Gnuyahoo command - ignore*
3.17 Gnuyahoo command - load
3.18 Gnuyahoo command - ping
3.19 Gnuyahoo command - quit
3.20 Gnuyahoo command - refresh
3.21 Gnuyahoo command - reject
3.22 Gnuyahoo command - remove
3.23 Gnuyahoo command - restart
3.24 Gnuyahoo command - send
3.25 Gnuyahoo command - send-file
3.26 Gnuyahoo command - sh
3.27 Gnuyahoo command - status
3.28 Gnuyahoo command - toggle
3.28.0.1 AUTO-INSERT mode HOW-TO
3.29 Gnuyahoo virtual conference commands
3.30 Gnuyahoo command - who
3.31 Gnuyahoo command - xmessage
4. Customizing Gnuyahoo
4.1 gnuyahoo.scm
4.2 init.scm
4.3 Default Scheme extensions
5. Tips and Tricks
6. Extension language
7. hello.scm extension
7.1 Writing hello.scm
7.2 Loading hello.scm
8. Variables
9. Procedures
9.1 General procedures
9.2 Configuration procedures
9.3 Hook related procedures
9.4 Utility procedures
10. Hooks
11. Learning further
12. Authors
13. URLs
14. Guidelines for submitting a patch
15. Portability
16. License
Concept Index
Command Index
Procedure Index

[Top] [Contents] [Index] [ ? ]

Short Table of Contents

1. Overview
2. Invoking
3. Gnuyahoo commands
4. Customizing Gnuyahoo
5. Tips and Tricks
6. Extension language
7. hello.scm extension
8. Variables
9. Procedures
10. Hooks
11. Learning further
12. Authors
13. URLs
14. Guidelines for submitting a patch
15. Portability
16. License
Concept Index
Command Index
Procedure Index

[Top] [Contents] [Index] [ ? ]

About this document

This document was generated using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by M.P. Anand Babu on November, 16 2002 using texi2html