[Tkabber-dev] r2010 - in trunk/tkabber: . doc plugins/unix

tkabber-svn at jabber.ru tkabber-svn at jabber.ru
Wed Feb 20 14:37:42 MSK 2013


Author: sergei
Date: 2013-02-20 14:37:41 +0400 (Wed, 20 Feb 2013)
New Revision: 2010

Modified:
   trunk/tkabber/ChangeLog
   trunk/tkabber/README
   trunk/tkabber/doc/tkabber.html
   trunk/tkabber/doc/tkabber.xml
   trunk/tkabber/plugins/unix/dockingtray.tcl
   trunk/tkabber/plugins/unix/tktray.tcl
   trunk/tkabber/plugins/unix/wmdock.tcl
Log:
	* plugins/unix/dockingtray.tcl, plugins/unix/tktray.tcl,
	  plugins/unix/wmdock.tcl, README, doc/tkabber.html, doc/tkabber.xml:
	  Renamed WM class for systray icons to TkabberIcon. Also, documented
	  this.


Modified: trunk/tkabber/ChangeLog
===================================================================
--- trunk/tkabber/ChangeLog	2012-10-20 08:19:48 UTC (rev 2009)
+++ trunk/tkabber/ChangeLog	2013-02-20 10:37:41 UTC (rev 2010)
@@ -1,3 +1,10 @@
+2013-02-20  Sergei Golovan  <sgolovan at nes.ru>
+
+	* plugins/unix/dockingtray.tcl, plugins/unix/tktray.tcl,
+	  plugins/unix/wmdock.tcl, README, doc/tkabber.html, doc/tkabber.xml:
+	  Renamed WM class for systray icons to TkabberIcon. Also, documented
+	  this.
+
 2012-10-20  Sergei Golovan  <sgolovan at nes.ru>
 
 	* plugins/iq/version.tcl: Added version info for Windows 8 (thanks to

Modified: trunk/tkabber/README
===================================================================
--- trunk/tkabber/README	2012-10-20 08:19:48 UTC (rev 2009)
+++ trunk/tkabber/README	2013-02-20 10:37:41 UTC (rev 2010)
@@ -89,22 +89,22 @@
        7.1.8.  Searching  . . . . . . . . . . . . . . . . . . . . . . 25
      7.2.  Post-load  . . . . . . . . . . . . . . . . . . . . . . . . 25
        7.2.1.  Look-and-Feel  . . . . . . . . . . . . . . . . . . . . 30
-       7.2.2.  The Autoaway Module  . . . . . . . . . . . . . . . . . 30
-       7.2.3.  The Avatar Module  . . . . . . . . . . . . . . . . . . 31
-       7.2.4.  The Chat Module  . . . . . . . . . . . . . . . . . . . 31
-       7.2.5.  The Clientinfo Module  . . . . . . . . . . . . . . . . 31
-       7.2.6.  The Conferenceinfo Module  . . . . . . . . . . . . . . 31
-       7.2.7.  The Cryptographic Module . . . . . . . . . . . . . . . 32
-       7.2.8.  The Emoticons Module . . . . . . . . . . . . . . . . . 32
-       7.2.9.  The File Transfer Module . . . . . . . . . . . . . . . 33
-       7.2.10. The Groupchat Module . . . . . . . . . . . . . . . . . 33
-       7.2.11. The Ispell Module  . . . . . . . . . . . . . . . . . . 33
-       7.2.12. The Stream Initiation Module . . . . . . . . . . . . . 34
-       7.2.13. The Logger Module  . . . . . . . . . . . . . . . . . . 34
-       7.2.14. The Login Module . . . . . . . . . . . . . . . . . . . 34
-       7.2.15. The Message Module . . . . . . . . . . . . . . . . . . 36
-       7.2.16. The Raw XML Input Module . . . . . . . . . . . . . . . 36
-       7.2.17. The Roster Module  . . . . . . . . . . . . . . . . . . 36
+       7.2.2.  The system tray icon (for Unix)  . . . . . . . . . . . 30
+       7.2.3.  The Autoaway Module  . . . . . . . . . . . . . . . . . 31
+       7.2.4.  The Avatar Module  . . . . . . . . . . . . . . . . . . 31
+       7.2.5.  The Chat Module  . . . . . . . . . . . . . . . . . . . 31
+       7.2.6.  The Clientinfo Module  . . . . . . . . . . . . . . . . 32
+       7.2.7.  The Conferenceinfo Module  . . . . . . . . . . . . . . 32
+       7.2.8.  The Cryptographic Module . . . . . . . . . . . . . . . 32
+       7.2.9.  The Emoticons Module . . . . . . . . . . . . . . . . . 32
+       7.2.10. The File Transfer Module . . . . . . . . . . . . . . . 33
+       7.2.11. The Groupchat Module . . . . . . . . . . . . . . . . . 33
+       7.2.12. The Ispell Module  . . . . . . . . . . . . . . . . . . 34
+       7.2.13. The Stream Initiation Module . . . . . . . . . . . . . 34
+       7.2.14. The Logger Module  . . . . . . . . . . . . . . . . . . 35
+       7.2.15. The Login Module . . . . . . . . . . . . . . . . . . . 35
+       7.2.16. The Message Module . . . . . . . . . . . . . . . . . . 36
+       7.2.17. The Raw XML Input Module . . . . . . . . . . . . . . . 36
 
 
 
@@ -113,15 +113,16 @@
                                Tkabber 1.0                    April 2012
 
 
-       7.2.18. The Sound Module . . . . . . . . . . . . . . . . . . . 36
-     7.3.  Menu-load  . . . . . . . . . . . . . . . . . . . . . . . . 38
+       7.2.18. The Roster Module  . . . . . . . . . . . . . . . . . . 36
+       7.2.19. The Sound Module . . . . . . . . . . . . . . . . . . . 37
+     7.3.  Menu-load  . . . . . . . . . . . . . . . . . . . . . . . . 39
        7.3.1.  The Avatar Module  . . . . . . . . . . . . . . . . . . 39
        7.3.2.  The Browser Module . . . . . . . . . . . . . . . . . . 39
        7.3.3.  The Groupchat Module . . . . . . . . . . . . . . . . . 39
-       7.3.4.  The Login Module . . . . . . . . . . . . . . . . . . . 39
-       7.3.5.  The Message Module . . . . . . . . . . . . . . . . . . 39
+       7.3.4.  The Login Module . . . . . . . . . . . . . . . . . . . 40
+       7.3.5.  The Message Module . . . . . . . . . . . . . . . . . . 40
        7.3.6.  The Presence Module  . . . . . . . . . . . . . . . . . 40
-       7.3.7.  Miscellany . . . . . . . . . . . . . . . . . . . . . . 40
+       7.3.7.  Miscellany . . . . . . . . . . . . . . . . . . . . . . 41
      7.4.  Final-Load . . . . . . . . . . . . . . . . . . . . . . . . 41
    8.  Extensibility  . . . . . . . . . . . . . . . . . . . . . . . . 42
      8.1.  Chat Hooks . . . . . . . . . . . . . . . . . . . . . . . . 43
@@ -163,7 +164,6 @@
 
 
 
-
 Shchepin, et al.                                                [Page 3]
 

                                Tkabber 1.0                    April 2012
@@ -1401,6 +1401,10 @@
                                Tkabber 1.0                    April 2012
 
 
+ # tray icon
+
+     set ::plugins::tktray::options(enable) 1
+
  # the autoaway module
 
      set plugins::autoaway::options(awaytime)  5
@@ -1445,18 +1449,19 @@
                  $::configdir/emoticons/rythmbox
 
 
- # the file transfer module
 
-     set ft::options(download_dir) "/tmp"
 
 
-
-
 Shchepin, et al.                                               [Page 26]
 

                                Tkabber 1.0                    April 2012
 
 
+ # the file transfer module
+
+     set ft::options(download_dir) "/tmp"
+
+
  # the groupchat module
 
      global gra_group gra_server
@@ -1500,11 +1505,6 @@
      set proxy1(exclude)  "localhost* 127.0.0.* 172.* 192.168.* 10.*"
 
      set proxy2(type)     http
-     set proxy2(host)     proxy.example.com
-     set proxy2(port)     3128
-     set proxy2(username) ""
-     set proxy2(password) ""
-     set proxy2(match)    *
 
 
 
@@ -1513,6 +1513,11 @@
                                Tkabber 1.0                    April 2012
 
 
+     set proxy2(host)     proxy.example.com
+     set proxy2(port)     3128
+     set proxy2(username) ""
+     set proxy2(password) ""
+     set proxy2(match)    *
      set proxy2(exclude)  "localhost* 127.0.0.* 172.* 192.168.* 10.*"
 
      set proxy3(type)     socks5
@@ -1557,18 +1562,18 @@
      set loginconf1(profile)      "Default Account"
      set loginconf1(user)         mrose
 
-     set loginconf2(profile)      "Test Account"
-     set loginconf2(user)         test
 
-     array set loginconf          [array get loginconf1]
 
-
-
 Shchepin, et al.                                               [Page 28]
 

                                Tkabber 1.0                    April 2012
 
 
+     set loginconf2(profile)      "Test Account"
+     set loginconf2(user)         test
+
+     array set loginconf          [array get loginconf1]
+
      set autologin 0
 
 
@@ -1613,18 +1618,16 @@
      set sound::options(groupchat_their_message_to_me_sound) ""
  }
 
-   This isn't nearly as complicated as it seems.  Let's break it down by
-   individual module
 
 
-
-
-
 Shchepin, et al.                                               [Page 29]
 

                                Tkabber 1.0                    April 2012
 
 
+   This isn't nearly as complicated as it seems.  Let's break it down by
+   individual module
+
 7.2.1.  Look-and-Feel
 
    _Tkabber_ is shameless in borrowing icons from other Jabber clients.
@@ -1663,24 +1666,36 @@
    raised.  If you don't like this behavior, add this line:
    set ifacetk::options(raise_new_tab) 0
 
-7.2.2.  The Autoaway Module
+7.2.2.  The system tray icon (for Unix)
 
-   This module is presently available only if either:
+   This module is presently available only for Unix
 
-   o  on UNIX, if you have the _Tk Xwin_ extension installed; or,
+   To enable the system tray icon you have to install _tktray_ extension
+   and set the config variable "plugins::tktray::options(enable)" to 1.
 
-   o  On Windows, if you have the _Tcl Winidle_ extension installed.
 
-   There are two variables that control when _Tkabber_ automatically
-   marks you as away: "plugins::autoaway::options(awaytime)" and
 
 
-
 Shchepin, et al.                                               [Page 30]
 

                                Tkabber 1.0                    April 2012
 
 
+   If you want to control the tray icon appearance and/or position,
+   consult the documentation for your desktop environment or window
+   manager.  Note, that the Tkabber's tray icon has WM class
+   _TkabberIcon_.
+
+7.2.3.  The Autoaway Module
+
+   This module is presently available only if either:
+
+   o  on UNIX, if you have the _Tk Xwin_ extension installed; or,
+
+   o  On Windows, if you have the _Tcl Winidle_ extension installed.
+
+   There are two variables that control when _Tkabber_ automatically
+   marks you as away: "plugins::autoaway::options(awaytime)" and
    "plugins::autoaway::options(xatime)".  Both define the idle threshold
    in minutes (the number does not have to be integer).
 
@@ -1691,7 +1706,7 @@
    Variable "plugins::autoaway::options(status)" allows to specify text
    status, which is set when _Tkabber_ is moving in away state.
 
-7.2.3.  The Avatar Module
+7.2.4.  The Avatar Module
 
    There are two variables that you can set to control whether _Tkabber_
    will allow others to see your avatar:
@@ -1702,7 +1717,7 @@
    o  "avatar::options(share)" determines whether requests for your
       avatar will be honored.
 
-7.2.4.  The Chat Module
+7.2.5.  The Chat Module
 
    The variable named "chat::options(stop_scroll)" determines whether a
    chat window should automatically scroll down to the bottom whenever
@@ -1714,14 +1729,22 @@
 
    set plugins::options(timestamp_format) {[%T]}
 
-7.2.5.  The Clientinfo Module
 
+
+
+Shchepin, et al.                                               [Page 31]
+

+                               Tkabber 1.0                    April 2012
+
+
+7.2.6.  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
 
-7.2.6.  The Conferenceinfo Module
+7.2.7.  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
@@ -1730,13 +1753,6 @@
    add this line to your post-load:
    set plugins::conferenceinfo::options(autoask) 1
 
-
-
-Shchepin, et al.                                               [Page 31]
-

-                               Tkabber 1.0                    April 2012
-
-
    You can also set interval between these requests with these two
    variables:
 
@@ -1748,7 +1764,7 @@
    indicates that the server hosting the conference doesn't support
    browsing, so it makes sense not to try that often.
 
-7.2.7.  The Cryptographic Module
+7.2.8.  The Cryptographic Module
 
    Earlier (Section 7.1) we saw an example where the "ssj::options"
    array from the cryptographic module was set during the preload.
@@ -1758,7 +1774,7 @@
 
        set ssj::options(encrypt,fred at example.com) 1
 
-7.2.8.  The Emoticons Module
+7.2.9.  The Emoticons Module
 
    The procedure called _plugins::emoticons::load_dir_ is used to load
    emoticon definitions from a directory.  The directory contains a file
@@ -1767,6 +1783,16 @@
    to where you installed _Tkabber_ and take a look at the file called
    ""emoticons/default/icondef.xml"" or read XEP-0038 [22].)
 
+
+
+
+
+
+Shchepin, et al.                                               [Page 32]
+

+                               Tkabber 1.0                    April 2012
+
+
    If you have just a few icons, and you don't want to create a
    directory and a textual mapping, you can use the procedure called
    "plugins::emoticons::add", e.g.,
@@ -1779,27 +1805,13 @@
 
        plugins::emoticons::load_dir ""
 
+7.2.10.  The File Transfer Module
 
-
-
-
-
-
-
-
-
-Shchepin, et al.                                               [Page 32]
-

-                               Tkabber 1.0                    April 2012
-
-
-7.2.9.  The File Transfer Module
-
    You can set directory in which files will be saved by default:
 
        set ft::options(download_dir) "/tmp"
 
-7.2.10.  The Groupchat Module
+7.2.11.  The Groupchat Module
 
    There are several variables that set the dialog window defaults for
    adding a groupchat to your roster, or joining a groupchat:
@@ -1829,8 +1841,16 @@
 
    Exact JID's take the higher precedence than patterns.
 
-7.2.11.  The Ispell Module
 
+
+
+Shchepin, et al.                                               [Page 33]
+

+                               Tkabber 1.0                    April 2012
+
+
+7.2.12.  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
    lines to postload function:
@@ -1842,13 +1862,6 @@
    o  the path to the _ispell_ executable by setting
       "plugins::ispell::options(executable)"
 
-
-
-Shchepin, et al.                                               [Page 33]
-

-                               Tkabber 1.0                    April 2012
-
-
    o  the _ispell_ command line options by setting
       "plugins::ispell::options(command_line)"; and,
 
@@ -1860,7 +1873,7 @@
    to check correctness of current word after every entered symbol.
    (Usually you don't need to set this option.)
 
-7.2.12.  The Stream Initiation Module
+7.2.13.  The Stream Initiation Module
 
    Stream initiation profile is defined in _XEP-0095_ with two
    transports (_XEP-0047_ - IBB, _XEP-0065_ - SOCKS5 bytestreams).  With
@@ -1880,8 +1893,20 @@
 
        set si::transport(allowed,http://jabber.org/protocol/bytestreams) 0
 
-7.2.13.  The Logger Module
 
+
+
+
+
+
+
+Shchepin, et al.                                               [Page 34]
+

+                               Tkabber 1.0                    April 2012
+
+
+7.2.14.  The Logger Module
+
    You can set directory to store logs:
 
        set logger::options(logdir) [file join $::configdir logs]
@@ -1892,19 +1917,12 @@
        set logger::options(log_chat)      1
        set logger::options(log_groupchat) 1
 
-7.2.14.  The Login Module
+7.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"
    has a whole bunch of elements, e.g., "user", "password", and so on.
 
-
-
-Shchepin, et al.                                               [Page 34]
-

-                               Tkabber 1.0                    April 2012
-
-
    Elements "loginconf(user)" and "loginconf(password)"specify username
    and password to authenticate at your _Jabber_ server.
 
@@ -1935,6 +1953,14 @@
    Another option is to use _HTTP_-polling connect method (if your
    server supports it) and tunnel _XMPP_ traffic through _HTTP_.  To
    enable _HTTP_-polling set "loginconf(usehttppoll)" to "1". _Tkabber_
+
+
+
+Shchepin, et al.                                               [Page 35]
+

+                               Tkabber 1.0                    April 2012
+
+
    then tries to find connect _URL_ using _TXT_ record in _DNS_ (see
    XEP-0156).  You can specify _URL_ manually by setting
    "loginconf(pollurl)".
@@ -1954,20 +1980,13 @@
    If you want to automatically login to server, then you can set the
    "autologin" variable to "1".
 
-
-
-Shchepin, et al.                                               [Page 35]
-

-                               Tkabber 1.0                    April 2012
-
-
    If you set the "autologin" variable to "-1", then _Tkabber_ will not
    automatically login and will not show login dialog.
 
    Default value for "autologin" is "0".  In this case _Tkabber_ shows
    login dialog.
 
-7.2.15.  The Message Module
+7.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
@@ -1977,7 +1996,7 @@
    window.  If you want _Tkabber_ to use a seperate window for each
    headline source, set "message::options(headlines,multiple)" to "1".
 
-7.2.16.  The Raw XML Input Module
+7.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
@@ -1986,10 +2005,18 @@
    drawed incorrectly, e.g. for XHTML tags.  Also you can set
    indentation level via "indent" option.
 
-7.2.17.  The Roster Module
+7.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
+
+
+
+Shchepin, et al.                                               [Page 36]
+

+                               Tkabber 1.0                    April 2012
+
+
    this.
 
    Similarly by default, each item in every category is shown in the
@@ -2004,19 +2031,12 @@
    "friend at other.host" and "friend at another.host".  You can also disable
    all aliases by setting "roster::use_aliases" to "0".
 
-7.2.18.  The Sound Module
+7.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
    notifications is enabled when _Tkabber_ starts.
 
-
-
-Shchepin, et al.                                               [Page 36]
-

-                               Tkabber 1.0                    April 2012
-
-
    If you want to start _Tkabber_ with sound muted add the following
    line:
    set sound::options(mute) 1
@@ -2042,6 +2062,17 @@
    set sound::options(external_play_program) /usr/bin/aplay
    set sound::options(external_play_program_options) -q
 
+
+
+
+
+
+
+Shchepin, et al.                                               [Page 37]
+

+                               Tkabber 1.0                    April 2012
+
+
    You can also set minimal interval (in milliseconds) between playing
    different sounds.
    set sound::options(delay) 200
@@ -2064,15 +2095,6 @@
    o  "sound::options(chat_their_message_sound)" -- sound playing when
       you receive one-to-one chat message;
 
-
-
-
-
-Shchepin, et al.                                               [Page 37]
-

-                               Tkabber 1.0                    April 2012
-
-
    o  "sound::options(groupchat_server_message_sound)" -- sound playing
       when you receive groupchat message from server;
 
@@ -2095,6 +2117,18 @@
    set sound::options(groupchat_server_message_sound)      ""
    set sound::options(groupchat_their_message_to_me_sound) ""
 
+
+
+
+
+
+
+
+Shchepin, et al.                                               [Page 38]
+

+                               Tkabber 1.0                    April 2012
+
+
 7.3.  Menu-load
 
    After _Tkabber_ invokes your "postload" procedure, it starts building
@@ -2121,14 +2155,6 @@
        descmenu"".  This will show you the specification given to your
        "menuload" procedure.
 
-
-
-
-Shchepin, et al.                                               [Page 38]
-

-                               Tkabber 1.0                    April 2012
-
-
    3.  Go to where you installed _Tkabber_ and take a look at the file
        called ""examples/mtr-config.tcl"".  Look at the "menuload"
        procedure defined there.  It lays out _Tkabber's_ menu bar
@@ -2152,6 +2178,13 @@
    called "join_group_dialog" displays a dialog window when you want to
    join a groupchat.
 
+
+
+Shchepin, et al.                                               [Page 39]
+

+                               Tkabber 1.0                    April 2012
+
+
 7.3.4.  The Login Module
 
    The procedure called "show_login_dialog" displays a dialog window
@@ -2174,17 +2207,6 @@
    If you want to adjust your message filters, the procecure called
    "filters::open" will put up a dialog window.
 
-
-
-
-
-
-
-Shchepin, et al.                                               [Page 39]
-

-                               Tkabber 1.0                    April 2012
-
-
 7.3.6.  The Presence Module
 
    If you want to display information about a user, the procecure called
@@ -2210,6 +2232,15 @@
 
    o  away;
 
+
+
+
+
+Shchepin, et al.                                               [Page 40]
+

+                               Tkabber 1.0                    April 2012
+
+
    o  xa;
 
    o  dnd; or,
@@ -2234,13 +2265,6 @@
    some textual help.  This procedure takes two arguments: the title for
    the window; and, the text to display.
 
-
-
-Shchepin, et al.                                               [Page 40]
-

-                               Tkabber 1.0                    April 2012
-
-
    Also, instead of calling "exit" to terminate _Tkabber_, please use
    the "quit" procedure instead.
 
@@ -2268,30 +2292,6 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 Shchepin, et al.                                               [Page 41]
 

                                Tkabber 1.0                    April 2012

Modified: trunk/tkabber/doc/tkabber.html
===================================================================
--- trunk/tkabber/doc/tkabber.html	2012-10-20 08:19:48 UTC (rev 2009)
+++ trunk/tkabber/doc/tkabber.html	2013-02-20 10:37:41 UTC (rev 2010)
@@ -2,7 +2,7 @@
 <html lang="en"><head><title>Tkabber 1.0</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Tkabber 1.0">
-<meta name="generator" content="xml2rfc v1.35 (http://xml.resource.org/)">
+<meta name="generator" content="xml2rfc v1.36 (http://xml.resource.org/)">
 <style type='text/css'><!--
         body {
                 font-family: verdana, charcoal, helvetica, arial, sans-serif;
@@ -224,39 +224,41 @@
 Post-load<br />
         <a href="#s.postload-looknfeel">7.2.1.</a> 
 Look-and-Feel<br />
-        <a href="#s.postload-autoaway">7.2.2.</a> 
+        <a href="#s.postload-tktray">7.2.2.</a> 
+The system tray icon (for Unix)<br />
+        <a href="#s.postload-autoaway">7.2.3.</a> 
 The Autoaway Module<br />
-        <a href="#s.postload-avatar">7.2.3.</a> 
+        <a href="#s.postload-avatar">7.2.4.</a> 
 The Avatar Module<br />
-        <a href="#s.postload-chat">7.2.4.</a> 
+        <a href="#s.postload-chat">7.2.5.</a> 
 The Chat Module<br />
-        <a href="#s.postload-clientinfo">7.2.5.</a> 
+        <a href="#s.postload-clientinfo">7.2.6.</a> 
 The Clientinfo Module<br />
-        <a href="#s.postload-confinfo">7.2.6.</a> 
+        <a href="#s.postload-confinfo">7.2.7.</a> 
 The Conferenceinfo Module<br />
-        <a href="#s.postload-crypto">7.2.7.</a> 
+        <a href="#s.postload-crypto">7.2.8.</a> 
 The Cryptographic Module<br />
-        <a href="#s.postload-emoti">7.2.8.</a> 
+        <a href="#s.postload-emoti">7.2.9.</a> 
 The Emoticons Module<br />
-        <a href="#s.postload-filexfer">7.2.9.</a> 
+        <a href="#s.postload-filexfer">7.2.10.</a> 
 The File Transfer Module<br />
-        <a href="#s.postload-groupchat">7.2.10.</a> 
+        <a href="#s.postload-groupchat">7.2.11.</a> 
 The Groupchat Module<br />
-        <a href="#s.postload-ispell">7.2.11.</a> 
+        <a href="#s.postload-ispell">7.2.12.</a> 
 The Ispell Module<br />
-        <a href="#s.postload-si">7.2.12.</a> 
+        <a href="#s.postload-si">7.2.13.</a> 
 The Stream Initiation Module<br />
-        <a href="#s.postload-log">7.2.13.</a> 
+        <a href="#s.postload-log">7.2.14.</a> 
 The Logger Module<br />
-        <a href="#s.postload-login">7.2.14.</a> 
+        <a href="#s.postload-login">7.2.15.</a> 
 The Login Module<br />
-        <a href="#s.postload-message">7.2.15.</a> 
+        <a href="#s.postload-message">7.2.16.</a> 
 The Message Module<br />
-        <a href="#s.postload-rawxml">7.2.16.</a> 
+        <a href="#s.postload-rawxml">7.2.17.</a> 
 The Raw XML Input Module<br />
-        <a href="#s.postload-roster">7.2.17.</a> 
+        <a href="#s.postload-roster">7.2.18.</a> 
 The Roster Module<br />
-        <a href="#s.postload-sound">7.2.18.</a> 
+        <a href="#s.postload-sound">7.2.19.</a> 
 The Sound Module<br />
     <a href="#s.menuload">7.3.</a> 
 Menu-load<br />
@@ -1481,7 +1483,10 @@
 
     set ifacetk::options(raise_new_tab) 1
 
+# tray icon
 
+    set ::plugins::tktray::options(enable) 1
+
 # the autoaway module
 
     set plugins::autoaway::options(awaytime)  5
@@ -1740,9 +1745,24 @@
 add this line:
             
 </p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>set ifacetk::options(raise_new_tab) 0</pre></div>
+<a name="s.postload-tktray"></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.7.2.2"></a><h3>7.2.2. 
+The system tray icon (for Unix)</h3>
+
+<p>This module is presently available only for Unix
+</p>
+<p>To enable the system tray icon you have to install <em>tktray</em> extension
+and set the config variable
+<tt>plugins::tktray::options(enable)</tt> to 1.
+</p>
+<p>If you want to control the tray icon appearance and/or position, consult the
+documentation for your desktop environment or window manager. Note, that the
+Tkabber's tray icon has WM class <em>TkabberIcon</em>.
+</p>
 <a name="s.postload-autoaway"></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.7.2.2"></a><h3>7.2.2. 
+<a name="rfc.section.7.2.3"></a><h3>7.2.3. 
 The Autoaway Module</h3>
 
 <p>This module is presently available only if either:
@@ -1768,7 +1788,7 @@
 </p>
 <a name="s.postload-avatar"></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.7.2.3"></a><h3>7.2.3. 
+<a name="rfc.section.7.2.4"></a><h3>7.2.4. 
 The Avatar Module</h3>
 
 <p>There are two variables that you can set to control whether
@@ -1785,7 +1805,7 @@
 
 <a name="s.postload-chat"></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.7.2.4"></a><h3>7.2.4. 
+<a name="rfc.section.7.2.5"></a><h3>7.2.5. 
 The Chat Module</h3>
 
 <p>The variable named <tt>chat::options(stop_scroll)</tt> determines whether
@@ -1803,7 +1823,7 @@
 </pre></div>
 <a name="s.postload-clientinfo"></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.7.2.5"></a><h3>7.2.5. 
+<a name="rfc.section.7.2.6"></a><h3>7.2.6. 
 The Clientinfo Module</h3>
 
 <p>
@@ -1815,7 +1835,7 @@
 </p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>set plugins::clientinfo::options(autoask) 1</pre></div>
 <a name="s.postload-confinfo"></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.7.2.6"></a><h3>7.2.6. 
+<a name="rfc.section.7.2.7"></a><h3>7.2.7. 
 The Conferenceinfo Module</h3>
 
 <p>After you join a conference that's listed in your
@@ -1844,7 +1864,7 @@
 </p>
 <a name="s.postload-crypto"></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.7.2.7"></a><h3>7.2.7. 
+<a name="rfc.section.7.2.8"></a><h3>7.2.8. 
 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
@@ -1860,7 +1880,7 @@
 </pre></div>
 <a name="s.postload-emoti"></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.7.2.8"></a><h3>7.2.8. 
+<a name="rfc.section.7.2.9"></a><h3>7.2.9. 
 The Emoticons Module</h3>
 
 <p>
@@ -1886,7 +1906,7 @@
 </pre></div>
 <a name="s.postload-filexfer"></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.7.2.9"></a><h3>7.2.9. 
+<a name="rfc.section.7.2.10"></a><h3>7.2.10. 
 The File Transfer Module</h3>
 
 <p>
@@ -1897,7 +1917,7 @@
 </pre></div>
 <a name="s.postload-groupchat"></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.7.2.10"></a><h3>7.2.10. 
+<a name="rfc.section.7.2.11"></a><h3>7.2.11. 
 The Groupchat Module</h3>
 
 <p>
@@ -1943,7 +1963,7 @@
 </p>
 <a name="s.postload-ispell"></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.7.2.11"></a><h3>7.2.11. 
+<a name="rfc.section.7.2.12"></a><h3>7.2.12. 
 The Ispell Module</h3>
 
 <p>
@@ -1977,7 +1997,7 @@
 </p>
 <a name="s.postload-si"></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.7.2.12"></a><h3>7.2.12. 
+<a name="rfc.section.7.2.13"></a><h3>7.2.13. 
 The Stream Initiation Module</h3>
 
 <p>
@@ -2013,7 +2033,7 @@
 </pre></div>
 <a name="s.postload-log"></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.7.2.13"></a><h3>7.2.13. 
+<a name="rfc.section.7.2.14"></a><h3>7.2.14. 
 The Logger Module</h3>
 
 <p>
@@ -2032,7 +2052,7 @@
 </pre></div>
 <a name="s.postload-login"></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.7.2.14"></a><h3>7.2.14. 
+<a name="rfc.section.7.2.15"></a><h3>7.2.15. 
 The Login Module</h3>
 
 <p>The first task is to initialize the configuration defaults for the
@@ -2119,7 +2139,7 @@
 </p>
 <a name="s.postload-message"></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.7.2.15"></a><h3>7.2.15. 
+<a name="rfc.section.7.2.16"></a><h3>7.2.16. 
 The Message Module</h3>
 
 <p>By default,
@@ -2136,7 +2156,7 @@
 </p>
 <a name="s.postload-rawxml"></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.7.2.16"></a><h3>7.2.16. 
+<a name="rfc.section.7.2.17"></a><h3>7.2.17. 
 The Raw XML Input Module</h3>
 
 <p>
@@ -2150,7 +2170,7 @@
 </p>
 <a name="s.postload-roster"></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.7.2.17"></a><h3>7.2.17. 
+<a name="rfc.section.7.2.18"></a><h3>7.2.18. 
 The Roster Module</h3>
 
 <p>
@@ -2181,7 +2201,7 @@
 </p>
 <a name="s.postload-sound"></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.7.2.18"></a><h3>7.2.18. 
+<a name="rfc.section.7.2.19"></a><h3>7.2.19. 
 The Sound Module</h3>
 
 <p>

Modified: trunk/tkabber/doc/tkabber.xml
===================================================================
--- trunk/tkabber/doc/tkabber.xml	2012-10-20 08:19:48 UTC (rev 2009)
+++ trunk/tkabber/doc/tkabber.xml	2013-02-20 10:37:41 UTC (rev 2010)
@@ -1068,7 +1068,10 @@
 
     set ifacetk::options(raise_new_tab) 1
 
+# tray icon
 
+    set ::plugins::tktray::options(enable) 1
+
 # the autoaway module
 
     set plugins::autoaway::options(awaytime)  5
@@ -1323,6 +1326,18 @@
           </figure>
         </section>
 
+<section anchor='s.postload-tktray' title='The system tray icon (for Unix)'>
+<t>This module is presently available only for Unix</t>
+
+<t>To enable the system tray icon you have to install <spanx>tktray</spanx> extension
+and set the config variable
+<spanx style='verb'>plugins::tktray::options(enable)</spanx> to 1.</t>
+
+<t>If you want to control the tray icon appearance and/or position, consult the
+documentation for your desktop environment or window manager. Note, that the
+Tkabber's tray icon has WM class <spanx>TkabberIcon</spanx>.</t>
+</section>
+
 <section anchor='s.postload-autoaway' title='The Autoaway Module'>
 <t>This module is presently available only if either:
 <list style='symbols'>

Modified: trunk/tkabber/plugins/unix/dockingtray.tcl
===================================================================
--- trunk/tkabber/plugins/unix/dockingtray.tcl	2012-10-20 08:19:48 UTC (rev 2009)
+++ trunk/tkabber/plugins/unix/dockingtray.tcl	2013-02-20 10:37:41 UTC (rev 2010)
@@ -62,7 +62,7 @@
 
     set mb $icon.mb
 
-    theme:frame $icon -kdesystray
+    theme:frame $icon -kdesystray -class TkabberIcon
 
     label $mb -borderwidth 0 -image $s2p(unavailable) \
 	      -highlightthickness 0 -padx 0 -pady 0

Modified: trunk/tkabber/plugins/unix/tktray.tcl
===================================================================
--- trunk/tkabber/plugins/unix/tktray.tcl	2012-10-20 08:19:48 UTC (rev 2009)
+++ trunk/tkabber/plugins/unix/tktray.tcl	2013-02-20 10:37:41 UTC (rev 2010)
@@ -60,7 +60,7 @@
 proc tktray::create {icon} {
     variable s2p
 
-    tktray::icon $icon -image $s2p(unavailable)
+    tktray::icon $icon -image $s2p(unavailable) -class TkabberIcon
 
     set m [ifacetk::systray::popupmenu $icon.menu]
 

Modified: trunk/tkabber/plugins/unix/wmdock.tcl
===================================================================
--- trunk/tkabber/plugins/unix/wmdock.tcl	2012-10-20 08:19:48 UTC (rev 2009)
+++ trunk/tkabber/plugins/unix/wmdock.tcl	2013-02-20 10:37:41 UTC (rev 2010)
@@ -129,7 +129,7 @@
     variable balloon_msg
     
     if {[cequal [wm iconwindow .] ""]} {
-	toplevel .icon
+	toplevel .icon -class TkabberIcon
 	wm iconwindow . .icon
     }
     



More information about the Tkabber-dev mailing list