[Tkabber-dev] r2135 - in trunk/tkabber: . doc

tkabber-svn at jabber.ru tkabber-svn at jabber.ru
Fri Feb 14 11:20:40 MSK 2014


Author: sergei
Date: 2014-02-14 11:20:40 +0400 (Fri, 14 Feb 2014)
New Revision: 2135

Modified:
   trunk/tkabber/ChangeLog
   trunk/tkabber/README
   trunk/tkabber/doc/tkabber.html
   trunk/tkabber/doc/tkabber.xml
Log:
	* doc/tkabber.html, doc/tkabber.xml, README: Added changes for the
	  upcoming 1.1 release.


Modified: trunk/tkabber/ChangeLog
===================================================================
--- trunk/tkabber/ChangeLog	2014-02-10 11:46:03 UTC (rev 2134)
+++ trunk/tkabber/ChangeLog	2014-02-14 07:20:40 UTC (rev 2135)
@@ -1,3 +1,8 @@
+2014-02-14  Sergei Golovan  <sgolovan at nes.ru>
+
+	* doc/tkabber.html, doc/tkabber.xml, README: Added changes for the
+	  upcoming 1.1 release.
+
 2014-02-10  Sergei Golovan  <sgolovan at nes.ru>
 
 	* plugins/general/subscribe_gateway.tcl: Fixed managing subscription

Modified: trunk/tkabber/README
===================================================================
--- trunk/tkabber/README	2014-02-10 11:46:03 UTC (rev 2134)
+++ trunk/tkabber/README	2014-02-14 07:20:40 UTC (rev 2135)
@@ -11,7 +11,7 @@
                                                            Colocall Ltd.
                                                             K. Khomoutov
                                                              Service 007
-                                                            January 2014
+                                                       February 14, 2014
 
 
                               Tkabber 1.0
@@ -54,7 +54,7 @@
 
 Shchepin, et al.                                                [Page 1]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 Table of Contents
@@ -110,7 +110,7 @@
 
 Shchepin, et al.                                                [Page 2]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
        7.2.18. The Raw XML Input Module . . . . . . . . . . . . . . . 39
@@ -128,23 +128,24 @@
    8.  Extensibility  . . . . . . . . . . . . . . . . . . . . . . . . 45
      8.1.  Message Hooks  . . . . . . . . . . . . . . . . . . . . . . 46
      8.2.  Chat Hooks . . . . . . . . . . . . . . . . . . . . . . . . 47
-     8.3.  Login Hooks  . . . . . . . . . . . . . . . . . . . . . . . 48
+     8.3.  Login Hooks  . . . . . . . . . . . . . . . . . . . . . . . 49
      8.4.  Presence Hooks . . . . . . . . . . . . . . . . . . . . . . 49
-     8.5.  Info/Query Hook  . . . . . . . . . . . . . . . . . . . . . 49
+     8.5.  Info/Query Hook  . . . . . . . . . . . . . . . . . . . . . 50
      8.6.  Roster Hooks . . . . . . . . . . . . . . . . . . . . . . . 50
-     8.7.  Miscellaneous Hooks  . . . . . . . . . . . . . . . . . . . 50
+     8.7.  Miscellaneous Hooks  . . . . . . . . . . . . . . . . . . . 51
    9.  User Interface basics  . . . . . . . . . . . . . . . . . . . . 52
      9.1.  Searching  . . . . . . . . . . . . . . . . . . . . . . . . 52
    Appendix A.  Releases History  . . . . . . . . . . . . . . . . . . 56
-     A.1.  Main changes in 1.0  . . . . . . . . . . . . . . . . . . . 56
-     A.2.  Main changes in 0.11.1 . . . . . . . . . . . . . . . . . . 56
-     A.3.  Main changes in 0.11.0 . . . . . . . . . . . . . . . . . . 57
-     A.4.  Main changes in 0.10.0 . . . . . . . . . . . . . . . . . . 57
-     A.5.  Main changes in 0.9.9  . . . . . . . . . . . . . . . . . . 58
-     A.6.  Main changes in 0.9.8  . . . . . . . . . . . . . . . . . . 59
-     A.7.  Main changes in 0.9.7beta  . . . . . . . . . . . . . . . . 59
-     A.8.  Main changes in 0.9.6beta  . . . . . . . . . . . . . . . . 60
-     A.9.  Main changes in 0.9.5beta  . . . . . . . . . . . . . . . . 60
+     A.1.  Main changes in 1.1  . . . . . . . . . . . . . . . . . . . 56
+     A.2.  Main changes in 1.0  . . . . . . . . . . . . . . . . . . . 56
+     A.3.  Main changes in 0.11.1 . . . . . . . . . . . . . . . . . . 57
+     A.4.  Main changes in 0.11.0 . . . . . . . . . . . . . . . . . . 57
+     A.5.  Main changes in 0.10.0 . . . . . . . . . . . . . . . . . . 58
+     A.6.  Main changes in 0.9.9  . . . . . . . . . . . . . . . . . . 59
+     A.7.  Main changes in 0.9.8  . . . . . . . . . . . . . . . . . . 59
+     A.8.  Main changes in 0.9.7beta  . . . . . . . . . . . . . . . . 59
+     A.9.  Main changes in 0.9.6beta  . . . . . . . . . . . . . . . . 60
+     A.10. Main changes in 0.9.5beta  . . . . . . . . . . . . . . . . 60
    Appendix B.  Tk option database resources  . . . . . . . . . . . . 61
    Appendix C.  Documentation TODO  . . . . . . . . . . . . . . . . . 65
    Appendix D.  Acknowledgements  . . . . . . . . . . . . . . . . . . 66
@@ -163,10 +164,9 @@
 
 
 
-
 Shchepin, et al.                                                [Page 3]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 1.  Features
@@ -222,16 +222,18 @@
 
 Shchepin, et al.                                                [Page 4]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    messages:
 
       *  privacy rules
 
-      *  signed/encrypted messages (if you install an optional
+      *  GPG-signed/encrypted messages (if you install an optional
          extension)
 
+      *  Off-the-record (OTR [3]) messaging
+
       *  file transfers (HTTP, SOCKS bytestream, DTCP and IBB
          transports)
 
@@ -268,9 +270,7 @@
 
       *  user-defined hooks for presence changes
 
-   windowing:
 
-      *  configurable look-and-feel via a resources database
 
 
 
@@ -278,9 +278,13 @@
 
 Shchepin, et al.                                                [Page 5]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
+   windowing:
+
+      *  configurable look-and-feel via a resources database
+
       *  unicode
 
       *  tabbed/non-tabbed interface
@@ -328,27 +332,23 @@
 
 
 
-
-
-
-
 Shchepin, et al.                                                [Page 6]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 2.  Requirements
 
    You should already have installed:
 
-   o  Tcl/Tk version 8.4.9 [3] (or later, Tcl/Tk 8.5.9 or later is
+   o  Tcl/Tk version 8.4.9 [4] (or later, Tcl/Tk 8.5.9 or later is
       recommended).  Note, that if you want to use Tkabber in IPv6
       environment, you'll have to install Tcl/Tk 8.6beta2 or later.
 
-   o  tcllib version 1.2 [4] (or later, tcllib 1.8 or later is required
+   o  tcllib version 1.2 [5] (or later, tcllib 1.8 or later is required
       for SRV and TXT DNS-records support).
 
-   o  BWidget 1.3 [4] (or later)
+   o  BWidget 1.3 [5] (or later)
 
    Most systems already come with these packages pre-installed.  If not,
    various Unix systems have them available as ready-made packages.
@@ -358,7 +358,7 @@
    there are many ready-made binary packages available on the download
    site.
 
-   The ActiveTcl [5] distribution contains all three packages (along
+   The ActiveTcl [6] distribution contains all three packages (along
    with the _tls_ and _Img_ package mentioned below); so, you may want
    to use that instead of three separate downloads.
 
@@ -372,11 +372,11 @@
       problem in some local, wired environments, if your server is
       distant or your client is wireless, then you may want to encrypt
       all the client/server traffic.
-      Accordingly, you may to install tls version 1.4.1 [6] (or later).
+      Accordingly, you may to install tls version 1.4.1 [7] (or later).
       This package works on both Unix and Windows.  Note that if you're
       using Unix, then you'll also need to have _OpenSSL_ installed.
       Fortunately, this comes preinstalled on many Unix systems.  If
-      it's not on your system, check OpenSSL source page [7].  (The
+      it's not on your system, check OpenSSL source page [8].  (The
       Windows distribution of _tls_ comes with all the necessary DLLs.)
 
 
@@ -384,13 +384,13 @@
       bitmaps, GIFs and portable pixmaps).  If presence information
       contains avatars, these may be in other formats (e.g., PNGs or
       JPGs).
-      Accordingly, you may want to install Img version 1.2 [8] (or
+      Accordingly, you may want to install Img version 1.2 [9] (or
 
 
 
 Shchepin, et al.                                                [Page 7]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
       later).  This package works on both Unix and Windows.
@@ -398,17 +398,17 @@
 
    o  Tkabber comes bundled with pure-Tcl XML parser.  If its
       performance is insufficient, you may want to install tDOM version
-      0.8.0 [9] (or later) and use expat based XML parser.
+      0.8.0 [10] (or later) and use expat based XML parser.
 
 
    o  Another option in Unix is to compress connection between client
       and server (it currently disables encryption).
       There's no special requirements for traffic compression in Tcl/Tk
       8.6, but if you're using Tcl/Tk 8.4 or 8.5 and want to compress
-      traffic you should install ZTcl version 1.0b4 [10] (or later) and
-      Tclmore version 0.7b1 [10] (or later).
+      traffic you should install ZTcl version 1.0b4 [11] (or later) and
+      Tclmore version 0.7b1 [11] (or later).
       (At the time of 0.11.0 release _ZTcl_ and _Tclmore_ home page were
-      unavailable, so you may grab them from a mirror [11].)
+      unavailable, so you may grab them from a mirror [12].)
 
 
    o  By default, end-to-end communications between two or more Jabber
@@ -420,51 +420,61 @@
       Depending on what's already installed on your system, you may have
       to download upto two software bits:
 
-      *  TclGPG [12] (available only in SVN at present);
+      *  TclGPG [13] (available only in SVN at present);
 
-      *  GPG version 1.0.7 [13] (or later).
+      *  GPG version 1.0.7 [14] (or later).
 
+      Another alternative is to use Off-the-record messaging
+      protocol [3], if your contact supports it.  The OTR plugin is
+      included into _Tkabber plugins collection_ starting from version
+      1.1 and requires _Tcl/Tk_ 8.5 or newer, due to its arbitrary
+      precision integer arithmetics, and a few packages from _Tcllib_,
+      namely the _aes_, _asn_, _base64_, _math::bignum_, _sha1_,
+      _sha256_ packages.  Also, if you're using Windows, the
+      Memchan [15] extension has to be installed to run the OTR plugin.
 
+
    o  If you're running Unix or Windows, then you may want _Tkabber_ to
       play predefined sounds when message or presence arrives.
-      Accordingly, you may want to install Snack version 2.10 [14] (or
+      Accordingly, you may want to install Snack version 2.10 [16] (or
       later).
 
 
+
+
+
+
+Shchepin, et al.                                                [Page 8]
+

+                               Tkabber 1.0                 February 2014
+
+
    o  If you're running Unix or Windows, then you may want _Tkabber_ to
       automatically mark you as away after a priod of inactivity.
       Accordingly (if you're using _Tcl/Tk_ 8.4), on Unix, you may want
-      to install Tk Xwin version 1.0 [15] (or later), whilst on WIndows,
-      you may want to install Tcl Winidle version 0.1 [16] (or later).
+      to install Tk Xwin version 1.0 [17] (or later), whilst on WIndows,
+      you may want to install Tcl Winidle version 0.1 [18] (or later).
 
    o  Users of _Tcl/Tk_ 8.5 or newer don't have to use external packages
       to measure their idle time.
 
 
-
-
-
-Shchepin, et al.                                                [Page 8]
-

-                               Tkabber 1.0                  January 2014
-
-
    o  If you're running Unix, then you may want _Tkabber_ to use the
       docking tray.
-      Accordingly, you may want to install tktray version 1.3 [17] (or
+      Accordingly, you may want to install tktray version 1.3 [19] (or
       later) for freedesktop icon (supported by modern _KDE_ and
       _GNOME_).
 
 
    o  If you're running Windows, then you may want _Tkabber_ to use the
       system tray.
-      Accordingly, you may want to install Winico version 0.6 [18] (or
+      Accordingly, you may want to install Winico version 0.6 [20] (or
       later).
 
 
    o  If you're a Tcl/Tk guru, then you may want to access the Tk
       console to debug things.
-      Accordingly, you may want to install tkcon version 2.3 [19] (or
+      Accordingly, you may want to install tkcon version 2.3 [21] (or
       later).
 
    Please keep in mind that these are all "optional extras" -- if
@@ -490,24 +500,14 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
 Shchepin, et al.                                                [Page 9]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 3.  Download, install and run
 
-   Latest stable version is 1.0 and available at
+   Latest stable version is 1.1 and available at
    http://tkabber.jabber.ru/download.
 
    Older versions can be found at http://files.jabber.ru/tkabber/.
@@ -558,7 +558,7 @@
 
 Shchepin, et al.                                               [Page 10]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    From the shell, you can invoke _Tkabber_ as:
@@ -581,7 +581,7 @@
    tools_ automatically.
 
    Also you can setup _Tkabber_ as handler for XMPP/Jabber MIME
-   Type [20].  For this you need to set hanler for
+   Type [22].  For this you need to set hanler for
    "application/xmpp+xml" MIME type in your browser to something like
    this:
 
@@ -614,7 +614,7 @@
 
 Shchepin, et al.                                               [Page 11]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 4.  Upgrading from version 0.11.0 or 0.11.1
@@ -626,7 +626,7 @@
 
    There are incompatible changes in Tkabber internals, which break the
    old plugins.  So, you'll have to upgrade them as well.  If a plugin
-   author hasn't released a version compatible with _Tkabber_ 1.0 then
+   author hasn't released a version compatible with _Tkabber_ 1.1 then
    you'll have to disable or remove that plugin.
 
 4.2.  Configuration options
@@ -670,7 +670,7 @@
 
 Shchepin, et al.                                               [Page 12]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    Replace them by the following:
@@ -726,7 +726,7 @@
 
 Shchepin, et al.                                               [Page 13]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 5.  Upgrading from version 0.10.0
@@ -782,7 +782,7 @@
 
 Shchepin, et al.                                               [Page 14]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    0.11.0 release.
@@ -838,7 +838,7 @@
 
 Shchepin, et al.                                               [Page 15]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 5.1.4.  Resources to control appearance of balloon windows
@@ -894,7 +894,7 @@
 
 Shchepin, et al.                                               [Page 16]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    the ability for multi-row placement of tabs and docking them to the
@@ -950,7 +950,7 @@
 
 Shchepin, et al.                                               [Page 17]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 6.  Upgrading from version 0.9.9
@@ -1006,7 +1006,7 @@
 
 Shchepin, et al.                                               [Page 18]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.  Configuration
@@ -1062,7 +1062,7 @@
 
 Shchepin, et al.                                               [Page 19]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    o  in the post-load stage, configuration options for each module are
@@ -1118,7 +1118,7 @@
 
 Shchepin, et al.                                               [Page 20]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.1.  Pre-load
@@ -1174,7 +1174,7 @@
 
 Shchepin, et al.                                               [Page 21]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.1.1.  Tabbed Interface
@@ -1196,9 +1196,9 @@
 
    Many aspects of the _Tkabber_'s visual appearance such as fonts,
    colors and geometry of windows can be configured using the Tk option
-   database. [21]
+   database. [23]
 
-   The corresponding _Tk_'s option [22] command can be used in the
+   The corresponding _Tk_'s option [24] command can be used in the
    _Tkabber_'s configuration file in any acceptable way: from small
    tweaks to reading files containing elaborate sets of configuration
    commands; ready-to-use examples of such files are included in the
@@ -1230,7 +1230,7 @@
 
 Shchepin, et al.                                               [Page 22]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    Probably the most commonly used way to configure _Tkabber_'s visual
@@ -1286,7 +1286,7 @@
 
 Shchepin, et al.                                               [Page 23]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    o  Ensure that the specified font exists, since if it's not, _Tk_
@@ -1342,7 +1342,7 @@
 
 Shchepin, et al.                                               [Page 24]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    configuration file:
@@ -1398,7 +1398,7 @@
 
 Shchepin, et al.                                               [Page 25]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    for Windows:
@@ -1454,7 +1454,7 @@
 
 Shchepin, et al.                                               [Page 26]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
  # tray icon
@@ -1510,7 +1510,7 @@
 
 Shchepin, et al.                                               [Page 27]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
  # the file transfer module
@@ -1566,7 +1566,7 @@
 
 Shchepin, et al.                                               [Page 28]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
      set proxy2(host)     proxy.example.com
@@ -1622,7 +1622,7 @@
 
 Shchepin, et al.                                               [Page 29]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
      set loginconf2(profile)      "Test Account"
@@ -1678,7 +1678,7 @@
 
 Shchepin, et al.                                               [Page 30]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    This isn't nearly as complicated as it seems.  Let's break it down by
@@ -1734,7 +1734,7 @@
 
 Shchepin, et al.                                               [Page 31]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    If you want to control the tray icon appearance and/or position,
@@ -1790,7 +1790,7 @@
 
 Shchepin, et al.                                               [Page 32]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.2.6.  The Clientinfo Module
@@ -1837,7 +1837,7 @@
    called ""icondef.xml"", which defines the mapping between each image
    and its textual emoticon (To find out what this file looks like, go
    to where you installed _Tkabber_ and take a look at the file called
-   ""emoticons/default/icondef.xml"" or read XEP-0038 [23].)
+   ""emoticons/default/icondef.xml"" or read XEP-0038 [25].)
 
 
 
@@ -1846,7 +1846,7 @@
 
 Shchepin, et al.                                               [Page 33]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    If you have just a few icons, and you don't want to create a
@@ -1902,7 +1902,7 @@
 
 Shchepin, et al.                                               [Page 34]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.2.12.  The Ispell Module
@@ -1958,7 +1958,7 @@
 
 Shchepin, et al.                                               [Page 35]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.2.14.  The Logger Module
@@ -2014,7 +2014,7 @@
 
 Shchepin, et al.                                               [Page 36]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    Field "type" is one of the following: _"socks4"_, _"socks5"_,
@@ -2070,7 +2070,7 @@
 
 Shchepin, et al.                                               [Page 37]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.2.16.  The Login Module
@@ -2126,7 +2126,7 @@
 
 Shchepin, et al.                                               [Page 38]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    populates the dialog window you'll see when _Tkabber_ wants to
@@ -2182,7 +2182,7 @@
 
 Shchepin, et al.                                               [Page 39]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    that two groups (""RSS"" and ""Undefined"") start with their items
@@ -2238,7 +2238,7 @@
 
 Shchepin, et al.                                               [Page 40]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    o  "sound::options(connected_sound)" -- sound playing when _Tkabber_
@@ -2294,7 +2294,7 @@
 
 Shchepin, et al.                                               [Page 41]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    proc menuload {description} { return $description }
@@ -2350,7 +2350,7 @@
 
 Shchepin, et al.                                               [Page 42]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 7.3.5.  The Message Module
@@ -2406,7 +2406,7 @@
 
 Shchepin, et al.                                               [Page 43]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    Changes to your presence information are propagated only when
@@ -2462,7 +2462,7 @@
 
 Shchepin, et al.                                               [Page 44]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 8.  Extensibility
@@ -2518,7 +2518,7 @@
 
 Shchepin, et al.                                               [Page 45]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    To continue with the example, in between the pre-load and post-load
@@ -2574,7 +2574,7 @@
 
 Shchepin, et al.                                               [Page 46]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    The first hook takes eleven variable names as arguments, so the
@@ -2618,6 +2618,28 @@
    localpart of your login identity; the body of the message; and, the
    type of chat.
 
+   When you are aboutn to send a chat or normal message to the wire, a
+   hook is run:
+
+ rewrite_outgoing_message_hook xlib to id type subject body err thread x
+
+   The first hook takes nine variable names as arguments, so the calling
+   procedures can rewrite them.  This means that a procedure in this
+
+
+
+Shchepin, et al.                                               [Page 47]
+

+                               Tkabber 1.0                 February 2014
+
+
+   hook should call "upvar 2 $varbody body" and use the "body" variable
+   to change the actual message body.  For example, this allows
+   _Tkabber_ to encrypt message and put the encrypted message into the
+   "body" variable to send.  This hook is introduced in _Tkabber_ 1.1,
+   and is used by the OTR plugin, so the latter will not work in
+   _Tkabber_ 1.0 and older.
+
    draw_message_hook $chatid $from $type $body $extras
 
    The hook is given five parameters: the chatid of the sender window
@@ -2626,13 +2648,6 @@
    list of additional payload elements.  (This last parameter isn't
    documented in this version of the documentation.)
 
-
-
-Shchepin, et al.                                               [Page 47]
-

-                               Tkabber 1.0                  January 2014
-
-
    Chat windows have menubuttons, and two hooks are used to add items in
    menu:
 
@@ -2662,6 +2677,18 @@
    The hooks are given two parameters: chatid of conference and nick of
    participant.
 
+
+
+
+
+
+
+
+Shchepin, et al.                                               [Page 48]
+

+                               Tkabber 1.0                 February 2014
+
+
    When someone changes his/her nickname in a conference room, the
    following hook is called:
 
@@ -2682,13 +2709,6 @@
    Both hooks are given one parameter: connection token (_Tkabber_
    allows several connections at once).
 
-
-
-Shchepin, et al.                                               [Page 48]
-

-                               Tkabber 1.0                  January 2014
-
-
 8.4.  Presence Hooks
 
    When our presence status changes, a hook is run:
@@ -2718,6 +2738,13 @@
    (e.g., "fred") or the JID itself (e.g., "fred at example.com") if no
    label exists in the roster; and, the user's new status.
 
+
+
+Shchepin, et al.                                               [Page 49]
+

+                               Tkabber 1.0                 February 2014
+
+
    And for all received presence packets, a hook is run:
 
    client_presence_hook $xlib $from $type $x $args
@@ -2737,14 +2764,6 @@
    sent this query/response type of stanza (e.g., "get", "set", "result"
    or "error"), list of query subelements (usually it contains only one
    element), list of optional arguments (e.g., "-lang language -to jid
-
-
-
-Shchepin, et al.                                               [Page 49]
-

-                               Tkabber 1.0                  January 2014
-
-
    -id id -x $list_of_other_attributes").
 
 8.6.  Roster Hooks
@@ -2772,6 +2791,16 @@
    The hook is given three parameters: the path of the _Tk_ menu widget;
    the connection token; and, a JID of user.
 
+
+
+
+
+
+Shchepin, et al.                                               [Page 50]
+

+                               Tkabber 1.0                 February 2014
+
+
    The following hook is run to add stuff to the popup balloon for each
    roster item:
 
@@ -2793,14 +2822,6 @@
 
    The first two, by default, run the "postload" and "finload"
    procedures, respectively. "postload_hook" is run after all code has
-
-
-
-Shchepin, et al.                                               [Page 50]
-

-                               Tkabber 1.0                  January 2014
-
-
    been loaded and before initializing main _Tkabber_ window.  After
    that "finload_hook" is run.  The final hook is called just before
    _Tkabber_ terminates (cf., Section 7.3.7).
@@ -2831,30 +2852,9 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 Shchepin, et al.                                               [Page 51]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 9.  User Interface basics
@@ -2910,7 +2910,7 @@
 
 Shchepin, et al.                                               [Page 52]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
          +  _?_ matches exactly one character;
@@ -2925,7 +2925,7 @@
 
       *  _regexp_ -- provides for searching using full-blown regular
          expressions engine.  The full syntax is described in Tcl
-         re_syntax manual page [24].
+         re_syntax manual page [26].
 
 
 
@@ -2966,7 +2966,7 @@
 
 Shchepin, et al.                                               [Page 53]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 URIs
@@ -2975,59 +2975,61 @@
 
    [2]   <http://www.jabber.org/>
 
-   [3]   <http://sourceforge.net/project/showfiles.php?group_id=10894>
+   [3]   <https://otr.cypherpunks.ca/>
 
-   [4]   <http://sourceforge.net/project/showfiles.php?group_id=12883>
+   [4]   <http://sourceforge.net/project/showfiles.php?group_id=10894>
 
-   [5]   <http://www.activestate.com/Products/ActiveTcl>
+   [5]   <http://sourceforge.net/project/showfiles.php?group_id=12883>
 
-   [6]   <http://sourceforge.net/project/showfiles.php?group_id=13248>
+   [6]   <http://www.activestate.com/Products/ActiveTcl>
 
-   [7]   <http://www.openssl.org/source/>
+   [7]   <http://sourceforge.net/project/showfiles.php?group_id=13248>
 
-   [8]   <http://sourceforge.net/projects/tkimg/>
+   [8]   <http://www.openssl.org/source/>
 
-   [9]   <http://www.tdom.org/>
+   [9]   <http://sourceforge.net/projects/tkimg/>
 
-   [10]  <https://gna.org/projects/ztcl/>
+   [10]  <http://www.tdom.org/>
 
-   [11]  <http://sgolovan.nes.ru/jabber/ztcl/>
+   [11]  <https://gna.org/projects/ztcl/>
 
-   [12]  <http://code.google.com/p/tclgpg/>
+   [12]  <http://sgolovan.nes.ru/jabber/ztcl/>
 
-   [13]  <http://www.gnupg.org/download.html>
+   [13]  <http://code.google.com/p/tclgpg/>
 
-   [14]  <http://www.speech.kth.se/snack/download.html>
+   [14]  <http://www.gnupg.org/download.html>
 
-   [15]  <http://beepcore-tcl.sourceforge.net/tkXwin-1.0.tgz>
+   [15]  <http://memchan.sourceforge.net/>
 
-   [16]  <http://sgolovan.nes.ru/jabber/tclWinidle/>
+   [16]  <http://www.speech.kth.se/snack/download.html>
 
-   [17]  <http://sw4me.com/wiki/Tktray>
+   [17]  <http://beepcore-tcl.sourceforge.net/tkXwin-1.0.tgz>
 
-   [18]  <http://sourceforge.net/projects/tktable/>
+   [18]  <http://sgolovan.nes.ru/jabber/tclWinidle/>
 
-   [19]  <http://tkcon.sourceforge.net>
+   [19]  <http://sw4me.com/wiki/Tktray>
 
-   [20]  <http://www.xmpp.org/extensions/xep-0081.html>
+   [20]  <http://sourceforge.net/projects/tktable/>
 
-   [21]  <http://wiki.tcl.tk/1727>
+   [21]  <http://tkcon.sourceforge.net>
 
-   [22]  <http://www.tcl.tk/man/tcl8.4/TkCmd/option.htm>
+   [22]  <http://www.xmpp.org/extensions/xep-0081.html>
 
-   [23]  <http://www.xmpp.org/extensions/xep-0038.html>
+   [23]  <http://wiki.tcl.tk/1727>
 
 
 
 
 Shchepin, et al.                                               [Page 54]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
-   [24]  <http://www.tcl.tk/man/tcl8.4/TclCmd/re_syntax.htm>
+   [24]  <http://www.tcl.tk/man/tcl8.4/TkCmd/option.htm>
 
+   [25]  <http://www.xmpp.org/extensions/xep-0038.html>
 
+   [26]  <http://www.tcl.tk/man/tcl8.4/TclCmd/re_syntax.htm>
 
 
 
@@ -3074,17 +3076,25 @@
 
 
 
-
-
 Shchepin, et al.                                               [Page 55]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 Appendix A.  Releases History
 
-A.1.  Main changes in 1.0
+A.1.  Main changes in 1.1
 
+   o  Added new OTR plugin (requires Tcl/Tk 8.5 to operate)
+
+   o  Roster versioning (XEP-0237 and RFC-6121)
+
+   o  Added new Battleship game plugin
+
+   o  A few fixes and enhancements
+
+A.2.  Main changes in 1.0
+
    o  Completely rewritten Tkabber internals
 
    o  Dropped Tcl/Tk 8.3 support.  Now Tcl/Tk 8.4 is required
@@ -3117,28 +3127,26 @@
 
    o  Many fixes and enhancements
 
-A.2.  Main changes in 0.11.1
 
-   o  New default sound theme by Serge Yudin
 
-   o  Added new plugins: quotelastmsg, singularity, stripes
 
-   o  Many fixes and enhancements
 
 
+Shchepin, et al.                                               [Page 56]
+

+                               Tkabber 1.0                 February 2014
 
 
+A.3.  Main changes in 0.11.1
 
+   o  New default sound theme by Serge Yudin
 
+   o  Added new plugins: quotelastmsg, singularity, stripes
 
+   o  Many fixes and enhancements
 
-Shchepin, et al.                                               [Page 56]
-

-                               Tkabber 1.0                  January 2014
+A.4.  Main changes in 0.11.0
 
-
-A.3.  Main changes in 0.11.0
-
    o  New tabbed user interface.  Tab headers now occupy several rows
       and tab bar can be docked to the left and right sides of chat
       window
@@ -3178,21 +3186,19 @@
    o  Added several new plugins: attline, ctcomp, custom-urls,
       floatinglog, gmail, openurl, presencecmd, receipts
 
-   o  Many fixes and enhancements
 
-A.4.  Main changes in 0.10.0
 
-   o  New artwork by Artem Bannikov
+Shchepin, et al.                                               [Page 57]
+

+                               Tkabber 1.0                 February 2014
 
 
+   o  Many fixes and enhancements
 
+A.5.  Main changes in 0.10.0
 
+   o  New artwork by Artem Bannikov
 
-Shchepin, et al.                                               [Page 57]
-

-                               Tkabber 1.0                  January 2014
-
-
    o  Mediated SOCKS5 connection support for file transfer (XEP-0065)
 
    o  Blocking communicaation with users not in roster (using XEP-0016
@@ -3233,22 +3239,24 @@
 
    o  Many fixes and enhancements
 
-A.5.  Main changes in 0.9.9
 
-   o  Improved privacy lists interface
 
-   o  Support for stream compression (XEP-0138)
 
-   o  Support for SRV DNS-records
 
 
-
-
 Shchepin, et al.                                               [Page 58]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
+A.6.  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)
 
    o  Support for ad-hoc commands (XEP-0050)
@@ -3259,7 +3267,7 @@
 
    o  Many fixes and enhancements
 
-A.6.  Main changes in 0.9.8
+A.7.  Main changes in 0.9.8
 
    o  Support for STARTTLS
 
@@ -3281,31 +3289,31 @@
 
    o  Many fixes and enhancements
 
-A.7.  Main changes in 0.9.7beta
+A.8.  Main changes in 0.9.7beta
 
    o  Updated support for file transfer (XEP-0095, XEP-0096, XEP-0047,
       XEP-0065)
 
    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)
 
-   o  Many fixes and enhancements
 
+Shchepin, et al.                                               [Page 59]
+

+                               Tkabber 1.0                 February 2014
 
 
+   o  Better multiple logins support
 
+   o  Updated support for xml:lang
 
-Shchepin, et al.                                               [Page 59]
-

-                               Tkabber 1.0                  January 2014
+   o  Support for IDNA (RFC3490)
 
+   o  Many fixes and enhancements
 
-A.8.  Main changes in 0.9.6beta
+A.9.  Main changes in 0.9.6beta
 
    o  Multiple logins support
 
@@ -3321,7 +3329,7 @@
 
    o  Bugfixes
 
-A.9.  Main changes in 0.9.5beta
+A.10.  Main changes in 0.9.5beta
 
    o  Nested roster groups
 
@@ -3348,17 +3356,9 @@
 
 
 
-
-
-
-
-
-
-
-
 Shchepin, et al.                                               [Page 60]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 Appendix B.  Tk option database resources
@@ -3414,7 +3414,7 @@
 
 Shchepin, et al.                                               [Page 61]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    *JDisco*Tree*background  Background of service discovery browser.
@@ -3470,7 +3470,7 @@
 
 Shchepin, et al.                                               [Page 62]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    *Roster.jidindent  Indentation for item name.
@@ -3526,7 +3526,7 @@
 
 Shchepin, et al.                                               [Page 63]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
    *Roster.chatforeground  Colors of item name for different presences.
@@ -3582,7 +3582,7 @@
 
 Shchepin, et al.                                               [Page 64]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 Appendix C.  Documentation TODO
@@ -3638,7 +3638,7 @@
 
 Shchepin, et al.                                               [Page 65]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 Appendix D.  Acknowledgements
@@ -3694,7 +3694,7 @@
 
 Shchepin, et al.                                               [Page 66]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 Appendix E.  Copyrights
@@ -3750,7 +3750,7 @@
 
 Shchepin, et al.                                               [Page 67]
 

-                               Tkabber 1.0                  January 2014
+                               Tkabber 1.0                 February 2014
 
 
 Authors' Addresses

Modified: trunk/tkabber/doc/tkabber.html
===================================================================
--- trunk/tkabber/doc/tkabber.html	2014-02-10 11:46:03 UTC (rev 2134)
+++ trunk/tkabber/doc/tkabber.html	2014-02-14 07:20:40 UTC (rev 2135)
@@ -151,7 +151,7 @@
 <tr><td class="header"> </td><td class="header">Colocall Ltd.</td></tr>
 <tr><td class="header"> </td><td class="header">K. Khomoutov</td></tr>
 <tr><td class="header"> </td><td class="header">Service 007</td></tr>
-<tr><td class="header"> </td><td class="header">January 2014</td></tr>
+<tr><td class="header"> </td><td class="header">February 14, 2014</td></tr>
 </table></td></tr></table>
 <h1><br />Tkabber 1.0</h1>
 
@@ -303,30 +303,32 @@
 <a href="#anchor8">Appendix A.</a> 
 Releases History<br />
     <a href="#anchor9">A.1.</a> 
+Main changes in 1.1<br />
+    <a href="#anchor10">A.2.</a> 
 Main changes in 1.0<br />
-    <a href="#anchor10">A.2.</a> 
+    <a href="#anchor11">A.3.</a> 
 Main changes in 0.11.1<br />
-    <a href="#anchor11">A.3.</a> 
+    <a href="#anchor12">A.4.</a> 
 Main changes in 0.11.0<br />
-    <a href="#anchor12">A.4.</a> 
+    <a href="#anchor13">A.5.</a> 
 Main changes in 0.10.0<br />
-    <a href="#anchor13">A.5.</a> 
+    <a href="#anchor14">A.6.</a> 
 Main changes in 0.9.9<br />
-    <a href="#anchor14">A.6.</a> 
+    <a href="#anchor15">A.7.</a> 
 Main changes in 0.9.8<br />
-    <a href="#anchor15">A.7.</a> 
+    <a href="#anchor16">A.8.</a> 
 Main changes in 0.9.7beta<br />
-    <a href="#anchor16">A.8.</a> 
+    <a href="#anchor17">A.9.</a> 
 Main changes in 0.9.6beta<br />
-    <a href="#anchor17">A.9.</a> 
+    <a href="#anchor18">A.10.</a> 
 Main changes in 0.9.5beta<br />
 <a href="#XRDB">Appendix B.</a> 
 Tk option database resources<br />
-<a href="#anchor18">Appendix C.</a> 
+<a href="#anchor19">Appendix C.</a> 
 Documentation TODO<br />
-<a href="#anchor19">Appendix D.</a> 
+<a href="#anchor20">Appendix D.</a> 
 Acknowledgements<br />
-<a href="#anchor20">Appendix E.</a> 
+<a href="#anchor21">Appendix E.</a> 
 Copyrights<br />
 <a href="#rfc.authors">§</a> 
 Authors' Addresses<br />
@@ -406,10 +408,12 @@
 <li>privacy rules
 </li>
 <li>
-                signed/encrypted messages (if you install an optional
+                GPG-signed/encrypted messages (if you install an optional
                 extension)
               
 </li>
+<li>Off-the-record (<a href='https://otr.cypherpunks.ca/'>OTR</a>) messaging
+</li>
 <li>file transfers (HTTP, SOCKS bytestream, DTCP and IBB transports)
 </li>
 <li>
@@ -627,7 +631,18 @@
 </li>
 </ul>
 <br />
+
+Another alternative is to use <a href='https://otr.cypherpunks.ca/'>Off-the-record
+messaging protocol</a>, if your contact supports it. The OTR plugin is included
+into <em>Tkabber plugins collection</em> starting from version 1.1 and
+requires <em>Tcl/Tk</em> 8.5 or newer, due to its arbitrary precision integer
+arithmetics, and a few packages from <em>Tcllib</em>, namely the <em>aes</em>,
+<em>asn</em>, <em>base64</em>, <em>math::bignum</em>,
+<em>sha1</em>, <em>sha256</em> packages. Also, if you're using Windows,
+the <a href='http://memchan.sourceforge.net/'>Memchan</a> extension has to be
+installed to run the OTR plugin.
 <br />
+<br />
 
 
 </li>
@@ -711,7 +726,7 @@
 <a name="rfc.section.3"></a><h3>3. 
 Download, install and run</h3>
 
-<p>Latest stable version is 1.0 and available at
+<p>Latest stable version is 1.1 and available at
 <a href='http://tkabber.jabber.ru/download'>http://tkabber.jabber.ru/download</a>.
 </p>
 <p>Older versions can be found at
@@ -800,7 +815,7 @@
 
 <p>There are incompatible changes in Tkabber internals, which break the old
 plugins. So, you'll have to upgrade them as well. If a plugin author hasn't
-released a version compatible with <em>Tkabber</em> 1.0 then you'll have
+released a version compatible with <em>Tkabber</em> 1.1 then you'll have
 to disable or remove that plugin.
 </p>
 <a name="ss.upgrading0.11.1.conf"></a><br /><hr />
@@ -2780,7 +2795,20 @@
 the localpart of your login identity;
 the body of the message;
 and, the type of chat.
+</p>
+<p>When you are aboutn to send a chat or normal message to the wire,
+a hook is run:
 </p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>
+rewrite_outgoing_message_hook xlib to id type subject body err thread x
+</pre></div>
+<p>The first hook takes nine variable names as arguments, so the calling
+procedures can rewrite them. This means that a procedure in this hook should call
+<tt>upvar 2 $varbody body</tt> and use the <tt>body</tt>
+variable to change the actual message body. For example, this allows <em>Tkabber</em> to
+encrypt message and put the encrypted message into the <tt>body</tt>
+variable to send. This hook is introduced in <em>Tkabber</em> 1.1, and is used
+by the OTR plugin, so the latter will not work in <em>Tkabber</em> 1.0 and older.
+</p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>
 draw_message_hook $chatid $from $type $body $extras
 </pre></div>
 <p>The hook is given five parameters:
@@ -3111,6 +3139,25 @@
 <a name="anchor9"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
 <a name="rfc.section.A.1"></a><h3>A.1. 
+Main changes in 1.1</h3>
+
+<p>
+          </p>
+<ul class="text">
+<li>Added new OTR plugin (requires Tcl/Tk 8.5 to operate)
+</li>
+<li>Roster versioning (XEP-0237 and RFC-6121)
+</li>
+<li>Added new Battleship game plugin
+</li>
+<li>A few fixes and enhancements
+</li>
+</ul><p>
+        
+</p>
+<a name="anchor10"></a><br /><hr />
+<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
+<a name="rfc.section.A.2"></a><h3>A.2. 
 Main changes in 1.0</h3>
 
 <p>
@@ -3149,9 +3196,9 @@
 </ul><p>
         
 </p>
-<a name="anchor10"></a><br /><hr />
+<a name="anchor11"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.2"></a><h3>A.2. 
+<a name="rfc.section.A.3"></a><h3>A.3. 
 Main changes in 0.11.1</h3>
 
 <p>
@@ -3166,9 +3213,9 @@
 </ul><p>
         
 </p>
-<a name="anchor11"></a><br /><hr />
+<a name="anchor12"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.3"></a><h3>A.3. 
+<a name="rfc.section.A.4"></a><h3>A.4. 
 Main changes in 0.11.0</h3>
 
 <p>
@@ -3215,9 +3262,9 @@
 </ul><p>
         
 </p>
-<a name="anchor12"></a><br /><hr />
+<a name="anchor13"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.4"></a><h3>A.4. 
+<a name="rfc.section.A.5"></a><h3>A.5. 
 Main changes in 0.10.0</h3>
 
 <p>
@@ -3261,9 +3308,9 @@
 </ul><p>
         
 </p>
-<a name="anchor13"></a><br /><hr />
+<a name="anchor14"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.5"></a><h3>A.5. 
+<a name="rfc.section.A.6"></a><h3>A.6. 
 Main changes in 0.9.9</h3>
 
 <p>
@@ -3288,9 +3335,9 @@
 </ul><p>
         
 </p>
-<a name="anchor14"></a><br /><hr />
+<a name="anchor15"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.6"></a><h3>A.6. 
+<a name="rfc.section.A.7"></a><h3>A.7. 
 Main changes in 0.9.8</h3>
 
 <p>
@@ -3319,9 +3366,9 @@
 </ul><p>
         
 </p>
-<a name="anchor15"></a><br /><hr />
+<a name="anchor16"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.7"></a><h3>A.7. 
+<a name="rfc.section.A.8"></a><h3>A.8. 
 Main changes in 0.9.7beta</h3>
 
 <p>
@@ -3342,9 +3389,9 @@
 </ul><p>
         
 </p>
-<a name="anchor16"></a><br /><hr />
+<a name="anchor17"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.8"></a><h3>A.8. 
+<a name="rfc.section.A.9"></a><h3>A.9. 
 Main changes in 0.9.6beta</h3>
 
 <p>
@@ -3367,9 +3414,9 @@
 </ul><p>
         
 </p>
-<a name="anchor17"></a><br /><hr />
+<a name="anchor18"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
-<a name="rfc.section.A.9"></a><h3>A.9. 
+<a name="rfc.section.A.10"></a><h3>A.10. 
 Main changes in 0.9.5beta</h3>
 
 <p>
@@ -3669,7 +3716,7 @@
 </dl></blockquote><p>
       
 </p>
-<a name="anchor18"></a><br /><hr />
+<a name="anchor19"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
 <a name="rfc.section.C"></a><h3>Appendix C. 
 Documentation TODO</h3>
@@ -3707,7 +3754,7 @@
 </li>
 </ul>
 
-<a name="anchor19"></a><br /><hr />
+<a name="anchor20"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
 <a name="rfc.section.D"></a><h3>Appendix D. 
 Acknowledgements</h3>
@@ -3722,7 +3769,7 @@
 <p>The new sound theme appeared in 0.11.1 release was created by
 Serge Yudin
 </p>
-<a name="anchor20"></a><br /><hr />
+<a name="anchor21"></a><br /><hr />
 <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
 <a name="rfc.section.E"></a><h3>Appendix E. 
 Copyrights</h3>

Modified: trunk/tkabber/doc/tkabber.xml
===================================================================
--- trunk/tkabber/doc/tkabber.xml	2014-02-10 11:46:03 UTC (rev 2134)
+++ trunk/tkabber/doc/tkabber.xml	2014-02-14 07:20:40 UTC (rev 2135)
@@ -56,7 +56,7 @@
 </address>
 </author>
 
-<date month='January' year='2014'/>
+<date month='February' year='2014'/>
 
 <abstract><t><spanx>Tkabber</spanx> is an open source Jabber client,
 written in <spanx>Tcl/Tk</spanx>.
@@ -117,9 +117,10 @@
             <list style='symbols'>
               <t>privacy rules</t>
               <t>
-                signed/encrypted messages (if you install an optional
+                GPG-signed/encrypted messages (if you install an optional
                 extension)
               </t>
+              <t>Off-the-record (<eref target='https://otr.cypherpunks.ca/'>OTR</eref>) messaging</t>
               <t>file transfers (HTTP, SOCKS bytestream, DTCP and IBB transports)</t>
               <t>
                 groupchat (GroupChat-1.0 and Multi-User Chat conferencing
@@ -285,6 +286,16 @@
 <t><eref target="http://www.gnupg.org/download.html">GPG version 1.0.7</eref>
 (or later).</t>
 </list>
+<vspace blankLines='0' />
+Another alternative is to use <eref target='https://otr.cypherpunks.ca/'>Off-the-record
+messaging protocol</eref>, if your contact supports it. The OTR plugin is included
+into <spanx>Tkabber plugins collection</spanx> starting from version 1.1 and
+requires <spanx>Tcl/Tk</spanx> 8.5 or newer, due to its arbitrary precision integer
+arithmetics, and a few packages from <spanx>Tcllib</spanx>, namely the <spanx>aes</spanx>,
+<spanx>asn</spanx>, <spanx>base64</spanx>, <spanx>math::bignum</spanx>,
+<spanx>sha1</spanx>, <spanx>sha256</spanx> packages. Also, if you're using Windows,
+the <eref target='http://memchan.sourceforge.net/'>Memchan</eref> extension has to be
+installed to run the OTR plugin.
 <vspace blankLines='1' />
 </t>
 
@@ -350,7 +361,7 @@
 </section>
 
 <section anchor='s.download' title='Download, install and run'>
-<t>Latest stable version is 1.0 and available at
+<t>Latest stable version is 1.1 and available at
 <eref target='http://tkabber.jabber.ru/download'>http://tkabber.jabber.ru/download</eref>.</t>
 <t>Older versions can be found at
 <eref target='http://files.jabber.ru/tkabber/'>http://files.jabber.ru/tkabber/</eref>.</t>
@@ -446,7 +457,7 @@
 <section anchor='ss.upgrading0.11.1.plugins' title='External plugins'>
 <t>There are incompatible changes in Tkabber internals, which break the old
 plugins. So, you'll have to upgrade them as well. If a plugin author hasn't
-released a version compatible with <spanx>Tkabber</spanx> 1.0 then you'll have
+released a version compatible with <spanx>Tkabber</spanx> 1.1 then you'll have
 to disable or remove that plugin.</t>
 </section>
 
@@ -2315,7 +2326,22 @@
 </figure>
 
 <figure>
+<preamble>When you are aboutn to send a chat or normal message to the wire,
+a hook is run:</preamble>
 <artwork><![CDATA[
+rewrite_outgoing_message_hook xlib to id type subject body err thread x
+]]></artwork>
+<postamble>The first hook takes nine variable names as arguments, so the calling
+procedures can rewrite them. This means that a procedure in this hook should call
+<spanx style='verb'>upvar 2 $varbody body</spanx> and use the <spanx style='verb'>body</spanx>
+variable to change the actual message body. For example, this allows <spanx>Tkabber</spanx> to
+encrypt message and put the encrypted message into the <spanx style='verb'>body</spanx>
+variable to send. This hook is introduced in <spanx>Tkabber</spanx> 1.1, and is used
+by the OTR plugin, so the latter will not work in <spanx>Tkabber</spanx> 1.0 and older.</postamble>
+</figure>
+
+<figure>
+<artwork><![CDATA[
 draw_message_hook $chatid $from $type $body $extras
 ]]></artwork>
 <postamble>The hook is given five parameters:
@@ -2625,6 +2651,16 @@
   <back>
 
     <section title="Releases History">
+      <section title="Main changes in 1.1">
+        <t>
+          <list style='symbols'>
+            <t>Added new OTR plugin (requires Tcl/Tk 8.5 to operate)</t>
+            <t>Roster versioning (XEP-0237 and RFC-6121)</t>
+            <t>Added new Battleship game plugin</t>
+            <t>A few fixes and enhancements</t>
+          </list>
+        </t>
+      </section>
       <section title="Main changes in 1.0">
         <t>
           <list style='symbols'>



More information about the Tkabber-dev mailing list