[Tkabber-dev] r1104 - in trunk/tkabber: . contrib/starkit doc plugins/richtext

tkabber-svn at jabber.ru tkabber-svn at jabber.ru
Thu Apr 12 20:06:34 MSD 2007


Author: sergei
Date: 2007-04-12 20:06:34 +0400 (Thu, 12 Apr 2007)
New Revision: 1104

Modified:
   trunk/tkabber/ChangeLog
   trunk/tkabber/README
   trunk/tkabber/contrib/starkit/main.tcl
   trunk/tkabber/doc/tkabber.html
   trunk/tkabber/doc/tkabber.xml
   trunk/tkabber/plugins/richtext/emoticons.tcl
Log:
	* plugins/richtext/emoticons.tcl: Restored procedure
	  ::emoteicons::load_dir, which loads emoticons set for compatibility
	  with older Tkabber versions.

	* contrib/starkit/main.tcl: Require Tk package at script upper level.

	* doc/tkabber.xml, doc/tkabber.html, README: Added upgrade notes and
	  extended release notes.


Modified: trunk/tkabber/ChangeLog
===================================================================
--- trunk/tkabber/ChangeLog	2007-04-12 13:37:06 UTC (rev 1103)
+++ trunk/tkabber/ChangeLog	2007-04-12 16:06:34 UTC (rev 1104)
@@ -32,6 +32,15 @@
 
 	* doc/tkabber.xml, doc/tkabber.html, README: Fixed download URLs.
 
+	* plugins/richtext/emoticons.tcl: Restored procedure
+	  ::emoteicons::load_dir, which loads emoticons set for compatibility
+	  with older Tkabber versions.
+
+	* contrib/starkit/main.tcl: Require Tk package at script upper level.
+
+	* doc/tkabber.xml, doc/tkabber.html, README: Added upgrade notes and
+	  extended release notes.
+
 2007-04-11  Sergei Golovan  <sgolovan at nes.ru>
 
 	* jabberlib-tclxml/jabberlib.tcl: Added partial support of XEP-0203

Modified: trunk/tkabber/README
===================================================================
--- trunk/tkabber/README	2007-04-12 13:37:06 UTC (rev 1103)
+++ trunk/tkabber/README	2007-04-12 16:06:34 UTC (rev 1104)
@@ -62,49 +62,49 @@
    1.  Features . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
    2.  Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  7
    3.  Download, install and run  . . . . . . . . . . . . . . . . . . 10
-   4.  Configuration  . . . . . . . . . . . . . . . . . . . . . . . . 12
-     4.1.  Pre-load . . . . . . . . . . . . . . . . . . . . . . . . . 13
-       4.1.1.  Tabbed Interface . . . . . . . . . . . . . . . . . . . 15
-       4.1.2.  Fonts and colors . . . . . . . . . . . . . . . . . . . 15
-       4.1.3.  Cryptography by default  . . . . . . . . . . . . . . . 17
-       4.1.4.  Using of external TclXML library . . . . . . . . . . . 17
-       4.1.5.  Debugging Output . . . . . . . . . . . . . . . . . . . 17
-       4.1.6.  Splash window  . . . . . . . . . . . . . . . . . . . . 18
-       4.1.7.  Periodically send empty string to server . . . . . . . 18
-       4.1.8.  I18n/L10n  . . . . . . . . . . . . . . . . . . . . . . 18
-       4.1.9.  Searching  . . . . . . . . . . . . . . . . . . . . . . 18
-     4.2.  Post-load  . . . . . . . . . . . . . . . . . . . . . . . . 19
-       4.2.1.  Look-and-Feel  . . . . . . . . . . . . . . . . . . . . 22
-       4.2.2.  The Autoaway Module  . . . . . . . . . . . . . . . . . 23
-       4.2.3.  The Avatar Module  . . . . . . . . . . . . . . . . . . 24
-       4.2.4.  The Chat Module  . . . . . . . . . . . . . . . . . . . 24
-       4.2.5.  The Clientinfo Module  . . . . . . . . . . . . . . . . 24
-       4.2.6.  The Conferenceinfo Module  . . . . . . . . . . . . . . 24
-       4.2.7.  The Cryptographic Module . . . . . . . . . . . . . . . 25
-       4.2.8.  The Emoticons Module . . . . . . . . . . . . . . . . . 25
-       4.2.9.  The File Transfer Module . . . . . . . . . . . . . . . 26
-       4.2.10. The Groupchat Module . . . . . . . . . . . . . . . . . 26
-       4.2.11. The Ispell Module  . . . . . . . . . . . . . . . . . . 26
-       4.2.12. The Stream Initiation Module . . . . . . . . . . . . . 27
-       4.2.13. The Jidlink Module . . . . . . . . . . . . . . . . . . 27
-       4.2.14. The Logger Module  . . . . . . . . . . . . . . . . . . 28
-       4.2.15. The Login Module . . . . . . . . . . . . . . . . . . . 28
-       4.2.16. The Message Module . . . . . . . . . . . . . . . . . . 29
-       4.2.17. The Raw XML Input Module . . . . . . . . . . . . . . . 29
-       4.2.18. The Roster Module  . . . . . . . . . . . . . . . . . . 30
-       4.2.19. The Sound Module . . . . . . . . . . . . . . . . . . . 30
-     4.3.  Menu-load  . . . . . . . . . . . . . . . . . . . . . . . . 31
-       4.3.1.  The Avatar Module  . . . . . . . . . . . . . . . . . . 32
-       4.3.2.  The Browser Module . . . . . . . . . . . . . . . . . . 32
-       4.3.3.  The Groupchat Module . . . . . . . . . . . . . . . . . 32
-       4.3.4.  The Login Module . . . . . . . . . . . . . . . . . . . 32
-       4.3.5.  The Message Module . . . . . . . . . . . . . . . . . . 33
-       4.3.6.  The Presence Module  . . . . . . . . . . . . . . . . . 33
-       4.3.7.  Miscellany . . . . . . . . . . . . . . . . . . . . . . 34
-     4.4.  Final-Load . . . . . . . . . . . . . . . . . . . . . . . . 34
-   5.  Extensibility  . . . . . . . . . . . . . . . . . . . . . . . . 35
-     5.1.  Chat Hooks . . . . . . . . . . . . . . . . . . . . . . . . 36
-     5.2.  Login Hooks  . . . . . . . . . . . . . . . . . . . . . . . 38
+   4.  Upgrading  . . . . . . . . . . . . . . . . . . . . . . . . . . 12
+   5.  Configuration  . . . . . . . . . . . . . . . . . . . . . . . . 13
+     5.1.  Pre-load . . . . . . . . . . . . . . . . . . . . . . . . . 14
+       5.1.1.  Tabbed Interface . . . . . . . . . . . . . . . . . . . 16
+       5.1.2.  Fonts and colors . . . . . . . . . . . . . . . . . . . 16
+       5.1.3.  Cryptography by default  . . . . . . . . . . . . . . . 18
+       5.1.4.  Using of external TclXML library . . . . . . . . . . . 18
+       5.1.5.  Debugging Output . . . . . . . . . . . . . . . . . . . 18
+       5.1.6.  Splash window  . . . . . . . . . . . . . . . . . . . . 19
+       5.1.7.  Periodically send empty string to server . . . . . . . 19
+       5.1.8.  I18n/L10n  . . . . . . . . . . . . . . . . . . . . . . 19
+       5.1.9.  Searching  . . . . . . . . . . . . . . . . . . . . . . 19
+     5.2.  Post-load  . . . . . . . . . . . . . . . . . . . . . . . . 20
+       5.2.1.  Look-and-Feel  . . . . . . . . . . . . . . . . . . . . 23
+       5.2.2.  The Autoaway Module  . . . . . . . . . . . . . . . . . 24
+       5.2.3.  The Avatar Module  . . . . . . . . . . . . . . . . . . 25
+       5.2.4.  The Chat Module  . . . . . . . . . . . . . . . . . . . 25
+       5.2.5.  The Clientinfo Module  . . . . . . . . . . . . . . . . 25
+       5.2.6.  The Conferenceinfo Module  . . . . . . . . . . . . . . 25
+       5.2.7.  The Cryptographic Module . . . . . . . . . . . . . . . 26
+       5.2.8.  The Emoticons Module . . . . . . . . . . . . . . . . . 26
+       5.2.9.  The File Transfer Module . . . . . . . . . . . . . . . 27
+       5.2.10. The Groupchat Module . . . . . . . . . . . . . . . . . 27
+       5.2.11. The Ispell Module  . . . . . . . . . . . . . . . . . . 27
+       5.2.12. The Stream Initiation Module . . . . . . . . . . . . . 28
+       5.2.13. The Jidlink Module . . . . . . . . . . . . . . . . . . 28
+       5.2.14. The Logger Module  . . . . . . . . . . . . . . . . . . 29
+       5.2.15. The Login Module . . . . . . . . . . . . . . . . . . . 29
+       5.2.16. The Message Module . . . . . . . . . . . . . . . . . . 30
+       5.2.17. The Raw XML Input Module . . . . . . . . . . . . . . . 30
+       5.2.18. The Roster Module  . . . . . . . . . . . . . . . . . . 31
+       5.2.19. The Sound Module . . . . . . . . . . . . . . . . . . . 31
+     5.3.  Menu-load  . . . . . . . . . . . . . . . . . . . . . . . . 32
+       5.3.1.  The Avatar Module  . . . . . . . . . . . . . . . . . . 33
+       5.3.2.  The Browser Module . . . . . . . . . . . . . . . . . . 33
+       5.3.3.  The Groupchat Module . . . . . . . . . . . . . . . . . 33
+       5.3.4.  The Login Module . . . . . . . . . . . . . . . . . . . 33
+       5.3.5.  The Message Module . . . . . . . . . . . . . . . . . . 34
+       5.3.6.  The Presence Module  . . . . . . . . . . . . . . . . . 34
+       5.3.7.  Miscellany . . . . . . . . . . . . . . . . . . . . . . 35
+     5.4.  Final-Load . . . . . . . . . . . . . . . . . . . . . . . . 35
+   6.  Extensibility  . . . . . . . . . . . . . . . . . . . . . . . . 36
+     6.1.  Chat Hooks . . . . . . . . . . . . . . . . . . . . . . . . 37
 
 
 
@@ -113,23 +113,24 @@
                              Tkabber v0.10.0                January 2007
 
 
-     5.3.  Presence Hooks . . . . . . . . . . . . . . . . . . . . . . 38
-     5.4.  Roster Hooks . . . . . . . . . . . . . . . . . . . . . . . 39
-     5.5.  Miscellaneous Hooks  . . . . . . . . . . . . . . . . . . . 40
-   6.  User Interface basics  . . . . . . . . . . . . . . . . . . . . 41
-     6.1.  Searching  . . . . . . . . . . . . . . . . . . . . . . . . 41
-   Appendix A.  Releases History  . . . . . . . . . . . . . . . . . . 43
-     A.1.  Main changes in 0.10.0 . . . . . . . . . . . . . . . . . . 43
-     A.2.  Main changes in 0.9.9  . . . . . . . . . . . . . . . . . . 43
-     A.3.  Main changes in 0.9.8  . . . . . . . . . . . . . . . . . . 44
-     A.4.  Main changes in 0.9.7beta  . . . . . . . . . . . . . . . . 44
-     A.5.  Main changes in 0.9.6beta  . . . . . . . . . . . . . . . . 45
-     A.6.  Main changes in 0.9.5beta  . . . . . . . . . . . . . . . . 45
-   Appendix B.  Tk option database resources  . . . . . . . . . . . . 46
-   Appendix C.  Documentation TODO  . . . . . . . . . . . . . . . . . 49
-   Appendix D.  Acknowledgements  . . . . . . . . . . . . . . . . . . 50
-   Appendix E.  Copyrights  . . . . . . . . . . . . . . . . . . . . . 51
-   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 52
+     6.2.  Login Hooks  . . . . . . . . . . . . . . . . . . . . . . . 39
+     6.3.  Presence Hooks . . . . . . . . . . . . . . . . . . . . . . 39
+     6.4.  Roster Hooks . . . . . . . . . . . . . . . . . . . . . . . 40
+     6.5.  Miscellaneous Hooks  . . . . . . . . . . . . . . . . . . . 41
+   7.  User Interface basics  . . . . . . . . . . . . . . . . . . . . 42
+     7.1.  Searching  . . . . . . . . . . . . . . . . . . . . . . . . 42
+   Appendix A.  Releases History  . . . . . . . . . . . . . . . . . . 44
+     A.1.  Main changes in 0.10.0 . . . . . . . . . . . . . . . . . . 44
+     A.2.  Main changes in 0.9.9  . . . . . . . . . . . . . . . . . . 45
+     A.3.  Main changes in 0.9.8  . . . . . . . . . . . . . . . . . . 45
+     A.4.  Main changes in 0.9.7beta  . . . . . . . . . . . . . . . . 45
+     A.5.  Main changes in 0.9.6beta  . . . . . . . . . . . . . . . . 46
+     A.6.  Main changes in 0.9.5beta  . . . . . . . . . . . . . . . . 46
+   Appendix B.  Tk option database resources  . . . . . . . . . . . . 47
+   Appendix C.  Documentation TODO  . . . . . . . . . . . . . . . . . 50
+   Appendix D.  Acknowledgements  . . . . . . . . . . . . . . . . . . 51
+   Appendix E.  Copyrights  . . . . . . . . . . . . . . . . . . . . . 52
+   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 53
 
 
 
@@ -163,7 +164,6 @@
 
 
 
-
 Shchepin, et al.                                                [Page 3]
 
                              Tkabber v0.10.0                January 2007
@@ -617,8 +617,64 @@
                              Tkabber v0.10.0                January 2007
 
 
-4.  Configuration
+4.  Upgrading
 
+   When upgrading _Tkabber_ from version 0.9.9 or earlier note the
+   following:
+
+   o  On Macintosh or Microsoft Windows _Tkabber_ will copy it's
+      configuration directory to a new location (see the next section
+      (Section 5) for details).  If the transfer of the config directory
+      goes smoothly you may delete old ""~/.tkabber"" directory and
+      replace its name in your config file by "$::configdir".
+
+   o  Also, _Tkabber_ will convert chatlogs directory to a new format.
+
+   o  Also, _Tkabber_ changed the way it works with emoticons.  Instead
+      of loading them in config file you may put you faivorite emoticons
+      directory into "$::configdir/plugins" directory, restart Tkabber
+      and then choose emoticons set using Customize GUI.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Shchepin, et al.                                               [Page 12]
+
+                             Tkabber v0.10.0                January 2007
+
+
+5.  Configuration
+
    _Tkabber_ maintains its configuration using a set of files placed in
    a special configuration directory which location depends on the
    operating system _Tkabber_ runs on.  These locations are:
@@ -627,14 +683,14 @@
 
    o  Macintosh: ""~/Library/Application Support/Tkabber"";
 
-   o  Under Microsoft(R) Windows[TM] this location is governed by the
-      policy of the particular flavor of this OS, but the general rule
-      is that the _Tkabber_ configuration directory is named ""Tkabber""
-      and is located in the special system folder for storing
-      application-specific data.  For example, under Windows XP[TM] this
-      will be something like ""C:\Documents and
-      Settings\USERNAME\Application Data\Tkabber"", where ""USERNAME""
-      is the login name of a particular operating system's user.
+   o  Under Microsoft Windows this location is governed by the policy of
+      the particular flavor of this OS, but the general rule is that the
+      _Tkabber_ configuration directory is named ""Tkabber"" and is
+      located in the special system folder for storing application-
+      specific data.  For example, under Windows XP this will be
+      something like ""C:\Documents and Settings\USERNAME\Application
+      Data\Tkabber"", where ""USERNAME"" is the login name of a
+      particular operating system's user.
 
    _Tkabber_ also honors the value of the ""TKABBER_HOME"" environment
    variable -- if it exists the whole OS-based guessing of the
@@ -668,7 +724,7 @@
 
 
 
-Shchepin, et al.                                               [Page 12]
+Shchepin, et al.                                               [Page 13]
 
                              Tkabber v0.10.0                January 2007
 
@@ -684,7 +740,7 @@
 
    Let's look at each, in turn.
 
-4.1.  Pre-load
+5.1.  Pre-load
 
 
 
@@ -724,7 +780,7 @@
 
 
 
-Shchepin, et al.                                               [Page 13]
+Shchepin, et al.                                               [Page 14]
 
                              Tkabber v0.10.0                January 2007
 
@@ -780,12 +836,12 @@
 
 
 
-Shchepin, et al.                                               [Page 14]
+Shchepin, et al.                                               [Page 15]
 
                              Tkabber v0.10.0                January 2007
 
 
-4.1.1.  Tabbed Interface
+5.1.1.  Tabbed Interface
 
    The first of these options, "ifacetk::options(use_tabbar)", tells
    _Tkabber_ whether you want a tabbed interface or not.  If not, here's
@@ -800,7 +856,7 @@
    the beginning of your configuration file, or using graphical
    interface save the option and restart _Tkabber_.
 
-4.1.2.  Fonts and colors
+5.1.2.  Fonts and colors
 
    Many aspects of the _Tkabber_'s visual appearance such as fonts,
    colors and geometry of windows can be configured using the Tk option
@@ -836,13 +892,13 @@
 
 
 
-Shchepin, et al.                                               [Page 15]
+Shchepin, et al.                                               [Page 16]
 
                              Tkabber v0.10.0                January 2007
 
 
    Probably the most commonly used way to configure _Tkabber_'s visual
-   appearance (especially on Windows[TM] platforms which lack _XRDB_
+   appearance (especially on Windows platforms which lack _XRDB_
    mechanism) is to put all the necessary settings in some file and then
    ask _Tk_ to update its option database from it, like this:
 
@@ -892,7 +948,7 @@
 
 
 
-Shchepin, et al.                                               [Page 16]
+Shchepin, et al.                                               [Page 17]
 
                              Tkabber v0.10.0                January 2007
 
@@ -902,7 +958,7 @@
    specify fonts using sometimes more convenient _Tk_ features described
    here.
 
-4.1.3.  Cryptography by default
+5.1.3.  Cryptography by default
 
    Next, you may want to _Tkabber_ to use cryptography by default.
    There are two options:
@@ -917,7 +973,7 @@
    otherwise, the default behavior is to proceed without any
    cryptographic buttons, menus, and so on.)
 
-4.1.4.  Using of external TclXML library
+5.1.4.  Using of external TclXML library
 
    By default _Tkabber_ use version of _TclXML_ library that come with
    it distribution.  This version is pure-Tcl, and it performance can be
@@ -926,7 +982,7 @@
 
    set use_external_tclxml 0
 
-4.1.5.  Debugging Output
+5.1.5.  Debugging Output
 
    _Tkabber_ has a lot of debugging output.  By default, it gets printed
    to the standard output by a Tcl procedure called "debugmsg".
@@ -948,7 +1004,7 @@
 
 
 
-Shchepin, et al.                                               [Page 17]
+Shchepin, et al.                                               [Page 18]
 
                              Tkabber v0.10.0                January 2007
 
@@ -961,7 +1017,7 @@
 
    set debug_lvls {}
 
-4.1.6.  Splash window
+5.1.6.  Splash window
 
    By default, when _Tkabber_ startup, it show loading process in splash
    window.  To disable this feature, put this in your configuration
@@ -969,7 +1025,7 @@
 
    set show_splash_window 0
 
-4.1.7.  Periodically send empty string to server
+5.1.7.  Periodically send empty string to server
 
    If you're using a proxy to talk to a Jabber server, after a period of
    inactivity, the proxy may decide to disconnect you.  To avoid this,
@@ -979,7 +1035,7 @@
    set keep_alive 1
    set keep_alive_interval 10
 
-4.1.8.  I18n/L10n
+5.1.8.  I18n/L10n
 
    _Tkabber_ can show all messages in user's native language.  This is
    done by using Tcl's built-in _msgcat_ package which looks for a
@@ -991,25 +1047,25 @@
 
    ::msgcat::mclocale en
 
-4.1.9.  Searching
+5.1.9.  Searching
 
    _Tkabber_ allows the user to perform textual searching in certain
    classes of its windows.  This searching is controlled by several
    settings which can be specified in this section.
 
-   These settings are described in detail here (Section 6.1).
+   These settings are described in detail here (Section 7.1).
 
 
 
 
 
 
-Shchepin, et al.                                               [Page 18]
+Shchepin, et al.                                               [Page 19]
 
                              Tkabber v0.10.0                January 2007
 
 
-4.2.  Post-load
+5.2.  Post-load
 
    After _Tkabber_ reads your configuration file, it loads all of its
    own modules, it then invokes a procedure called "postload".  This
@@ -1060,7 +1116,7 @@
 
 
 
-Shchepin, et al.                                               [Page 19]
+Shchepin, et al.                                               [Page 20]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1116,7 +1172,7 @@
 
 
 
-Shchepin, et al.                                               [Page 20]
+Shchepin, et al.                                               [Page 21]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1172,7 +1228,7 @@
 
 
 
-Shchepin, et al.                                               [Page 21]
+Shchepin, et al.                                               [Page 22]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1221,14 +1277,14 @@
    This isn't nearly as complicated as it seems.  Let's break it down by
    individual module
 
-4.2.1.  Look-and-Feel
+5.2.1.  Look-and-Feel
 
    _Tkabber_ is shameless in borrowing icons from other Jabber clients.
    By setting "pixmaps::options(pixmaps_theme)", you can select a family
 
 
 
-Shchepin, et al.                                               [Page 22]
+Shchepin, et al.                                               [Page 23]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1267,7 +1323,7 @@
    raised.  If you don't like this behavior, add this line:
    set raise_new_tab 0
 
-4.2.2.  The Autoaway Module
+5.2.2.  The Autoaway Module
 
    This module is presently available only if either:
 
@@ -1284,7 +1340,7 @@
 
 
 
-Shchepin, et al.                                               [Page 23]
+Shchepin, et al.                                               [Page 24]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1295,7 +1351,7 @@
    Variable "plugins::autoaway::options(status)" allows to specify text
    status, which is set when _Tkabber_ is moving in away state.
 
-4.2.3.  The Avatar Module
+5.2.3.  The Avatar Module
 
    There are two variables that you can set to control whether _Tkabber_
    will allow others to see your avatar:
@@ -1306,7 +1362,7 @@
    o  "avatar::options(share)" determines whether requests for your
       avatar will be honored.
 
-4.2.4.  The Chat Module
+5.2.4.  The Chat Module
 
    Most instant messaging users prefer to see all the back-and-forth
    communication in a single window.  If you prefer to see each line
@@ -1325,14 +1381,14 @@
 
    set plugins::options(timestamp_format) {[%T]}
 
-4.2.5.  The Clientinfo Module
+5.2.5.  The Clientinfo Module
 
    This module shows in popup balloons information of used by this user
    client name, version, and OS.  You can allow or deny automatic asking
    of this info from users by setting this variable to 1 or 0:
    set plugins::clientinfo::options(autoask) 1
 
-4.2.6.  The Conferenceinfo Module
+5.2.6.  The Conferenceinfo Module
 
    After you join a conference that's listed in your roster, then
    whenever you mouse over that roster entry, you'll see a popup listing
@@ -1340,7 +1396,7 @@
 
 
 
-Shchepin, et al.                                               [Page 24]
+Shchepin, et al.                                               [Page 25]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1360,9 +1416,9 @@
    indicates that the server hosting the conference doesn't support
    browsing, so it makes sense not to try that often.
 
-4.2.7.  The Cryptographic Module
+5.2.7.  The Cryptographic Module
 
-   Earlier (Section 4.1) we saw an example where the "ssj::options"
+   Earlier (Section 5.1) we saw an example where the "ssj::options"
    array from the cryptographic module was set during the preload.
 
    In addition to "signed-traffic" and "encrypt-traffic", you can also
@@ -1370,7 +1426,7 @@
 
        set ssj::options(encrypt,fred at example.com) 1
 
-4.2.8.  The Emoticons Module
+5.2.8.  The Emoticons Module
 
    The procedure called _plugins::emoticons::load_dir_ is used to load
    emoticon definitions from a directory.  The directory contains a file
@@ -1396,18 +1452,18 @@
 
 
 
-Shchepin, et al.                                               [Page 25]
+Shchepin, et al.                                               [Page 26]
 
                              Tkabber v0.10.0                January 2007
 
 
-4.2.9.  The File Transfer Module
+5.2.9.  The File Transfer Module
 
    You can set directory in which files will be saved by default:
 
        set ft::options(download_dir) "/tmp"
 
-4.2.10.  The Groupchat Module
+5.2.10.  The Groupchat Module
 
    There are several variables that set the dialog window defaults for
    adding a groupchat to your roster, or joining a groupchat:
@@ -1437,7 +1493,7 @@
 
    Exact JID's take the higher precedence than patterns.
 
-4.2.11.  The Ispell Module
+5.2.11.  The Ispell Module
 
    On Unix, _Tkabber_ can check spelling of what you entered by calling
    an external program _ispell_.  To enable this feature, add following
@@ -1452,7 +1508,7 @@
 
 
 
-Shchepin, et al.                                               [Page 26]
+Shchepin, et al.                                               [Page 27]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1468,7 +1524,7 @@
    to check correctness of current word after every entered symbol.
    (Usually you don't need to set this option.)
 
-4.2.12.  The Stream Initiation Module
+5.2.12.  The Stream Initiation Module
 
    Stream initiation profile is defined in _XEP-0095_ with two
    transports (_XEP-0047_ - IBB, _XEP-0065_ - SOCKS5 bytestreams).  With
@@ -1488,7 +1544,7 @@
 
        set si::transport(allowed,http://jabber.org/protocol/bytestreams) 0
 
-4.2.13.  The Jidlink Module
+5.2.13.  The Jidlink Module
 
    Jidlink is a simple negotiation protocol for setting up a bytestream
    between two JIDs.  With it you can specify what transports you can
@@ -1508,7 +1564,7 @@
 
 
 
-Shchepin, et al.                                               [Page 27]
+Shchepin, et al.                                               [Page 28]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1518,7 +1574,7 @@
 
        set jidlink::transport(allowed,dtcp-passive) 0
 
-4.2.14.  The Logger Module
+5.2.14.  The Logger Module
 
    You can set directory to store logs:
 
@@ -1530,7 +1586,7 @@
        set logger::options(log_chat)      1
        set logger::options(log_groupchat) 1
 
-4.2.15.  The Login Module
+5.2.15.  The Login Module
 
    The first task is to initialize the configuration defaults for the
    _login_ module.  As you can see above, the global array "loginconf"
@@ -1564,7 +1620,7 @@
 
 
 
-Shchepin, et al.                                               [Page 28]
+Shchepin, et al.                                               [Page 29]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1599,7 +1655,7 @@
    Default value for "autologin" is "0".  In this case _Tkabber_ shows
    login dialog.
 
-4.2.16.  The Message Module
+5.2.16.  The Message Module
 
    By default, when you restart _Tkabber_ it won't remember the
    headlines you received.  If you want _Tkabber_ to remember headlines
@@ -1609,7 +1665,7 @@
    window.  If you want _Tkabber_ to use a seperate window for each
    headline source, set "message::options(headlines,multiple)" to "1".
 
-4.2.17.  The Raw XML Input Module
+5.2.17.  The Raw XML Input Module
 
    With this module you can monitor incoming/outgoing traffic from
    connection to server and send custom XML stanzas.  Also you can
@@ -1620,12 +1676,12 @@
 
 
 
-Shchepin, et al.                                               [Page 29]
+Shchepin, et al.                                               [Page 30]
 
                              Tkabber v0.10.0                January 2007
 
 
-4.2.18.  The Roster Module
+5.2.18.  The Roster Module
 
    By default, your entire roster is shown, even those items that aren't
    online.  The variable called "roster::show_only_online" controls
@@ -1643,7 +1699,7 @@
    "friend at other.host" and "friend at another.host".  You can also disable
    all aliases by setting "roster::use_aliases" to "0".
 
-4.2.19.  The Sound Module
+5.2.19.  The Sound Module
 
    _Tkabber_ can play sounds on some events.  It can use for this
    _snack_ library or external program that can play _WAV_ files.  Sound
@@ -1676,7 +1732,7 @@
 
 
 
-Shchepin, et al.                                               [Page 30]
+Shchepin, et al.                                               [Page 31]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1725,14 +1781,14 @@
    set sound::options(groupchat_server_message_sound)      ""
    set sound::options(groupchat_their_message_to_me_sound) ""
 
-4.3.  Menu-load
+5.3.  Menu-load
 
    After _Tkabber_ invokes your "postload" procedure, it starts building
    the GUI.  One of the most important things it does is build up a list
 
 
 
-Shchepin, et al.                                               [Page 31]
+Shchepin, et al.                                               [Page 32]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1766,29 +1822,29 @@
 
    4.  Finally, study the procedures listed here.
 
-4.3.1.  The Avatar Module
+5.3.1.  The Avatar Module
 
    The procedure called "avatar::store_on_server" stores your avatar on
    the server.
 
-4.3.2.  The Browser Module
+5.3.2.  The Browser Module
 
    The procedure called "browser::open" opens a new browser window.
 
-4.3.3.  The Groupchat Module
+5.3.3.  The Groupchat Module
 
    The procedure called "add_group_dialog" displays a dialog window when
    you want to add a groupchat to your roster.  Similarly, the procedure
    called "join_group_dialog" displays a dialog window when you want to
    join a groupchat.
 
-4.3.4.  The Login Module
+5.3.4.  The Login Module
 
    The procedure called "show_login_dialog" displays a dialog window
 
 
 
-Shchepin, et al.                                               [Page 32]
+Shchepin, et al.                                               [Page 33]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1798,7 +1854,7 @@
    "logout" does just that; however, if you want get a dialog window for
    confirmation, use "show_logout_dialog" instead.
 
-4.3.5.  The Message Module
+5.3.5.  The Message Module
 
    If you want to send a message to someone, the procedure called
    "message::send_dialog" will put up a dialog window.  It takes upto
@@ -1812,7 +1868,7 @@
    If you want to adjust your message filters, the procecure called
    "filters::open" will put up a dialog window.
 
-4.3.6.  The Presence Module
+5.3.6.  The Presence Module
 
    If you want to display information about a user, the procecure called
    "userinfo::open" will put up a dialog window.  It takes two optional
@@ -1844,7 +1900,7 @@
 
 
 
-Shchepin, et al.                                               [Page 33]
+Shchepin, et al.                                               [Page 34]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1863,7 +1919,7 @@
        set textstatus "Out to lunch"
        set userstatus $userstatus
 
-4.3.7.  Miscellany
+5.3.7.  Miscellany
 
    Finally, you can use the procedure named "help_window" to display
    some textual help.  This procedure takes two arguments: the title for
@@ -1872,7 +1928,7 @@
    Also, instead of calling "exit" to terminate _Tkabber_, please use
    the "quit" procedure instead.
 
-4.4.  Final-Load
+5.4.  Final-Load
 
    Finally, right before _Tkabber_ goes to display the login dialog, it
    invokes a procedure called "finload", which does whatever you want it
@@ -1900,12 +1956,12 @@
 
 
 
-Shchepin, et al.                                               [Page 34]
+Shchepin, et al.                                               [Page 35]
 
                              Tkabber v0.10.0                January 2007
 
 
-5.  Extensibility
+6.  Extensibility
 
    In addition to various configuration mechanisms, _Tkabber_ lets you
    define procedures, termed "hooks" that get run when certain events
@@ -1956,7 +2012,7 @@
 
 
 
-Shchepin, et al.                                               [Page 35]
+Shchepin, et al.                                               [Page 36]
 
                              Tkabber v0.10.0                January 2007
 
@@ -1999,7 +2055,7 @@
    Now let's look at the different kind of hooks that _Tkabber_ knows
    about.
 
-5.1.  Chat Hooks
+6.1.  Chat Hooks
 
    When _Tkabber_ decides that it needs to open a (tabbed) window for a
    chat or groupchat, two hooks are run:
@@ -2012,7 +2068,7 @@
 
 
 
-Shchepin, et al.                                               [Page 36]
+Shchepin, et al.                                               [Page 37]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2068,7 +2124,7 @@
 
 
 
-Shchepin, et al.                                               [Page 37]
+Shchepin, et al.                                               [Page 38]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2081,7 +2137,7 @@
    The hook is given two parameters: chatid of conference and nick
    participant.
 
-5.2.  Login Hooks
+6.2.  Login Hooks
 
    Two hooks are invoked whenever a session is connected or
    disconnected:
@@ -2093,7 +2149,7 @@
    Both hook is given one parameter: connection ID (_Tkabber_ allows
    several connections at once).
 
-5.3.  Presence Hooks
+6.3.  Presence Hooks
 
    When our presence status changes, a hook is run:
 
@@ -2124,7 +2180,7 @@
 
 
 
-Shchepin, et al.                                               [Page 38]
+Shchepin, et al.                                               [Page 39]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2138,7 +2194,7 @@
    extended subtags and parameters of this presence (e.g., "-show xa
    -status online").
 
-5.4.  Roster Hooks
+6.4.  Roster Hooks
 
    When an item is added to the roster window, one of the four hooks is
    run to add stuff to the menu associated with that item:
@@ -2180,12 +2236,12 @@
 
 
 
-Shchepin, et al.                                               [Page 39]
+Shchepin, et al.                                               [Page 40]
 
                              Tkabber v0.10.0                January 2007
 
 
-5.5.  Miscellaneous Hooks
+6.5.  Miscellaneous Hooks
 
    There are three "obvious" hooks:
 
@@ -2199,7 +2255,7 @@
    procedures, respectively. _postload_hook_ is run after all code
    loaded and before initializing main _Tkabber_ window.  After that
    _finload_hook_ is run.  The final hook is called just before
-   _Tkabber_ terminates (cf., Section 4.3.7).
+   _Tkabber_ terminates (cf., Section 5.3.7).
 
    You can add custom pages to userinfo window using
 
@@ -2236,14 +2292,14 @@
 
 
 
-Shchepin, et al.                                               [Page 40]
+Shchepin, et al.                                               [Page 41]
 
                              Tkabber v0.10.0                January 2007
 
 
-6.  User Interface basics
+7.  User Interface basics
 
-6.1.  Searching
+7.1.  Searching
 
    Search panel may be invoked in certain classes of _Tkabber_ windows
    using the "<<OpenSearchPanel>>" Tk virtual event which is bound by
@@ -2292,7 +2348,7 @@
 
 
 
-Shchepin, et al.                                               [Page 41]
+Shchepin, et al.                                               [Page 42]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2348,7 +2404,7 @@
 
 
 
-Shchepin, et al.                                               [Page 42]
+Shchepin, et al.                                               [Page 43]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2377,8 +2433,13 @@
 
    o  Search in Disco, Browser, Headlines, RawXML, and Customize windows
 
-   o  New plugins (latex, tkabber-khim, traffic, renju)
+   o  New internal plugins: abbrev allows to abbreviate words in chat
+      input windows, postpone stores/restores current input window
+      content
 
+   o  New external plugins (aniemoticons, latex, tkabber-khim, traffic,
+      renju)
+
    o  Emoticons theme now can be loaded using GUI
 
    o  Most Tkabber's tabs can now be stored on exit and restored on
@@ -2394,21 +2455,22 @@
 
    o  Many fixes and enhancements
 
-A.2.  Main changes in 0.9.9
 
-   o  Improved privacy lists interface
 
-   o  Support for stream compression (XEP-0138)
 
 
 
-
-
-Shchepin, et al.                                               [Page 43]
+Shchepin, et al.                                               [Page 44]
 
                              Tkabber v0.10.0                January 2007
 
 
+A.2.  Main changes in 0.9.9
+
+   o  Improved privacy lists interface
+
+   o  Support for stream compression (XEP-0138)
+
    o  Support for SRV DNS-records
 
    o  Support for TXT DNS-records (XEP-0156)
@@ -2450,20 +2512,20 @@
 
    o  Support for colored nicks and messages in conference
 
-   o  Better multiple logins support
 
-   o  Updated support for xml:lang
 
-   o  Support for IDNA (RFC3490)
 
 
+Shchepin, et al.                                               [Page 45]
+
+                             Tkabber v0.10.0                January 2007
 
 
+   o  Better multiple logins support
 
-Shchepin, et al.                                               [Page 44]
-
-                             Tkabber v0.10.0                January 2007
+   o  Updated support for xml:lang
 
+   o  Support for IDNA (RFC3490)
 
    o  Many fixes and enhancements
 
@@ -2510,13 +2572,7 @@
 
 
 
-
-
-
-
-
-
-Shchepin, et al.                                               [Page 45]
+Shchepin, et al.                                               [Page 46]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2572,7 +2628,7 @@
 
 
 
-Shchepin, et al.                                               [Page 46]
+Shchepin, et al.                                               [Page 47]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2628,7 +2684,7 @@
 
 
 
-Shchepin, et al.                                               [Page 47]
+Shchepin, et al.                                               [Page 48]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2684,7 +2740,7 @@
 
 
 
-Shchepin, et al.                                               [Page 48]
+Shchepin, et al.                                               [Page 49]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2740,7 +2796,7 @@
 
 
 
-Shchepin, et al.                                               [Page 49]
+Shchepin, et al.                                               [Page 50]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2796,7 +2852,7 @@
 
 
 
-Shchepin, et al.                                               [Page 50]
+Shchepin, et al.                                               [Page 51]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2852,7 +2908,7 @@
 
 
 
-Shchepin, et al.                                               [Page 51]
+Shchepin, et al.                                               [Page 52]
 
                              Tkabber v0.10.0                January 2007
 
@@ -2908,5 +2964,5 @@
 
 
 
-Shchepin, et al.                                               [Page 52]
+Shchepin, et al.                                               [Page 53]
 

Modified: trunk/tkabber/contrib/starkit/main.tcl
===================================================================
--- trunk/tkabber/contrib/starkit/main.tcl	2007-04-12 13:37:06 UTC (rev 1103)
+++ trunk/tkabber/contrib/starkit/main.tcl	2007-04-12 16:06:34 UTC (rev 1104)
@@ -6,13 +6,13 @@
 package require starkit
 if {[string equal [starkit::startup] sourced]} return
 
+# Linux tclkits don't load Tk themselves:
+package require Tk
+
 proc starkit_init {args} {
     global configdir toolkit_version
     variable starkit::topdir
 
-    # Linux tclkits don't load Tk themselves:
-    package require Tk
-
     # Prevent bogus zlib package from confusing Tkabber
     # (stream compression doesn't work in starkits using vanilla Tkabber):
     package forget zlib

Modified: trunk/tkabber/doc/tkabber.html
===================================================================
--- trunk/tkabber/doc/tkabber.html	2007-04-12 13:37:06 UTC (rev 1103)
+++ trunk/tkabber/doc/tkabber.html	2007-04-12 16:06:34 UTC (rev 1104)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html lang="en"><head><title>Tkabber v0.10.0</title>
-<meta http-equiv="Expires" content="Thu, 12 Apr 2007 13:32:02 +0000">
+<meta http-equiv="Expires" content="Thu, 12 Apr 2007 16:03:14 +0000">
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Tkabber v0.10.0">
 <meta name="generator" content="xml2rfc v1.30 (http://xml.resource.org/)">
@@ -151,101 +151,103 @@
 Requirements<br />
 <a href="#s.download">3.</a>&nbsp;
 Download, install and run<br />
-<a href="#s.configuration">4.</a>&nbsp;
+<a href="#s.upgrading">4.</a>&nbsp;
+Upgrading<br />
+<a href="#s.configuration">5.</a>&nbsp;
 Configuration<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload">4.1.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload">5.1.</a>&nbsp;
 Pre-load<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload.tab">4.1.1.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload.tab">5.1.1.</a>&nbsp;
 Tabbed Interface<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-looknfeel">4.1.2.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-looknfeel">5.1.2.</a>&nbsp;
 Fonts and colors<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-crypto">4.1.3.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-crypto">5.1.3.</a>&nbsp;
 Cryptography by default<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-tclxml">4.1.4.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-tclxml">5.1.4.</a>&nbsp;
 Using of external TclXML library<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-debugoutput">4.1.5.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-debugoutput">5.1.5.</a>&nbsp;
 Debugging Output<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-splashwindow">4.1.6.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-splashwindow">5.1.6.</a>&nbsp;
 Splash window<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-sendempty">4.1.7.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-sendempty">5.1.7.</a>&nbsp;
 Periodically send empty string to server<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-internation">4.1.8.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-internation">5.1.8.</a>&nbsp;
 I18n/L10n<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-searching">4.1.9.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.preload-searching">5.1.9.</a>&nbsp;
 Searching<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload">4.2.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload">5.2.</a>&nbsp;
 Post-load<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-looknfeel">4.2.1.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-looknfeel">5.2.1.</a>&nbsp;
 Look-and-Feel<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-autoaway">4.2.2.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-autoaway">5.2.2.</a>&nbsp;
 The Autoaway Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-avatar">4.2.3.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-avatar">5.2.3.</a>&nbsp;
 The Avatar Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-chat">4.2.4.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-chat">5.2.4.</a>&nbsp;
 The Chat Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-clientinfo">4.2.5.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-clientinfo">5.2.5.</a>&nbsp;
 The Clientinfo Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-confinfo">4.2.6.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-confinfo">5.2.6.</a>&nbsp;
 The Conferenceinfo Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-crypto">4.2.7.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-crypto">5.2.7.</a>&nbsp;
 The Cryptographic Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-emoti">4.2.8.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-emoti">5.2.8.</a>&nbsp;
 The Emoticons Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-filexfer">4.2.9.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-filexfer">5.2.9.</a>&nbsp;
 The File Transfer Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-groupchat">4.2.10.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-groupchat">5.2.10.</a>&nbsp;
 The Groupchat Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-ispell">4.2.11.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-ispell">5.2.11.</a>&nbsp;
 The Ispell Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-si">4.2.12.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-si">5.2.12.</a>&nbsp;
 The Stream Initiation Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-jidlink">4.2.13.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-jidlink">5.2.13.</a>&nbsp;
 The Jidlink Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-log">4.2.14.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-log">5.2.14.</a>&nbsp;
 The Logger Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-login">4.2.15.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-login">5.2.15.</a>&nbsp;
 The Login Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-message">4.2.16.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-message">5.2.16.</a>&nbsp;
 The Message Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-rawxml">4.2.17.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-rawxml">5.2.17.</a>&nbsp;
 The Raw XML Input Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-roster">4.2.18.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-roster">5.2.18.</a>&nbsp;
 The Roster Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-sound">4.2.19.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.postload-sound">5.2.19.</a>&nbsp;
 The Sound Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload">4.3.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload">5.3.</a>&nbsp;
 Menu-load<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-avatar">4.3.1.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-avatar">5.3.1.</a>&nbsp;
 The Avatar Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-browser">4.3.2.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-browser">5.3.2.</a>&nbsp;
 The Browser Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-groupchat">4.3.3.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-groupchat">5.3.3.</a>&nbsp;
 The Groupchat Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-login">4.3.4.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-login">5.3.4.</a>&nbsp;
 The Login Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-message">4.3.5.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-message">5.3.5.</a>&nbsp;
 The Message Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-presence">4.3.6.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-presence">5.3.6.</a>&nbsp;
 The Presence Module<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-miscellany">4.3.7.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.menuload-miscellany">5.3.7.</a>&nbsp;
 Miscellany<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.finalload">4.4.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.finalload">5.4.</a>&nbsp;
 Final-Load<br />
-<a href="#s.extensibility">5.</a>&nbsp;
+<a href="#s.extensibility">6.</a>&nbsp;
 Extensibility<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor1">5.1.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor1">6.1.</a>&nbsp;
 Chat Hooks<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor2">5.2.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor2">6.2.</a>&nbsp;
 Login Hooks<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor3">5.3.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor3">6.3.</a>&nbsp;
 Presence Hooks<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor4">5.4.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor4">6.4.</a>&nbsp;
 Roster Hooks<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">5.5.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">6.5.</a>&nbsp;
 Miscellaneous Hooks<br />
-<a href="#s.user-interface">6.</a>&nbsp;
+<a href="#s.user-interface">7.</a>&nbsp;
 User Interface basics<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.ui-searching">6.1.</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#s.ui-searching">7.1.</a>&nbsp;
 Searching<br />
 <a href="#anchor6">Appendix&nbsp;A.</a>&nbsp;
 Releases History<br />
@@ -673,9 +675,31 @@
 </p><pre>
 tkabber -mime %s
 </pre>
+<a name="s.upgrading"></a><br /><hr />
+<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
+<a name="rfc.section.4"></a><h3>4.&nbsp;Upgrading</h3>
+
+<p>When upgrading <span class="emph">Tkabber</span> from version 0.9.9 or earlier note the following:
+</p>
+<ul class="text">
+<li>On Macintosh or Microsoft Windows <span class="emph">Tkabber</span> will copy
+    it's configuration directory to a new location (see <a class="info" href="#s.configuration">the next section<span> (</span><span class="info">Configuration</span><span>)</span></a>
+    for details). If the transfer of the config directory goes smoothly you may delete old
+    <span class="verb">"~/.tkabber"</span>
+    directory and replace its name in your config file by <span class="verb">$::configdir</span>.
+</li>
+<li>Also, <span class="emph">Tkabber</span> will convert chatlogs directory to a new format.
+</li>
+<li>Also, <span class="emph">Tkabber</span> changed the way it works with emoticons. Instead of loading them in config file
+    you may put you faivorite emoticons directory into <span class="verb">$::configdir/plugins</span> directory,
+    restart Tkabber and then choose emoticons set using Customize GUI.
+</li>
+</ul><p>
+
+</p>
 <a name="s.configuration"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4"></a><h3>4.&nbsp;Configuration</h3>
+<a name="rfc.section.5"></a><h3>5.&nbsp;Configuration</h3>
 
 <p><span class="emph">Tkabber</span> maintains its configuration using a set
 of files placed in a special configuration directory which
@@ -690,13 +714,13 @@
 	<span class="verb">"~/Library/Application Support/Tkabber"</span>;
 	
 </li>
-<li>Under Microsoft&reg; Windows&trade; this location
+<li>Under Microsoft Windows this location
 	is governed by the policy of the particular flavor
 	of this OS, but the general rule is that the
 	<span class="emph">Tkabber</span> configuration directory is named
 	<span class="verb">"Tkabber"</span> and is located
 	in the special system folder for storing application-specific data.
-	For example, under Windows XP&trade; this will be something like
+	For example, under Windows XP this will be something like
 	<span class="verb">"C:\Documents and Settings\USERNAME\Application Data\Tkabber"</span>,
 	where <span class="verb">"USERNAME"</span>
 	is the login name of a particular operating system's user.
@@ -757,7 +781,7 @@
 </p>
 <a name="s.preload"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1"></a><h3>4.1.&nbsp;Pre-load</h3>
+<a name="rfc.section.5.1"></a><h3>5.1.&nbsp;Pre-load</h3>
 
 <p>There are a few things that you may let <span class="emph">Tkabber</span> know
 immediately.
@@ -811,7 +835,7 @@
 </pre>
 <a name="s.preload.tab"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.1"></a><h3>4.1.1.&nbsp;Tabbed Interface</h3>
+<a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;Tabbed Interface</h3>
 
 <p>The first of these options,
 <span class="verb">ifacetk::options(use_tabbar)</span>,
@@ -830,7 +854,7 @@
 </p>
 <a name="s.preload-looknfeel"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.2"></a><h3>4.1.2.&nbsp;Fonts and colors</h3>
+<a name="rfc.section.5.1.2"></a><h3>5.1.2.&nbsp;Fonts and colors</h3>
 
 <p>Many aspects of the <span class="emph">Tkabber</span>'s visual appearance
 	such as fonts, colors and geometry of windows can be
@@ -870,7 +894,7 @@
 <p>
 	      Probably the most commonly used way to configure
 		  <span class="emph">Tkabber</span>'s visual appearance (especially on
-		  Windows&trade; platforms which lack <span class="emph">XRDB</span>
+		  Windows platforms which lack <span class="emph">XRDB</span>
 		  mechanism) is to put all the necessary settings in some
 		  file and then ask <span class="emph">Tk</span> to update its option
 		  database from it, like this:
@@ -944,7 +968,7 @@
 
 <a name="s.preload-crypto"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.3"></a><h3>4.1.3.&nbsp;Cryptography by default</h3>
+<a name="rfc.section.5.1.3"></a><h3>5.1.3.&nbsp;Cryptography by default</h3>
 
 <p>Next,
 you may want to <span class="emph">Tkabber</span> to use cryptography by default.
@@ -966,7 +990,7 @@
 </p>
 <a name="s.preload-tclxml"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.4"></a><h3>4.1.4.&nbsp;Using of external TclXML library</h3>
+<a name="rfc.section.5.1.4"></a><h3>5.1.4.&nbsp;Using of external TclXML library</h3>
 
 <p>
 	      By default <span class="emph">Tkabber</span> use version of <span class="emph">TclXML</span> library that come
@@ -980,7 +1004,7 @@
 </pre>
 <a name="s.preload-debugoutput"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.5"></a><h3>4.1.5.&nbsp;Debugging Output</h3>
+<a name="rfc.section.5.1.5"></a><h3>5.1.5.&nbsp;Debugging Output</h3>
 
 <p><span class="emph">Tkabber</span> has a lot of debugging output.
 By default,
@@ -1014,7 +1038,7 @@
 </pre>
 <a name="s.preload-splashwindow"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.6"></a><h3>4.1.6.&nbsp;Splash window</h3>
+<a name="rfc.section.5.1.6"></a><h3>5.1.6.&nbsp;Splash window</h3>
 
 <p>
 	      By default, when <span class="emph">Tkabber</span> startup, it show loading process in
@@ -1026,7 +1050,7 @@
 </pre>
 <a name="s.preload-sendempty"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.7"></a><h3>4.1.7.&nbsp;Periodically send empty string to server</h3>
+<a name="rfc.section.5.1.7"></a><h3>5.1.7.&nbsp;Periodically send empty string to server</h3>
 
 <p>
 	      If you're using a proxy to talk to a Jabber server, after a
@@ -1040,7 +1064,7 @@
 </pre>
 <a name="s.preload-internation"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.8"></a><h3>4.1.8.&nbsp;I18n/L10n</h3>
+<a name="rfc.section.5.1.8"></a><h3>5.1.8.&nbsp;I18n/L10n</h3>
 
 <p>
 	      <span class="emph">Tkabber</span> can show all messages in user's native language.  This
@@ -1057,7 +1081,7 @@
 </pre>
 <a name="s.preload-searching"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.1.9"></a><h3>4.1.9.&nbsp;Searching</h3>
+<a name="rfc.section.5.1.9"></a><h3>5.1.9.&nbsp;Searching</h3>
 
 <p><span class="emph">Tkabber</span> allows the user to perform textual
 		searching in certain classes of its windows. This searching
@@ -1069,7 +1093,7 @@
 </p>
 <a name="s.postload"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2"></a><h3>4.2.&nbsp;Post-load</h3>
+<a name="rfc.section.5.2"></a><h3>5.2.&nbsp;Post-load</h3>
 
 <p>After <span class="emph">Tkabber</span> reads your configuration file,
 it loads all of its own modules,
@@ -1264,7 +1288,7 @@
 </p>
 <a name="s.postload-looknfeel"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.1"></a><h3>4.2.1.&nbsp;Look-and-Feel</h3>
+<a name="rfc.section.5.2.1"></a><h3>5.2.1.&nbsp;Look-and-Feel</h3>
 
 <p>
 	    <span class="emph">Tkabber</span> is shameless in borrowing icons from other Jabber
@@ -1328,7 +1352,7 @@
 </p><pre>set raise_new_tab 0</pre>
 <a name="s.postload-autoaway"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.2"></a><h3>4.2.2.&nbsp;The Autoaway Module</h3>
+<a name="rfc.section.5.2.2"></a><h3>5.2.2.&nbsp;The Autoaway Module</h3>
 
 <p>This module is presently available only if either:
 </p>
@@ -1353,7 +1377,7 @@
 </p>
 <a name="s.postload-avatar"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.3"></a><h3>4.2.3.&nbsp;The Avatar Module</h3>
+<a name="rfc.section.5.2.3"></a><h3>5.2.3.&nbsp;The Avatar Module</h3>
 
 <p>There are two variables that you can set to control whether
 <span class="emph">Tkabber</span> will allow others to see your avatar:
@@ -1369,7 +1393,7 @@
 
 <a name="s.postload-chat"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.4"></a><h3>4.2.4.&nbsp;The Chat Module</h3>
+<a name="rfc.section.5.2.4"></a><h3>5.2.4.&nbsp;The Chat Module</h3>
 
 <p>Most instant messaging users prefer to see all the back-and-forth
 communication in a single window.
@@ -1394,7 +1418,7 @@
 </pre>
 <a name="s.postload-clientinfo"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.5"></a><h3>4.2.5.&nbsp;The Clientinfo Module</h3>
+<a name="rfc.section.5.2.5"></a><h3>5.2.5.&nbsp;The Clientinfo Module</h3>
 
 <p>
 	      This module shows in popup balloons information of used by this
@@ -1405,7 +1429,7 @@
 </p><pre>set plugins::clientinfo::options(autoask) 1</pre>
 <a name="s.postload-confinfo"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.6"></a><h3>4.2.6.&nbsp;The Conferenceinfo Module</h3>
+<a name="rfc.section.5.2.6"></a><h3>5.2.6.&nbsp;The Conferenceinfo Module</h3>
 
 <p>After you join a conference that's listed in your
 	    roster, then whenever you mouse over that roster entry,
@@ -1433,7 +1457,7 @@
 </p>
 <a name="s.postload-crypto"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.7"></a><h3>4.2.7.&nbsp;The Cryptographic Module</h3>
+<a name="rfc.section.5.2.7"></a><h3>5.2.7.&nbsp;The Cryptographic Module</h3>
 
 <p><a class="info" href="#s.preload">Earlier<span> (</span><span class="info">Pre-load</span><span>)</span></a> we saw an example where
 the <span class="verb">ssj::options</span> array from the cryptographic module was set during
@@ -1448,7 +1472,7 @@
 </pre>
 <a name="s.postload-emoti"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.8"></a><h3>4.2.8.&nbsp;The Emoticons Module</h3>
+<a name="rfc.section.5.2.8"></a><h3>5.2.8.&nbsp;The Emoticons Module</h3>
 
 <p>
 	    The procedure called <span class="emph">plugins::emoticons::load_dir</span> is used to load
@@ -1473,7 +1497,7 @@
 </pre>
 <a name="s.postload-filexfer"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.9"></a><h3>4.2.9.&nbsp;The File Transfer Module</h3>
+<a name="rfc.section.5.2.9"></a><h3>5.2.9.&nbsp;The File Transfer Module</h3>
 
 <p>
 	      You can set directory in which files will be saved by default:
@@ -1483,7 +1507,7 @@
 </pre>
 <a name="s.postload-groupchat"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.10"></a><h3>4.2.10.&nbsp;The Groupchat Module</h3>
+<a name="rfc.section.5.2.10"></a><h3>5.2.10.&nbsp;The Groupchat Module</h3>
 
 <p>
 	    There are several variables that set the dialog window defaults for
@@ -1528,7 +1552,7 @@
 </p>
 <a name="s.postload-ispell"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.11"></a><h3>4.2.11.&nbsp;The Ispell Module</h3>
+<a name="rfc.section.5.2.11"></a><h3>5.2.11.&nbsp;The Ispell Module</h3>
 
 <p>
 	    On Unix, <span class="emph">Tkabber</span> can check spelling of what you entered by
@@ -1561,7 +1585,7 @@
 </p>
 <a name="s.postload-si"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.12"></a><h3>4.2.12.&nbsp;The Stream Initiation Module</h3>
+<a name="rfc.section.5.2.12"></a><h3>5.2.12.&nbsp;The Stream Initiation Module</h3>
 
 <p>
 	    Stream initiation profile is defined in <span class="emph">XEP-0095</span> with
@@ -1596,7 +1620,7 @@
 </pre>
 <a name="s.postload-jidlink"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.13"></a><h3>4.2.13.&nbsp;The Jidlink Module</h3>
+<a name="rfc.section.5.2.13"></a><h3>5.2.13.&nbsp;The Jidlink Module</h3>
 
 <p>
 	    Jidlink is a simple negotiation protocol for setting up a
@@ -1633,7 +1657,7 @@
 </pre>
 <a name="s.postload-log"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.14"></a><h3>4.2.14.&nbsp;The Logger Module</h3>
+<a name="rfc.section.5.2.14"></a><h3>5.2.14.&nbsp;The Logger Module</h3>
 
 <p>
 	      You can set directory to store logs:
@@ -1651,7 +1675,7 @@
 </pre>
 <a name="s.postload-login"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.15"></a><h3>4.2.15.&nbsp;The Login Module</h3>
+<a name="rfc.section.5.2.15"></a><h3>5.2.15.&nbsp;The Login Module</h3>
 
 <p>The first task is to initialize the configuration defaults for the
 <span class="emph">login</span> module.
@@ -1737,7 +1761,7 @@
 </p>
 <a name="s.postload-message"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.16"></a><h3>4.2.16.&nbsp;The Message Module</h3>
+<a name="rfc.section.5.2.16"></a><h3>5.2.16.&nbsp;The Message Module</h3>
 
 <p>By default,
 when you restart <span class="emph">Tkabber</span> it won't remember the headlines you received.
@@ -1753,7 +1777,7 @@
 </p>
 <a name="s.postload-rawxml"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.17"></a><h3>4.2.17.&nbsp;The Raw XML Input Module</h3>
+<a name="rfc.section.5.2.17"></a><h3>5.2.17.&nbsp;The Raw XML Input Module</h3>
 
 <p>
 	    With this module you can monitor incoming/outgoing traffic from
@@ -1766,7 +1790,7 @@
 </p>
 <a name="s.postload-roster"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.18"></a><h3>4.2.18.&nbsp;The Roster Module</h3>
+<a name="rfc.section.5.2.18"></a><h3>5.2.18.&nbsp;The Roster Module</h3>
 
 <p>
 	    By default, your entire roster is shown, even those items that
@@ -1796,7 +1820,7 @@
 </p>
 <a name="s.postload-sound"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.2.19"></a><h3>4.2.19.&nbsp;The Sound Module</h3>
+<a name="rfc.section.5.2.19"></a><h3>5.2.19.&nbsp;The Sound Module</h3>
 
 <p>
 	      <span class="emph">Tkabber</span> can play sounds on some events.  It can use for this
@@ -1890,7 +1914,7 @@
 </pre>
 <a name="s.menuload"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3"></a><h3>4.3.&nbsp;Menu-load</h3>
+<a name="rfc.section.5.3"></a><h3>5.3.&nbsp;Menu-load</h3>
 
 <p>After <span class="emph">Tkabber</span> invokes your <span class="verb">postload</span> procedure,
 it starts building the GUI.
@@ -1932,20 +1956,20 @@
 
 <a name="s.menuload-avatar"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3.1"></a><h3>4.3.1.&nbsp;The Avatar Module</h3>
+<a name="rfc.section.5.3.1"></a><h3>5.3.1.&nbsp;The Avatar Module</h3>
 
 <p>The procedure called <span class="verb">avatar::store_on_server</span> stores your avatar
 on the server.
 </p>
 <a name="s.menuload-browser"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3.2"></a><h3>4.3.2.&nbsp;The Browser Module</h3>
+<a name="rfc.section.5.3.2"></a><h3>5.3.2.&nbsp;The Browser Module</h3>
 
 <p>The procedure called <span class="verb">browser::open</span> opens a new browser window.
 </p>
 <a name="s.menuload-groupchat"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3.3"></a><h3>4.3.3.&nbsp;The Groupchat Module</h3>
+<a name="rfc.section.5.3.3"></a><h3>5.3.3.&nbsp;The Groupchat Module</h3>
 
 <p>The procedure called <span class="verb">add_group_dialog</span> displays a dialog window
 when you want to add a groupchat to your roster.
@@ -1955,7 +1979,7 @@
 </p>
 <a name="s.menuload-login"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3.4"></a><h3>4.3.4.&nbsp;The Login Module</h3>
+<a name="rfc.section.5.3.4"></a><h3>5.3.4.&nbsp;The Login Module</h3>
 
 <p>The procedure called <span class="verb">show_login_dialog</span> displays a dialog window
 when you want to login to the server.
@@ -1969,7 +1993,7 @@
 </p>
 <a name="s.menuload-message"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3.5"></a><h3>4.3.5.&nbsp;The Message Module</h3>
+<a name="rfc.section.5.3.5"></a><h3>5.3.5.&nbsp;The Message Module</h3>
 
 <p>If you want to send a message to someone,
 the procedure called <span class="verb">message::send_dialog</span> will put up a dialog window.
@@ -1987,7 +2011,7 @@
 </p>
 <a name="s.menuload-presence"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3.6"></a><h3>4.3.6.&nbsp;The Presence Module</h3>
+<a name="rfc.section.5.3.6"></a><h3>5.3.6.&nbsp;The Presence Module</h3>
 
 <p>If you want to display information about a user,
 the procecure called <span class="verb">userinfo::open</span> will put up a dialog window.
@@ -2041,7 +2065,7 @@
 </pre>
 <a name="s.menuload-miscellany"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.3.7"></a><h3>4.3.7.&nbsp;Miscellany</h3>
+<a name="rfc.section.5.3.7"></a><h3>5.3.7.&nbsp;Miscellany</h3>
 
 <p>Finally,
 you can use the procedure named <span class="verb">help_window</span> to display some textual
@@ -2056,7 +2080,7 @@
 </p>
 <a name="s.finalload"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.4.4"></a><h3>4.4.&nbsp;Final-Load</h3>
+<a name="rfc.section.5.4"></a><h3>5.4.&nbsp;Final-Load</h3>
 
 <p>Finally,
 right before <span class="emph">Tkabber</span> goes to display the login dialog,
@@ -2065,7 +2089,7 @@
 </p>
 <a name="s.extensibility"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.5"></a><h3>5.&nbsp;Extensibility</h3>
+<a name="rfc.section.6"></a><h3>6.&nbsp;Extensibility</h3>
 
 <p>In addition to various configuration mechanisms,
 <span class="emph">Tkabber</span> lets you define procedures,
@@ -2145,7 +2169,7 @@
 </p>
 <a name="anchor1"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.5.1"></a><h3>5.1.&nbsp;Chat Hooks</h3>
+<a name="rfc.section.6.1"></a><h3>6.1.&nbsp;Chat Hooks</h3>
 
 <p>When <span class="emph">Tkabber</span> decides that it needs to open a (tabbed)
 window for a chat or groupchat,
@@ -2239,7 +2263,7 @@
 </p>
 <a name="anchor2"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.5.2"></a><h3>5.2.&nbsp;Login Hooks</h3>
+<a name="rfc.section.6.2"></a><h3>6.2.&nbsp;Login Hooks</h3>
 
 <p>Two hooks are invoked whenever a session is connected or
 disconnected:
@@ -2253,7 +2277,7 @@
 </p>
 <a name="anchor3"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.5.3"></a><h3>5.3.&nbsp;Presence Hooks</h3>
+<a name="rfc.section.6.3"></a><h3>6.3.&nbsp;Presence Hooks</h3>
 
 <p>When our presence status changes,
 a hook is run:
@@ -2306,7 +2330,7 @@
 </p>
 <a name="anchor4"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.5.4"></a><h3>5.4.&nbsp;Roster Hooks</h3>
+<a name="rfc.section.6.4"></a><h3>6.4.&nbsp;Roster Hooks</h3>
 
 <p>
 	    When an item is added to the roster window, one of the four hooks is run to add
@@ -2352,7 +2376,7 @@
 </p>
 <a name="anchor5"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.5.5"></a><h3>5.5.&nbsp;Miscellaneous Hooks</h3>
+<a name="rfc.section.6.5"></a><h3>6.5.&nbsp;Miscellaneous Hooks</h3>
 
 <p>There are three "obvious" hooks:
 </p><pre>
@@ -2368,7 +2392,7 @@
 respectively. <span class="emph">postload_hook</span> is run after all code loaded and before initializing main
 <span class="emph">Tkabber</span> window. After that <span class="emph">finload_hook</span> is run.
 The final hook is called just before <span class="emph">Tkabber</span> terminates
-(cf., <a class="info" href="#s.menuload-miscellany">Section&nbsp;4.3.7<span> (</span><span class="info">Miscellany</span><span>)</span></a>).
+(cf., <a class="info" href="#s.menuload-miscellany">Section&nbsp;5.3.7<span> (</span><span class="info">Miscellany</span><span>)</span></a>).
 </p>
 <p>You can add custom pages to userinfo window using
 </p><pre>
@@ -2376,11 +2400,11 @@
 </pre>
 <a name="s.user-interface"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.6"></a><h3>6.&nbsp;User Interface basics</h3>
+<a name="rfc.section.7"></a><h3>7.&nbsp;User Interface basics</h3>
 
 <a name="s.ui-searching"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
-<a name="rfc.section.6.1"></a><h3>6.1.&nbsp;Searching</h3>
+<a name="rfc.section.7.1"></a><h3>7.1.&nbsp;Searching</h3>
 
 <p>Search panel may be invoked in certain classes of
 <span class="emph">Tkabber</span> windows using the
@@ -2486,8 +2510,11 @@
 </li>
 <li>Search in Disco, Browser, Headlines, RawXML, and Customize windows
 </li>
-<li>New plugins (latex, tkabber-khim, traffic, renju)
+<li>New internal plugins: abbrev allows to abbreviate words in chat input windows,
+	       postpone stores/restores current input window content
 </li>
+<li>New external plugins (aniemoticons, latex, tkabber-khim, traffic, renju)
+</li>
 <li>Emoticons theme now can be loaded using GUI
 </li>
 <li>Most Tkabber's tabs can now be stored on exit and restored on start

Modified: trunk/tkabber/doc/tkabber.xml
===================================================================
--- trunk/tkabber/doc/tkabber.xml	2007-04-12 13:37:06 UTC (rev 1103)
+++ trunk/tkabber/doc/tkabber.xml	2007-04-12 16:06:34 UTC (rev 1104)
@@ -399,6 +399,21 @@
 	</figure>
 </section>
 
+<section anchor='s.upgrading' title='Upgrading'>
+<t>When upgrading <spanx>Tkabber</spanx> from version 0.9.9 or earlier note the following:
+<list style='symbols'>
+    <t>On Macintosh or Microsoft Windows <spanx>Tkabber</spanx> will copy
+    it's configuration directory to a new location (see <xref target='s.configuration'>the next section</xref>
+    for details). If the transfer of the config directory goes smoothly you may delete old
+    <spanx style='verb'>"~/.tkabber"</spanx>
+    directory and replace its name in your config file by <spanx style='verb'>$::configdir</spanx>.</t>
+    <t>Also, <spanx>Tkabber</spanx> will convert chatlogs directory to a new format.</t>
+    <t>Also, <spanx>Tkabber</spanx> changed the way it works with emoticons. Instead of loading them in config file
+    you may put you faivorite emoticons directory into <spanx style='verb'>$::configdir/plugins</spanx> directory,
+    restart Tkabber and then choose emoticons set using Customize GUI.</t>
+</list>
+</t>
+</section>
 
 <section anchor='s.configuration' title='Configuration'>
 <t><spanx>Tkabber</spanx> maintains its configuration using a set
@@ -411,13 +426,13 @@
 	<t>Macintosh:
 	<spanx style='verb'>"~/Library/Application Support/Tkabber"</spanx>;
 	</t>
-	<t>Under Microsoft&reg; Windows&trade; this location
+	<t>Under Microsoft Windows this location
 	is governed by the policy of the particular flavor
 	of this OS, but the general rule is that the
 	<spanx>Tkabber</spanx> configuration directory is named
 	<spanx style='verb'>"Tkabber"</spanx> and is located
 	in the special system folder for storing application-specific data.
-	For example, under Windows XP&trade; this will be something like
+	For example, under Windows XP this will be something like
 	<spanx style='verb'>"C:\Documents and Settings\USERNAME\Application Data\Tkabber"</spanx>,
 	where <spanx style='verb'>"USERNAME"</spanx>
 	is the login name of a particular operating system's user.
@@ -587,7 +602,7 @@
 	    <preamble>
 	      Probably the most commonly used way to configure
 		  <spanx>Tkabber</spanx>'s visual appearance (especially on
-		  Windows&trade; platforms which lack <spanx>XRDB</spanx>
+		  Windows platforms which lack <spanx>XRDB</spanx>
 		  mechanism) is to put all the necessary settings in some
 		  file and then ask <spanx>Tk</spanx> to update its option
 		  database from it, like this:
@@ -2167,7 +2182,9 @@
 	    <t>New chats history tool with search over the all chatlog files</t>
 	    <t>Roster item icons are chosen based on Disco queries to item server</t>
 	    <t>Search in Disco, Browser, Headlines, RawXML, and Customize windows</t>
-	    <t>New plugins (latex, tkabber-khim, traffic, renju)</t>
+	    <t>New internal plugins: abbrev allows to abbreviate words in chat input windows,
+	       postpone stores/restores current input window content</t>
+	    <t>New external plugins (aniemoticons, latex, tkabber-khim, traffic, renju)</t>
 	    <t>Emoticons theme now can be loaded using GUI</t>
 	    <t>Most Tkabber's tabs can now be stored on exit and restored on start</t>
 	    <t>XMPP ping support (XEP-0199). Reconnecting based on XMPP ping replies</t>

Modified: trunk/tkabber/plugins/richtext/emoticons.tcl
===================================================================
--- trunk/tkabber/plugins/richtext/emoticons.tcl	2007-04-12 13:37:06 UTC (rev 1103)
+++ trunk/tkabber/plugins/richtext/emoticons.tcl	2007-04-12 16:06:34 UTC (rev 1104)
@@ -151,6 +151,12 @@
     }
 }
 
+# For backward compatibility:
+namespace eval ::emoteicons {}
+
+proc ::emoteicons::load_dir {dir} \
+     [list eval [list [namespace current]::emoticons::load_dir] \$dir]
+
 # Loads a new set of emoticons, adding them to the existing set,
 # replacing any existing emoticons with the same mnemonics:
 proc emoticons::load_dir {dir} {
@@ -643,7 +649,7 @@
 }
 
 namespace eval emoticons {
-    ::hook::add postload_hook [namespace current]::enable_subsystem 70
+    ::hook::add postload_hook [namespace current]::enable_subsystem 40
 
     ::hook::add open_chat_post_hook [namespace current]::setup_bindings
 



More information about the Tkabber-dev mailing list