mcabber/doc/mcabber.1.html
changeset 2314 0d5660c6b4aa
parent 2302 245ec6d73380
child 2316 90b3e9876641
equal deleted inserted replaced
2313:70f8ae7d690e 2314:0d5660c6b4aa
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     1 <!DOCTYPE html>
     2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
     2 <html lang="en">
     3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
       
     4 <head>
     3 <head>
     5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     6 <meta name="generator" content="AsciiDoc 8.5.2" />
     5 <meta name="generator" content="AsciiDoc 8.6.9">
     7 <title>MCABBER(1)</title>
     6 <title>MCABBER(1)</title>
     8 <style type="text/css">
     7 <style type="text/css">
     9 /* Debug borders */
     8 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
    10 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
     9 
    11 /*
    10 /* Default font. */
    12   border: 1px solid red;
    11 body {
    13 */
    12   font-family: Georgia,serif;
       
    13 }
       
    14 
       
    15 /* Title font. */
       
    16 h1, h2, h3, h4, h5, h6,
       
    17 div.title, caption.title,
       
    18 thead, p.table.header,
       
    19 #toctitle,
       
    20 #author, #revnumber, #revdate, #revremark,
       
    21 #footer {
       
    22   font-family: Arial,Helvetica,sans-serif;
    14 }
    23 }
    15 
    24 
    16 body {
    25 body {
    17   margin: 1em 5% 1em 5%;
    26   margin: 1em 5% 1em 5%;
    18 }
    27 }
    33 strong {
    42 strong {
    34   font-weight: bold;
    43   font-weight: bold;
    35   color: #083194;
    44   color: #083194;
    36 }
    45 }
    37 
    46 
    38 tt {
       
    39   color: navy;
       
    40 }
       
    41 
       
    42 h1, h2, h3, h4, h5, h6 {
    47 h1, h2, h3, h4, h5, h6 {
    43   color: #527bbd;
    48   color: #527bbd;
    44   font-family: sans-serif;
       
    45   margin-top: 1.2em;
    49   margin-top: 1.2em;
    46   margin-bottom: 0.5em;
    50   margin-bottom: 0.5em;
    47   line-height: 1.3;
    51   line-height: 1.3;
    48 }
    52 }
    49 
    53 
    57   float: left;
    61   float: left;
    58 }
    62 }
    59 h3 + * {
    63 h3 + * {
    60   clear: left;
    64   clear: left;
    61 }
    65 }
       
    66 h5 {
       
    67   font-size: 1.0em;
       
    68 }
    62 
    69 
    63 div.sectionbody {
    70 div.sectionbody {
    64   font-family: serif;
       
    65   margin-left: 0;
    71   margin-left: 0;
    66 }
    72 }
    67 
    73 
    68 hr {
    74 hr {
    69   border: 1px solid silver;
    75   border: 1px solid silver;
    75 }
    81 }
    76 
    82 
    77 ul, ol, li > p {
    83 ul, ol, li > p {
    78   margin-top: 0;
    84   margin-top: 0;
    79 }
    85 }
    80 
    86 ul > li     { color: #aaa; }
    81 pre {
    87 ul > li > * { color: black; }
       
    88 
       
    89 .monospaced, code, pre {
       
    90   font-family: "Courier New", Courier, monospace;
       
    91   font-size: inherit;
       
    92   color: navy;
    82   padding: 0;
    93   padding: 0;
    83   margin: 0;
    94   margin: 0;
    84 }
    95 }
    85 
    96 pre {
    86 span#author {
    97   white-space: pre-wrap;
       
    98 }
       
    99 
       
   100 #author {
    87   color: #527bbd;
   101   color: #527bbd;
    88   font-family: sans-serif;
       
    89   font-weight: bold;
   102   font-weight: bold;
    90   font-size: 1.1em;
   103   font-size: 1.1em;
    91 }
   104 }
    92 span#email {
   105 #email {
    93 }
   106 }
    94 span#revnumber, span#revdate, span#revremark {
   107 #revnumber, #revdate, #revremark {
    95   font-family: sans-serif;
   108 }
    96 }
   109 
    97 
   110 #footer {
    98 div#footer {
       
    99   font-family: sans-serif;
       
   100   font-size: small;
   111   font-size: small;
   101   border-top: 2px solid silver;
   112   border-top: 2px solid silver;
   102   padding-top: 0.5em;
   113   padding-top: 0.5em;
   103   margin-top: 4.0em;
   114   margin-top: 4.0em;
   104 }
   115 }
   105 div#footer-text {
   116 #footer-text {
   106   float: left;
   117   float: left;
   107   padding-bottom: 0.5em;
   118   padding-bottom: 0.5em;
   108 }
   119 }
   109 div#footer-badges {
   120 #footer-badges {
   110   float: right;
   121   float: right;
   111   padding-bottom: 0.5em;
   122   padding-bottom: 0.5em;
   112 }
   123 }
   113 
   124 
   114 div#preamble {
   125 #preamble {
   115   margin-top: 1.5em;
   126   margin-top: 1.5em;
   116   margin-bottom: 1.5em;
   127   margin-bottom: 1.5em;
   117 }
   128 }
   118 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
   129 div.imageblock, div.exampleblock, div.verseblock,
   119 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
   130 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
   120 div.admonitionblock {
   131 div.admonitionblock {
   121   margin-top: 1.0em;
   132   margin-top: 1.0em;
   122   margin-bottom: 1.5em;
   133   margin-bottom: 1.5em;
   123 }
   134 }
   133 }
   144 }
   134 
   145 
   135 /* Block element titles. */
   146 /* Block element titles. */
   136 div.title, caption.title {
   147 div.title, caption.title {
   137   color: #527bbd;
   148   color: #527bbd;
   138   font-family: sans-serif;
       
   139   font-weight: bold;
   149   font-weight: bold;
   140   text-align: left;
   150   text-align: left;
   141   margin-top: 1.0em;
   151   margin-top: 1.0em;
   142   margin-bottom: 0.5em;
   152   margin-bottom: 0.5em;
   143 }
   153 }
   155   margin-top: 0.0em;
   165   margin-top: 0.0em;
   156 }
   166 }
   157 
   167 
   158 div.sidebarblock > div.content {
   168 div.sidebarblock > div.content {
   159   background: #ffffee;
   169   background: #ffffee;
   160   border: 1px solid silver;
   170   border: 1px solid #dddddd;
       
   171   border-left: 4px solid #f0f0f0;
   161   padding: 0.5em;
   172   padding: 0.5em;
   162 }
   173 }
   163 
   174 
   164 div.listingblock > div.content {
   175 div.listingblock > div.content {
   165   border: 1px solid silver;
   176   border: 1px solid #dddddd;
   166   background: #f4f4f4;
   177   border-left: 5px solid #f0f0f0;
       
   178   background: #f8f8f8;
   167   padding: 0.5em;
   179   padding: 0.5em;
   168 }
   180 }
   169 
   181 
   170 div.quoteblock, div.verseblock {
   182 div.quoteblock, div.verseblock {
   171   padding-left: 1.0em;
   183   padding-left: 1.0em;
   172   margin-left: 1.0em;
   184   margin-left: 1.0em;
   173   margin-right: 10%;
   185   margin-right: 10%;
   174   border-left: 5px solid #dddddd;
   186   border-left: 5px solid #f0f0f0;
   175   color: #777777;
   187   color: #888;
   176 }
   188 }
   177 
   189 
   178 div.quoteblock > div.attribution {
   190 div.quoteblock > div.attribution {
   179   padding-top: 0.5em;
   191   padding-top: 0.5em;
   180   text-align: right;
   192   text-align: right;
   181 }
   193 }
   182 
   194 
   183 div.verseblock > div.content {
   195 div.verseblock > pre.content {
   184   white-space: pre;
   196   font-family: inherit;
       
   197   font-size: inherit;
   185 }
   198 }
   186 div.verseblock > div.attribution {
   199 div.verseblock > div.attribution {
   187   padding-top: 0.75em;
   200   padding-top: 0.75em;
   188   text-align: left;
   201   text-align: left;
   189 }
   202 }
   209   border-left: 3px solid #dddddd;
   222   border-left: 3px solid #dddddd;
   210   padding-left: 0.5em;
   223   padding-left: 0.5em;
   211 }
   224 }
   212 
   225 
   213 div.imageblock div.content { padding-left: 0; }
   226 div.imageblock div.content { padding-left: 0; }
   214 span.image img { border-style: none; }
   227 span.image img { border-style: none; vertical-align: text-bottom; }
   215 a.image:visited { color: white; }
   228 a.image:visited { color: white; }
   216 
   229 
   217 dl {
   230 dl {
   218   margin-top: 0.8em;
   231   margin-top: 0.8em;
   219   margin-bottom: 0.8em;
   232   margin-bottom: 0.8em;
   252 div.compact div, div.compact div {
   265 div.compact div, div.compact div {
   253   margin-top: 0.1em;
   266   margin-top: 0.1em;
   254   margin-bottom: 0.1em;
   267   margin-bottom: 0.1em;
   255 }
   268 }
   256 
   269 
   257 div.tableblock > table {
       
   258   border: 3px solid #527bbd;
       
   259 }
       
   260 thead, p.table.header {
       
   261   font-family: sans-serif;
       
   262   font-weight: bold;
       
   263 }
       
   264 tfoot {
   270 tfoot {
   265   font-weight: bold;
   271   font-weight: bold;
   266 }
   272 }
   267 td > div.verse {
   273 td > div.verse {
   268   white-space: pre;
   274   white-space: pre;
   269 }
   275 }
   270 p.table {
       
   271   margin-top: 0;
       
   272 }
       
   273 /* Because the table frame attribute is overriden by CSS in most browsers. */
       
   274 div.tableblock > table[frame="void"] {
       
   275   border-style: none;
       
   276 }
       
   277 div.tableblock > table[frame="hsides"] {
       
   278   border-left-style: none;
       
   279   border-right-style: none;
       
   280 }
       
   281 div.tableblock > table[frame="vsides"] {
       
   282   border-top-style: none;
       
   283   border-bottom-style: none;
       
   284 }
       
   285 
       
   286 
   276 
   287 div.hdlist {
   277 div.hdlist {
   288   margin-top: 0.8em;
   278   margin-top: 0.8em;
   289   margin-bottom: 0.8em;
   279   margin-bottom: 0.8em;
   290 }
   280 }
   337   margin-left: 0;
   327   margin-left: 0;
   338   width: 20%;
   328   width: 20%;
   339   min-width: 100px;
   329   min-width: 100px;
   340 }
   330 }
   341 
   331 
       
   332 div.colist td {
       
   333   padding-right: 0.5em;
       
   334   padding-bottom: 0.3em;
       
   335   vertical-align: top;
       
   336 }
       
   337 div.colist td img {
       
   338   margin-top: 0.3em;
       
   339 }
   342 
   340 
   343 @media print {
   341 @media print {
   344   div#footer-badges { display: none; }
   342   #footer-badges { display: none; }
   345 }
   343 }
   346 
   344 
   347 div#toc {
   345 #toc {
   348   margin-bottom: 2.5em;
   346   margin-bottom: 2.5em;
   349 }
   347 }
   350 
   348 
   351 div#toctitle {
   349 #toctitle {
   352   color: #527bbd;
   350   color: #527bbd;
   353   font-family: sans-serif;
       
   354   font-size: 1.1em;
   351   font-size: 1.1em;
   355   font-weight: bold;
   352   font-weight: bold;
   356   margin-top: 1.0em;
   353   margin-top: 1.0em;
   357   margin-bottom: 0.1em;
   354   margin-bottom: 0.1em;
   358 }
   355 }
   359 
   356 
   360 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
   357 div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
   361   margin-top: 0;
   358   margin-top: 0;
   362   margin-bottom: 0;
   359   margin-bottom: 0;
   363 }
   360 }
   364 div.toclevel2 {
   361 div.toclevel2 {
   365   margin-left: 2em;
   362   margin-left: 2em;
   371 }
   368 }
   372 div.toclevel4 {
   369 div.toclevel4 {
   373   margin-left: 6em;
   370   margin-left: 6em;
   374   font-size: 0.9em;
   371   font-size: 0.9em;
   375 }
   372 }
   376 /* Overrides for manpage documents */
   373 
   377 h1 {
   374 span.aqua { color: aqua; }
       
   375 span.black { color: black; }
       
   376 span.blue { color: blue; }
       
   377 span.fuchsia { color: fuchsia; }
       
   378 span.gray { color: gray; }
       
   379 span.green { color: green; }
       
   380 span.lime { color: lime; }
       
   381 span.maroon { color: maroon; }
       
   382 span.navy { color: navy; }
       
   383 span.olive { color: olive; }
       
   384 span.purple { color: purple; }
       
   385 span.red { color: red; }
       
   386 span.silver { color: silver; }
       
   387 span.teal { color: teal; }
       
   388 span.white { color: white; }
       
   389 span.yellow { color: yellow; }
       
   390 
       
   391 span.aqua-background { background: aqua; }
       
   392 span.black-background { background: black; }
       
   393 span.blue-background { background: blue; }
       
   394 span.fuchsia-background { background: fuchsia; }
       
   395 span.gray-background { background: gray; }
       
   396 span.green-background { background: green; }
       
   397 span.lime-background { background: lime; }
       
   398 span.maroon-background { background: maroon; }
       
   399 span.navy-background { background: navy; }
       
   400 span.olive-background { background: olive; }
       
   401 span.purple-background { background: purple; }
       
   402 span.red-background { background: red; }
       
   403 span.silver-background { background: silver; }
       
   404 span.teal-background { background: teal; }
       
   405 span.white-background { background: white; }
       
   406 span.yellow-background { background: yellow; }
       
   407 
       
   408 span.big { font-size: 2em; }
       
   409 span.small { font-size: 0.6em; }
       
   410 
       
   411 span.underline { text-decoration: underline; }
       
   412 span.overline { text-decoration: overline; }
       
   413 span.line-through { text-decoration: line-through; }
       
   414 
       
   415 div.unbreakable { page-break-inside: avoid; }
       
   416 
       
   417 
       
   418 /*
       
   419  * xhtml11 specific
       
   420  *
       
   421  * */
       
   422 
       
   423 div.tableblock {
       
   424   margin-top: 1.0em;
       
   425   margin-bottom: 1.5em;
       
   426 }
       
   427 div.tableblock > table {
       
   428   border: 3px solid #527bbd;
       
   429 }
       
   430 thead, p.table.header {
       
   431   font-weight: bold;
       
   432   color: #527bbd;
       
   433 }
       
   434 p.table {
       
   435   margin-top: 0;
       
   436 }
       
   437 /* Because the table frame attribute is overriden by CSS in most browsers. */
       
   438 div.tableblock > table[frame="void"] {
       
   439   border-style: none;
       
   440 }
       
   441 div.tableblock > table[frame="hsides"] {
       
   442   border-left-style: none;
       
   443   border-right-style: none;
       
   444 }
       
   445 div.tableblock > table[frame="vsides"] {
       
   446   border-top-style: none;
       
   447   border-bottom-style: none;
       
   448 }
       
   449 
       
   450 
       
   451 /*
       
   452  * html5 specific
       
   453  *
       
   454  * */
       
   455 
       
   456 table.tableblock {
       
   457   margin-top: 1.0em;
       
   458   margin-bottom: 1.5em;
       
   459 }
       
   460 thead, p.tableblock.header {
       
   461   font-weight: bold;
       
   462   color: #527bbd;
       
   463 }
       
   464 p.tableblock {
       
   465   margin-top: 0;
       
   466 }
       
   467 table.tableblock {
       
   468   border-width: 3px;
       
   469   border-spacing: 0px;
       
   470   border-style: solid;
       
   471   border-color: #527bbd;
       
   472   border-collapse: collapse;
       
   473 }
       
   474 th.tableblock, td.tableblock {
       
   475   border-width: 1px;
       
   476   padding: 4px;
       
   477   border-style: solid;
       
   478   border-color: #527bbd;
       
   479 }
       
   480 
       
   481 table.tableblock.frame-topbot {
       
   482   border-left-style: hidden;
       
   483   border-right-style: hidden;
       
   484 }
       
   485 table.tableblock.frame-sides {
       
   486   border-top-style: hidden;
       
   487   border-bottom-style: hidden;
       
   488 }
       
   489 table.tableblock.frame-none {
       
   490   border-style: hidden;
       
   491 }
       
   492 
       
   493 th.tableblock.halign-left, td.tableblock.halign-left {
       
   494   text-align: left;
       
   495 }
       
   496 th.tableblock.halign-center, td.tableblock.halign-center {
       
   497   text-align: center;
       
   498 }
       
   499 th.tableblock.halign-right, td.tableblock.halign-right {
       
   500   text-align: right;
       
   501 }
       
   502 
       
   503 th.tableblock.valign-top, td.tableblock.valign-top {
       
   504   vertical-align: top;
       
   505 }
       
   506 th.tableblock.valign-middle, td.tableblock.valign-middle {
       
   507   vertical-align: middle;
       
   508 }
       
   509 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
       
   510   vertical-align: bottom;
       
   511 }
       
   512 
       
   513 
       
   514 /*
       
   515  * manpage specific
       
   516  *
       
   517  * */
       
   518 
       
   519 body.manpage h1 {
   378   padding-top: 0.5em;
   520   padding-top: 0.5em;
   379   padding-bottom: 0.5em;
   521   padding-bottom: 0.5em;
   380   border-top: 2px solid silver;
   522   border-top: 2px solid silver;
   381   border-bottom: 2px solid silver;
   523   border-bottom: 2px solid silver;
   382 }
   524 }
   383 h2 {
   525 body.manpage h2 {
   384   border-style: none;
   526   border-style: none;
   385 }
   527 }
   386 div.sectionbody {
   528 body.manpage div.sectionbody {
   387   margin-left: 5%;
   529   margin-left: 3em;
   388 }
   530 }
   389 
   531 
   390 @media print {
   532 @media print {
   391   div#toc { display: none; }
   533   body.manpage div#toc { display: none; }
   392 }
   534 }
   393 
   535 
   394 /* Workarounds for IE6's broken and incomplete CSS2. */
   536 
   395 
       
   396 div.sidebar-content {
       
   397   background: #ffffee;
       
   398   border: 1px solid silver;
       
   399   padding: 0.5em;
       
   400 }
       
   401 div.sidebar-title, div.image-title {
       
   402   color: #527bbd;
       
   403   font-family: sans-serif;
       
   404   font-weight: bold;
       
   405   margin-top: 0.0em;
       
   406   margin-bottom: 0.5em;
       
   407 }
       
   408 
       
   409 div.listingblock div.content {
       
   410   border: 1px solid silver;
       
   411   background: #f4f4f4;
       
   412   padding: 0.5em;
       
   413 }
       
   414 
       
   415 div.quoteblock-attribution {
       
   416   padding-top: 0.5em;
       
   417   text-align: right;
       
   418 }
       
   419 
       
   420 div.verseblock-content {
       
   421   white-space: pre;
       
   422 }
       
   423 div.verseblock-attribution {
       
   424   padding-top: 0.75em;
       
   425   text-align: left;
       
   426 }
       
   427 
       
   428 div.exampleblock-content {
       
   429   border-left: 3px solid #dddddd;
       
   430   padding-left: 0.5em;
       
   431 }
       
   432 
       
   433 /* IE6 sets dynamically generated links as visited. */
       
   434 div#toc a:visited { color: blue; }
       
   435 </style>
   537 </style>
   436 <script type="text/javascript">
   538 <script type="text/javascript">
   437 /*<![CDATA[*/
   539 /*<![CDATA[*/
   438 window.onload = function(){asciidoc.footnotes();}
       
   439 var asciidoc = {  // Namespace.
   540 var asciidoc = {  // Namespace.
   440 
   541 
   441 /////////////////////////////////////////////////////////////////////
   542 /////////////////////////////////////////////////////////////////////
   442 // Table Of Contents generator
   543 // Table Of Contents generator
   443 /////////////////////////////////////////////////////////////////////
   544 /////////////////////////////////////////////////////////////////////
   475     this.toclevel = toclevel;
   576     this.toclevel = toclevel;
   476   }
   577   }
   477 
   578 
   478   function tocEntries(el, toclevels) {
   579   function tocEntries(el, toclevels) {
   479     var result = new Array;
   580     var result = new Array;
   480     var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
   581     var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
   481     // Function that scans the DOM tree for header elements (the DOM2
   582     // Function that scans the DOM tree for header elements (the DOM2
   482     // nodeIterator API would be a better technique but not supported by all
   583     // nodeIterator API would be a better technique but not supported by all
   483     // browsers).
   584     // browsers).
   484     var iterate = function (el) {
   585     var iterate = function (el) {
   485       for (var i = el.firstChild; i != null; i = i.nextSibling) {
   586       for (var i = el.firstChild; i != null; i = i.nextSibling) {
   495     iterate(el);
   596     iterate(el);
   496     return result;
   597     return result;
   497   }
   598   }
   498 
   599 
   499   var toc = document.getElementById("toc");
   600   var toc = document.getElementById("toc");
       
   601   if (!toc) {
       
   602     return;
       
   603   }
       
   604 
       
   605   // Delete existing TOC entries in case we're reloading the TOC.
       
   606   var tocEntriesToRemove = [];
       
   607   var i;
       
   608   for (i = 0; i < toc.childNodes.length; i++) {
       
   609     var entry = toc.childNodes[i];
       
   610     if (entry.nodeName.toLowerCase() == 'div'
       
   611      && entry.getAttribute("class")
       
   612      && entry.getAttribute("class").match(/^toclevel/))
       
   613       tocEntriesToRemove.push(entry);
       
   614   }
       
   615   for (i = 0; i < tocEntriesToRemove.length; i++) {
       
   616     toc.removeChild(tocEntriesToRemove[i]);
       
   617   }
       
   618 
       
   619   // Rebuild TOC entries.
   500   var entries = tocEntries(document.getElementById("content"), toclevels);
   620   var entries = tocEntries(document.getElementById("content"), toclevels);
   501   for (var i = 0; i < entries.length; ++i) {
   621   for (var i = 0; i < entries.length; ++i) {
   502     var entry = entries[i];
   622     var entry = entries[i];
   503     if (entry.element.id == "")
   623     if (entry.element.id == "")
   504       entry.element.id = "_toc_" + i;
   624       entry.element.id = "_toc_" + i;
   522 /* Based on footnote generation code from:
   642 /* Based on footnote generation code from:
   523  * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
   643  * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
   524  */
   644  */
   525 
   645 
   526 footnotes: function () {
   646 footnotes: function () {
       
   647   // Delete existing footnote entries in case we're reloading the footnodes.
       
   648   var i;
       
   649   var noteholder = document.getElementById("footnotes");
       
   650   if (!noteholder) {
       
   651     return;
       
   652   }
       
   653   var entriesToRemove = [];
       
   654   for (i = 0; i < noteholder.childNodes.length; i++) {
       
   655     var entry = noteholder.childNodes[i];
       
   656     if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
       
   657       entriesToRemove.push(entry);
       
   658   }
       
   659   for (i = 0; i < entriesToRemove.length; i++) {
       
   660     noteholder.removeChild(entriesToRemove[i]);
       
   661   }
       
   662 
       
   663   // Rebuild footnote entries.
   527   var cont = document.getElementById("content");
   664   var cont = document.getElementById("content");
   528   var noteholder = document.getElementById("footnotes");
       
   529   var spans = cont.getElementsByTagName("span");
   665   var spans = cont.getElementsByTagName("span");
   530   var refs = {};
   666   var refs = {};
   531   var n = 0;
   667   var n = 0;
   532   for (i=0; i<spans.length; i++) {
   668   for (i=0; i<spans.length; i++) {
   533     if (spans[i].className == "footnote") {
   669     if (spans[i].className == "footnote") {
   534       n++;
   670       n++;
   535       // Use [\s\S] in place of . so multi-line matches work.
   671       var note = spans[i].getAttribute("data-note");
   536       // Because JavaScript has no s (dotall) regex flag.
   672       if (!note) {
   537       note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
   673         // Use [\s\S] in place of . so multi-line matches work.
       
   674         // Because JavaScript has no s (dotall) regex flag.
       
   675         note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
       
   676         spans[i].innerHTML =
       
   677           "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
       
   678           "' title='View footnote' class='footnote'>" + n + "</a>]";
       
   679         spans[i].setAttribute("data-note", note);
       
   680       }
   538       noteholder.innerHTML +=
   681       noteholder.innerHTML +=
   539         "<div class='footnote' id='_footnote_" + n + "'>" +
   682         "<div class='footnote' id='_footnote_" + n + "'>" +
   540         "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
   683         "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
   541         n + "</a>. " + note + "</div>";
   684         n + "</a>. " + note + "</div>";
   542       spans[i].innerHTML =
       
   543         "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
       
   544         "' title='View footnote' class='footnote'>" + n + "</a>]";
       
   545       var id =spans[i].getAttribute("id");
   685       var id =spans[i].getAttribute("id");
   546       if (id != null) refs["#"+id] = n;
   686       if (id != null) refs["#"+id] = n;
   547     }
   687     }
   548   }
   688   }
   549   if (n == 0)
   689   if (n == 0)
   559           "[<a href='#_footnote_" + n +
   699           "[<a href='#_footnote_" + n +
   560           "' title='View footnote' class='footnote'>" + n + "</a>]";
   700           "' title='View footnote' class='footnote'>" + n + "</a>]";
   561       }
   701       }
   562     }
   702     }
   563   }
   703   }
   564 }
   704 },
   565 
   705 
   566 }
   706 install: function(toclevels) {
       
   707   var timerId;
       
   708 
       
   709   function reinstall() {
       
   710     asciidoc.footnotes();
       
   711     if (toclevels) {
       
   712       asciidoc.toc(toclevels);
       
   713     }
       
   714   }
       
   715 
       
   716   function reinstallAndRemoveTimer() {
       
   717     clearInterval(timerId);
       
   718     reinstall();
       
   719   }
       
   720 
       
   721   timerId = setInterval(reinstall, 500);
       
   722   if (document.addEventListener)
       
   723     document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
       
   724   else
       
   725     window.onload = reinstallAndRemoveTimer;
       
   726 }
       
   727 
       
   728 }
       
   729 asciidoc.install();
   567 /*]]>*/
   730 /*]]>*/
   568 </script>
   731 </script>
   569 </head>
   732 </head>
   570 <body>
   733 <body class="manpage">
   571 <div id="header">
   734 <div id="header">
   572 <h1>
   735 <h1>
   573 MCABBER(1) Manual Page
   736 MCABBER(1) Manual Page
   574 </h1>
   737 </h1>
   575 <h2>NAME</h2>
   738 <h2>NAME</h2>
   578    a simple Jabber (XMPP) console client
   741    a simple Jabber (XMPP) console client
   579 </p>
   742 </p>
   580 </div>
   743 </div>
   581 </div>
   744 </div>
   582 <div id="content">
   745 <div id="content">
       
   746 <div class="sect1">
   583 <h2 id="_synopsis">SYNOPSIS</h2>
   747 <h2 id="_synopsis">SYNOPSIS</h2>
   584 <div class="sectionbody">
   748 <div class="sectionbody">
   585 <div class="paragraph"><p><em>mcabber</em> [ -h | -V | -f configfile ]</p></div>
   749 <div class="paragraph"><p><em>mcabber</em> [ -h | -V | -f configfile ]</p></div>
   586 </div>
   750 </div>
       
   751 </div>
       
   752 <div class="sect1">
   587 <h2 id="_description">DESCRIPTION</h2>
   753 <h2 id="_description">DESCRIPTION</h2>
   588 <div class="sectionbody">
   754 <div class="sectionbody">
   589 <div class="paragraph"><p><tt>mcabber(1)</tt> is a small Jabber (XMPP) console client.<br />
   755 <div class="paragraph"><p><span class="monospaced">mcabber(1)</span> is a small Jabber (XMPP) console client.<br>
   590 For now it needs a configuration file to start, so please copy the sample
   756 For now it needs a configuration file to start, so please copy the sample
   591 mcabberrc file and adapt your connection settings.</p></div>
   757 mcabberrc file and adapt your connection settings.</p></div>
   592 <div class="paragraph"><p>You also need to have an existing Jabber account to use this software, as
   758 <div class="paragraph"><p>You also need to have an existing Jabber account to use this software, as
   593 it cannot (un)register accounts yet.</p></div>
   759 it cannot (un)register accounts yet.</p></div>
   594 <div class="paragraph"><p>Here are some of the features of <tt>mcabber</tt>:</p></div>
   760 <div class="paragraph"><p>Here are some of the features of <span class="monospaced">mcabber</span>:</p></div>
   595 <div class="ulist"><ul>
   761 <div class="ulist"><ul>
   596 <li>
   762 <li>
   597 <p>
   763 <p>
   598 <em>SASL/SSL/TLS support</em>.
   764 <em>SASL/SSL/TLS support</em>.
   599 </p>
   765 </p>
   614 </p>
   780 </p>
   615 </li>
   781 </li>
   616 <li>
   782 <li>
   617 <p>
   783 <p>
   618 <em>History logging:</em>  If enabled (see the CONFIGURATION FILE section),
   784 <em>History logging:</em>  If enabled (see the CONFIGURATION FILE section),
   619   <tt>mcabber</tt> can save discussions to text history log files.
   785   <span class="monospaced">mcabber</span> can save discussions to text history log files.
   620 </p>
   786 </p>
   621 </li>
   787 </li>
   622 <li>
   788 <li>
   623 <p>
   789 <p>
   624 <em>Commands completion:</em>  If possible, <tt>mcabber</tt> will try to complete your
   790 <em>Commands completion:</em>  If possible, <span class="monospaced">mcabber</span> will try to complete your
   625   command line if you hit the Tab key.
   791   command line if you hit the Tab key.
   626 </p>
   792 </p>
   627 </li>
   793 </li>
   628 <li>
   794 <li>
   629 <p>
   795 <p>
   634 <li>
   800 <li>
   635 <p>
   801 <p>
   636 <em>External actions:</em>  Some events (like receiving a message) can trigger an
   802 <em>External actions:</em>  Some events (like receiving a message) can trigger an
   637   external action such as a shell script if you enable it in your
   803   external action such as a shell script if you enable it in your
   638   configuration file.  A sample events script ("eventcmd") is provided with
   804   configuration file.  A sample events script ("eventcmd") is provided with
   639   <tt>mcabber</tt> source code, in the contrib directory.
   805   <span class="monospaced">mcabber</span> source code, in the contrib directory.
   640 </p>
   806 </p>
   641 </li>
   807 </li>
   642 <li>
   808 <li>
   643 <p>
   809 <p>
   644 <em>Modules:</em>  <tt>mcabber</tt> can load modules (a.k.a. plugins) at runtime that
   810 <em>Modules:</em>  <span class="monospaced">mcabber</span> can load modules (a.k.a. plugins) at runtime that
   645   extend its features.
   811   extend its features.
   646 </p>
   812 </p>
   647 </li>
   813 </li>
   648 </ul></div>
   814 </ul></div>
   649 </div>
   815 </div>
       
   816 </div>
       
   817 <div class="sect1">
   650 <h2 id="_options">OPTIONS</h2>
   818 <h2 id="_options">OPTIONS</h2>
   651 <div class="sectionbody">
   819 <div class="sectionbody">
   652 <div class="dlist"><dl>
   820 <div class="dlist"><dl>
   653 <dt class="hdlist1">
   821 <dt class="hdlist1">
   654 -h
   822 -h
   661 <dt class="hdlist1">
   829 <dt class="hdlist1">
   662 -V
   830 -V
   663 </dt>
   831 </dt>
   664 <dd>
   832 <dd>
   665 <p>
   833 <p>
   666         Displays <tt>mcabber</tt> version and compile-time definitions.
   834         Displays <span class="monospaced">mcabber</span> version and compile-time definitions.
   667 </p>
   835 </p>
   668 </dd>
   836 </dd>
   669 <dt class="hdlist1">
   837 <dt class="hdlist1">
   670 -f configfile
   838 -f configfile
   671 </dt>
   839 </dt>
   674         Use configuration file <em>configfile</em>
   842         Use configuration file <em>configfile</em>
   675 </p>
   843 </p>
   676 </dd>
   844 </dd>
   677 </dl></div>
   845 </dl></div>
   678 </div>
   846 </div>
       
   847 </div>
       
   848 <div class="sect1">
   679 <h2 id="_windows_panes">WINDOWS/PANES</h2>
   849 <h2 id="_windows_panes">WINDOWS/PANES</h2>
   680 <div class="sectionbody">
   850 <div class="sectionbody">
   681 <div class="paragraph"><p>The <tt>mcabber(1)</tt> screen is divided into 4 regions.
   851 <div class="paragraph"><p>The <span class="monospaced">mcabber(1)</span> screen is divided into 4 regions.
   682 The <em>roster</em>, alias <em>buddylist</em>, is on the left.  The <em>chat window</em>, or chat
   852 The <em>roster</em>, alias <em>buddylist</em>, is on the left.  The <em>chat window</em>, or chat
   683 buffer, is on the right.  The <em>input line</em> lies at the bottom of the screen,
   853 buffer, is on the right.  The <em>input line</em> lies at the bottom of the screen,
   684 under a small <em>log window</em>.</p></div>
   854 under a small <em>log window</em>.</p></div>
   685 <div class="paragraph"><p>Two status lines surround the log window.  The bottom status line is the
   855 <div class="paragraph"><p>Two status lines surround the log window.  The bottom status line is the
   686 "main status line" and reflects mcabber general status.  The other line
   856 "main status line" and reflects mcabber general status.  The other line
   687 is the "chat status line" and shows the status of the currently selected
   857 is the "chat status line" and shows the status of the currently selected
   688 buddy.</p></div>
   858 buddy.</p></div>
   689 <div class="paragraph"><p>To display buddies chat buffers, you will have to enter <em>chat mode</em>.
   859 <div class="paragraph"><p>To display buddies chat buffers, you will have to enter <em>chat mode</em>.
   690 You can enter chat mode by pressing enter, and leave chat mode with the ESC
   860 You can enter chat mode by pressing enter (unless <em>vi mode</em> is enabled), and
   691 key.  Simply sending a message will also enable chat mode.</p></div>
   861 leave chat mode with the ESC key.  Simply sending a message will also enable
       
   862 chat mode (unless <em>vi mode</em> is enabled).</p></div>
   692 <div class="paragraph"><p>There are several advantages to the two-mode implementation: first, it allows
   863 <div class="paragraph"><p>There are several advantages to the two-mode implementation: first, it allows
   693 accurate "unread" message functionality, as described in the next section;
   864 accurate "unread" message functionality, as described in the next section;
   694 without this, merely scrolling to a specific buddy will "read" the new
   865 without this, merely scrolling to a specific buddy will "read" the new
   695 messages of all buddies in-between.  Second, it allows quickly hiding the
   866 messages of all buddies in-between.  Second, it allows quickly hiding the
   696 conversation with a single keystroke.  Third, it allows jumping between
   867 conversation with a single keystroke.  Third, it allows jumping between
   697 the few buddies with whom you are conversing with the <em>/roster alternate</em>
   868 the few buddies with whom you are conversing with the <em>/roster alternate</em>
   698 command described in another section, without having to manually scroll
   869 command described in another section, without having to manually scroll
   699 back and forth.</p></div>
   870 back and forth.</p></div>
   700 </div>
   871 </div>
       
   872 </div>
       
   873 <div class="sect1">
   701 <h2 id="_keys">KEYS</h2>
   874 <h2 id="_keys">KEYS</h2>
   702 <div class="sectionbody">
   875 <div class="sectionbody">
   703 <div class="paragraph"><p>Text typing occurs in the <em>input line</em>; basic operations are supported
   876 <div class="paragraph"><p>Text typing occurs in the <em>input line</em>; basic operations are supported
   704 (left arrow, right arrow, home/end keys, insert, delete, backspace&#8230;).</p></div>
   877 (left arrow, right arrow, home/end keys, insert, delete, backspace&#8230;).</p></div>
   705 <div class="paragraph"><p>PageUp and PageDown keys are used to move in the roster.</p></div>
   878 <div class="paragraph"><p>PageUp and PageDown keys are used to move in the roster.</p></div>
   858 </dd>
  1031 </dd>
   859 </dl></div>
  1032 </dl></div>
   860 <div class="paragraph"><p>Additional key bindings may be specified using the <em>/bind</em> command described
  1033 <div class="paragraph"><p>Additional key bindings may be specified using the <em>/bind</em> command described
   861 in the COMMANDS section.</p></div>
  1034 in the COMMANDS section.</p></div>
   862 </div>
  1035 </div>
       
  1036 </div>
       
  1037 <div class="sect1">
       
  1038 <h2 id="_vi_mode">VI MODE</h2>
       
  1039 <div class="sectionbody">
       
  1040 <div class="paragraph"><p>If the "vi_mode" option is set to 1, <span class="monospaced">mcabber(1)</span> accepts a few commands
       
  1041 loosely based on those available in <span class="monospaced">vi(1)</span>'s normal mode.  In this case, chat
       
  1042 mode is not entered by pressing enter, and messages cannot be composed outside
       
  1043 of the chat mode.  The following commands are accepted:</p></div>
       
  1044 <div class="dlist"><dl>
       
  1045 <dt class="hdlist1">
       
  1046 A
       
  1047 </dt>
       
  1048 <dd>
       
  1049 <p>
       
  1050 Call "/roster unread_first".
       
  1051 </p>
       
  1052 </dd>
       
  1053 <dt class="hdlist1">
       
  1054 a
       
  1055 </dt>
       
  1056 <dd>
       
  1057 <p>
       
  1058 Call "/roster unread_next".
       
  1059 </p>
       
  1060 </dd>
       
  1061 <dt class="hdlist1">
       
  1062 F
       
  1063 </dt>
       
  1064 <dd>
       
  1065 <p>
       
  1066 Call "/roster group_prev".
       
  1067 </p>
       
  1068 </dd>
       
  1069 <dt class="hdlist1">
       
  1070 f
       
  1071 </dt>
       
  1072 <dd>
       
  1073 <p>
       
  1074 Call "/roster group_next".
       
  1075 </p>
       
  1076 </dd>
       
  1077 <dt class="hdlist1">
       
  1078 G
       
  1079 </dt>
       
  1080 <dd>
       
  1081 <p>
       
  1082 Call "/roster bottom".
       
  1083 </p>
       
  1084 </dd>
       
  1085 <dt class="hdlist1">
       
  1086 gg
       
  1087 </dt>
       
  1088 <dd>
       
  1089 <p>
       
  1090 Call "/roster top".
       
  1091 </p>
       
  1092 </dd>
       
  1093 <dt class="hdlist1">
       
  1094 i
       
  1095 </dt>
       
  1096 <dd>
       
  1097 <p>
       
  1098 Enter chat mode.
       
  1099 </p>
       
  1100 </dd>
       
  1101 <dt class="hdlist1">
       
  1102 [N]j
       
  1103 </dt>
       
  1104 <dd>
       
  1105 <p>
       
  1106 Call "/roster down [N]".
       
  1107 </p>
       
  1108 </dd>
       
  1109 <dt class="hdlist1">
       
  1110 [N]k
       
  1111 </dt>
       
  1112 <dd>
       
  1113 <p>
       
  1114 Call "/roster up [N]".
       
  1115 </p>
       
  1116 </dd>
       
  1117 <dt class="hdlist1">
       
  1118 n
       
  1119 </dt>
       
  1120 <dd>
       
  1121 <p>
       
  1122 Repeat the previous search (if any).
       
  1123 </p>
       
  1124 </dd>
       
  1125 <dt class="hdlist1">
       
  1126 O
       
  1127 </dt>
       
  1128 <dd>
       
  1129 <p>
       
  1130 Call "/roster unread_first" and open chat window.
       
  1131 </p>
       
  1132 </dd>
       
  1133 <dt class="hdlist1">
       
  1134 o
       
  1135 </dt>
       
  1136 <dd>
       
  1137 <p>
       
  1138 Call "/roster unread_next" and open chat window.
       
  1139 </p>
       
  1140 </dd>
       
  1141 <dt class="hdlist1">
       
  1142 ZZ
       
  1143 </dt>
       
  1144 <dd>
       
  1145 <p>
       
  1146 Call "/quit".
       
  1147 </p>
       
  1148 </dd>
       
  1149 <dt class="hdlist1">
       
  1150 zM
       
  1151 </dt>
       
  1152 <dd>
       
  1153 <p>
       
  1154 Call "/group fold" for all groups.
       
  1155 </p>
       
  1156 </dd>
       
  1157 <dt class="hdlist1">
       
  1158 zR
       
  1159 </dt>
       
  1160 <dd>
       
  1161 <p>
       
  1162 Call "/group unfold" for all groups.
       
  1163 </p>
       
  1164 </dd>
       
  1165 <dt class="hdlist1">
       
  1166 ''
       
  1167 </dt>
       
  1168 <dd>
       
  1169 <p>
       
  1170 Call "/roster alternate".
       
  1171 </p>
       
  1172 </dd>
       
  1173 <dt class="hdlist1">
       
  1174 !
       
  1175 </dt>
       
  1176 <dd>
       
  1177 <p>
       
  1178 Toggle attention flag for current buddy.
       
  1179 </p>
       
  1180 </dd>
       
  1181 <dt class="hdlist1">
       
  1182 #
       
  1183 </dt>
       
  1184 <dd>
       
  1185 <p>
       
  1186 Toggle unread messages flag for current buddy.
       
  1187 </p>
       
  1188 </dd>
       
  1189 <dt class="hdlist1">
       
  1190 &lt;Space&gt;
       
  1191 </dt>
       
  1192 <dd>
       
  1193 <p>
       
  1194 Call "/group toggle" for the current group.
       
  1195 </p>
       
  1196 </dd>
       
  1197 </dl></div>
       
  1198 <div class="paragraph"><p>A leading slash enables search mode:</p></div>
       
  1199 <div class="dlist"><dl>
       
  1200 <dt class="hdlist1">
       
  1201 /string
       
  1202 </dt>
       
  1203 <dd>
       
  1204 <p>
       
  1205 Call "/roster search string".
       
  1206 </p>
       
  1207 </dd>
       
  1208 </dl></div>
       
  1209 <div class="paragraph"><p>A leading colon enabled command-line mode:</p></div>
       
  1210 <div class="literalblock">
       
  1211 <div class="content monospaced">
       
  1212 <pre>above commands).</pre>
       
  1213 </div></div>
       
  1214 <div class="paragraph"><p>Commands entered with a leading colon and searches are either submitted by
       
  1215 pressing enter or aborted by hitting escape.  In either case, <span class="monospaced">mcabber(1)</span>
       
  1216 returns to the normal (non-chat) mode.  History editing is supported in
       
  1217 command-line mode and in search mode.  In command-line mode, tab completion is
       
  1218 supported as well.</p></div>
       
  1219 </div>
       
  1220 </div>
       
  1221 <div class="sect1">
   863 <h2 id="_mcabber_8217_s_roster">MCABBER&#8217;S ROSTER</h2>
  1222 <h2 id="_mcabber_8217_s_roster">MCABBER&#8217;S ROSTER</h2>
   864 <div class="sectionbody">
  1223 <div class="sectionbody">
   865 <div class="paragraph"><p>The first listed item on the roster is <em>[status]</em>, which keeps a log of
  1224 <div class="paragraph"><p>The first listed item on the roster is <em>[status]</em>, which keeps a log of
   866 everything that appears in the short log window below the main chat area.
  1225 everything that appears in the short log window below the main chat area.
   867 While the log window was designed for showing the latest few elements, the
  1226 While the log window was designed for showing the latest few elements, the
   976 <p>
  1335 <p>
   977 John is online, can see your status, and sent you a message that you did not read yet
  1336 John is online, can see your status, and sent you a message that you did not read yet
   978 </p>
  1337 </p>
   979 </dd>
  1338 </dd>
   980 <dt class="hdlist1">
  1339 <dt class="hdlist1">
   981 <em> {?} Sally</em>
  1340 ' {?} Sally'
   982 </dt>
  1341 </dt>
   983 <dd>
  1342 <dd>
   984 <p>
  1343 <p>
   985 Neither you nor Sally have authorized each other to see your online status
  1344 Neither you nor Sally have authorized each other to see your online status
   986 </p>
  1345 </p>
   987 </dd>
  1346 </dd>
   988 <dt class="hdlist1">
  1347 <dt class="hdlist1">
   989 <em> {a} Jane</em>
  1348 ' {a} Jane'
   990 </dt>
  1349 </dt>
   991 <dd>
  1350 <dd>
   992 <p>
  1351 <p>
   993 Jane is away, but she cannot see your online status
  1352 Jane is away, but she cannot see your online status
   994 </p>
  1353 </p>
  1001 You are participating in x@y.c conference room, and there are unread messages
  1360 You are participating in x@y.c conference room, and there are unread messages
  1002 </p>
  1361 </p>
  1003 </dd>
  1362 </dd>
  1004 </dl></div>
  1363 </dl></div>
  1005 </div>
  1364 </div>
       
  1365 </div>
       
  1366 <div class="sect1">
  1006 <h2 id="_commands">COMMANDS</h2>
  1367 <h2 id="_commands">COMMANDS</h2>
  1007 <div class="sectionbody">
  1368 <div class="sectionbody">
  1008 <div class="paragraph"><p>Please refer to the online help (command /help), it is probably more up-to-date than this manpage.  Furthermore, help files have been translated into several languages.<br />
  1369 <div class="paragraph"><p>Please refer to the online help (command /help), it is probably more up-to-date than this manpage.  Furthermore, help files have been translated into several languages.<br>
  1009 You will find an overview of the <tt>mcabber</tt> commands in this manual.</p></div>
  1370 You will find an overview of the <span class="monospaced">mcabber</span> commands in this manual.</p></div>
  1010 </div>
  1371 </div>
       
  1372 </div>
       
  1373 <div class="sect1">
  1011 <h2 id="_commands_related_to_mcabber">COMMANDS RELATED TO MCABBER</h2>
  1374 <h2 id="_commands_related_to_mcabber">COMMANDS RELATED TO MCABBER</h2>
  1012 <div class="sectionbody">
  1375 <div class="sectionbody">
  1013 <div class="dlist"><dl>
  1376 <div class="dlist"><dl>
  1014 <dt class="hdlist1">
  1377 <dt class="hdlist1">
  1015 /add [jid [nickname]]
  1378 /add [jid [nickname]]
  1025 <dd>
  1388 <dd>
  1026 <p>
  1389 <p>
  1027 Add to our roster "jid" as "nickname"
  1390 Add to our roster "jid" as "nickname"
  1028 </p>
  1391 </p>
  1029 <div class="literalblock">
  1392 <div class="literalblock">
  1030 <div class="content">
  1393 <div class="content monospaced">
  1031 <pre><tt>Example: "/add somebody@jabber.server.com Somebody"</tt></pre>
  1394 <pre>Example: "/add somebody@jabber.server.com Somebody"</pre>
  1032 </div></div>
  1395 </div></div>
  1033 </dd>
  1396 </dd>
  1034 </dl></div>
  1397 </dl></div>
  1035 </dd>
  1398 </dd>
  1036 <dt class="hdlist1">
  1399 <dt class="hdlist1">
  1037 /alias [name [= command line]]
  1400 /alias [name [= command line]]
  1038 </dt>
  1401 </dt>
  1039 <dd>
  1402 <dd>
  1040 <p>
  1403 <p>
  1041         This command let you to add aliases which can simplify sophisticated commands.<br />
  1404         This command let you to add aliases which can simplify sophisticated commands.<br>
  1042         You can manage your aliases by:
  1405         You can manage your aliases by:
  1043 </p>
  1406 </p>
  1044 <div class="dlist"><dl>
  1407 <div class="dlist"><dl>
  1045 <dt class="hdlist1">
  1408 <dt class="hdlist1">
  1046 (without arguments)
  1409 (without arguments)
  1072 <dd>
  1435 <dd>
  1073 <p>
  1436 <p>
  1074 Set alias called "name" with value "command line"
  1437 Set alias called "name" with value "command line"
  1075 </p>
  1438 </p>
  1076 <div class="literalblock">
  1439 <div class="literalblock">
  1077 <div class="content">
  1440 <div class="content monospaced">
  1078 <pre><tt>Example: "/alias away = status away"</tt></pre>
  1441 <pre>Example: "/alias away = status away"</pre>
  1079 </div></div>
  1442 </div></div>
  1080 </dd>
  1443 </dd>
  1081 </dl></div>
  1444 </dl></div>
  1082 </dd>
  1445 </dd>
  1083 <dt class="hdlist1">
  1446 <dt class="hdlist1">
  1084 /authorization allow|cancel|request|request_unsubscribe [jid]
  1447 /authorization allow|cancel|request|request_unsubscribe [jid]
  1085 </dt>
  1448 </dt>
  1086 <dd>
  1449 <dd>
  1087 <p>
  1450 <p>
  1088         This command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications.<br />
  1451         This command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications.<br>
  1089         If no JID is provided, the currently-selected buddy is used.
  1452         If no JID is provided, the currently-selected buddy is used.
  1090 </p>
  1453 </p>
  1091 <div class="dlist"><dl>
  1454 <div class="dlist"><dl>
  1092 <dt class="hdlist1">
  1455 <dt class="hdlist1">
  1093 <em>allow</em>
  1456 <em>allow</em>
  1126 <dt class="hdlist1">
  1489 <dt class="hdlist1">
  1127 /bind [keycode [= command line]]
  1490 /bind [keycode [= command line]]
  1128 </dt>
  1491 </dt>
  1129 <dd>
  1492 <dd>
  1130 <p>
  1493 <p>
  1131         Bind the command to the key given as "keycode".  To examine which keys are currently not used look at <tt>mcabber</tt> log window and press examined key.  For example: "Unknown key=265" means that you can bind some command to key #265.
  1494         Bind the command to the key given as "keycode".  To examine which keys are currently not used look at <span class="monospaced">mcabber</span> log window and press examined key.  For example: "Unknown key=265" means that you can bind some command to key #265.
  1132 </p>
  1495 </p>
  1133 <div class="dlist"><dl>
  1496 <div class="dlist"><dl>
  1134 <dt class="hdlist1">
  1497 <dt class="hdlist1">
  1135 (without arguments)
  1498 (without arguments)
  1136 </dt>
  1499 </dt>
  1161 <dd>
  1524 <dd>
  1162 <p>
  1525 <p>
  1163 Bind "command line" to the key with code "keycode"
  1526 Bind "command line" to the key with code "keycode"
  1164 </p>
  1527 </p>
  1165 <div class="literalblock">
  1528 <div class="literalblock">
  1166 <div class="content">
  1529 <div class="content monospaced">
  1167 <pre><tt>Example: "/bind 265 = status away" (265 is F1). +
  1530 <pre>Example: "/bind 265 = status away" (265 is F1). +
  1168 Note: keycodes can be different depending on your ncurses configuration. +
  1531 Note: keycodes can be different depending on your ncurses configuration. +
  1169 Tip: aliases also can be used instead of commands.</tt></pre>
  1532 Tip: aliases also can be used instead of commands.</pre>
  1170 </div></div>
  1533 </div></div>
  1171 </dd>
  1534 </dd>
  1172 </dl></div>
  1535 </dl></div>
  1173 </dd>
  1536 </dd>
  1174 <dt class="hdlist1">
  1537 <dt class="hdlist1">
  1329 <dt class="hdlist1">
  1692 <dt class="hdlist1">
  1330 /chat_disable [--show-roster]
  1693 /chat_disable [--show-roster]
  1331 </dt>
  1694 </dt>
  1332 <dd>
  1695 <dd>
  1333 <p>
  1696 <p>
  1334         Disable chat mode.<br />
  1697         Disable chat mode.<br>
  1335         With --show-roster, the fullscreen mode will be disabled.
  1698         With --show-roster, the fullscreen mode will be disabled.
  1336 </p>
  1699 </p>
  1337 </dd>
  1700 </dd>
  1338 <dt class="hdlist1">
  1701 <dt class="hdlist1">
  1339 /clear
  1702 /clear
  1410 <dt class="hdlist1">
  1773 <dt class="hdlist1">
  1411 /disconnect
  1774 /disconnect
  1412 </dt>
  1775 </dt>
  1413 <dd>
  1776 <dd>
  1414 <p>
  1777 <p>
  1415         Terminate the connection to the Jabber server.<br />
  1778         Terminate the connection to the Jabber server.<br>
  1416         Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
  1779         Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
  1417 </p>
  1780 </p>
  1418 </dd>
  1781 </dd>
  1419 <dt class="hdlist1">
  1782 <dt class="hdlist1">
  1420 /echo message
  1783 /echo message
  1430 <dt class="hdlist1">
  1793 <dt class="hdlist1">
  1431 /event list
  1794 /event list
  1432 </dt>
  1795 </dt>
  1433 <dd>
  1796 <dd>
  1434 <p>
  1797 <p>
  1435         Tell mcabber what to do about pending events.<br />
  1798         Tell mcabber what to do about pending events.<br>
  1436         If the first parameter is <em>*</em>, the command will apply to all queued events.<br />
  1799         If the first parameter is <em>*</em>, the command will apply to all queued events.<br>
  1437         Event-specific arguments will be interpreted on event-to event basis.  The only built-in case, when argument is used is MUC invitation reject - argument, if present, will be interpreted as reject reason.
  1800         Event-specific arguments will be interpreted on event-to event basis.  The only built-in case, when argument is used is MUC invitation reject - argument, if present, will be interpreted as reject reason.
  1438 </p>
  1801 </p>
  1439 <div class="dlist"><dl>
  1802 <div class="dlist"><dl>
  1440 <dt class="hdlist1">
  1803 <dt class="hdlist1">
  1441 #N|* accept [event-specific arguments]
  1804 #N|* accept [event-specific arguments]
  1508 <dt class="hdlist1">
  1871 <dt class="hdlist1">
  1509 /help [command|+topic]
  1872 /help [command|+topic]
  1510 </dt>
  1873 </dt>
  1511 <dd>
  1874 <dd>
  1512 <p>
  1875 <p>
  1513         Display help for command "command" or topic "topic".<br />
  1876         Display help for command "command" or topic "topic".<br>
  1514         Example: "/help buffer"
  1877         Example: "/help buffer"
  1515 </p>
  1878 </p>
  1516 </dd>
  1879 </dd>
  1517 <dt class="hdlist1">
  1880 <dt class="hdlist1">
  1518 /iline fchar|bchar|char_fdel|char_bdel|char_swap
  1881 /iline fchar|bchar|char_fdel|char_bdel|char_swap
  1751 <dt class="hdlist1">
  2114 <dt class="hdlist1">
  1752 /info
  2115 /info
  1753 </dt>
  2116 </dt>
  1754 <dd>
  2117 <dd>
  1755 <p>
  2118 <p>
  1756         Display info on the selected entry (user, agent, group&#8230;).<br />
  2119         Display info on the selected entry (user, agent, group&#8230;).<br>
  1757         For users, resources are displayed with the status, priority and status message (if available) of each resource.
  2120         For users, resources are displayed with the status, priority and status message (if available) of each resource.
  1758 </p>
  2121 </p>
  1759 </dd>
  2122 </dd>
  1760 <dt class="hdlist1">
  2123 <dt class="hdlist1">
  1761 /module load|unload [-f] module
  2124 /module load|unload [-f] module
  1808 <dt class="hdlist1">
  2171 <dt class="hdlist1">
  1809 /move [groupname]
  2172 /move [groupname]
  1810 </dt>
  2173 </dt>
  1811 <dd>
  2174 <dd>
  1812 <p>
  2175 <p>
  1813         Move the current buddy to the requested group.  If no group is specified, then the buddy is moved to the default group.  If the group "groupname" doesn&#8217;t exist, it is created.<br />
  2176         Move the current buddy to the requested group.  If no group is specified, then the buddy is moved to the default group.  If the group "groupname" doesn&#8217;t exist, it is created.<br>
  1814         Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
  2177         Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
  1815 </p>
  2178 </p>
  1816 </dd>
  2179 </dd>
  1817 <dt class="hdlist1">
  2180 <dt class="hdlist1">
  1818 /msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
  2181 /msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
  1819 </dt>
  2182 </dt>
  1820 <dd>
  2183 <dd>
  1821 <p>
  2184 <p>
  1822         Send a multi-line message.  To write a single message with several lines, the <em>multi-line mode</em> should be used.<br />
  2185         Send a multi-line message.  To write a single message with several lines, the <em>multi-line mode</em> should be used.<br>
  1823         In multi-line mode, each line (except command lines) typed in the input line will be added to the multi-line message.  Once the message is finished, it can be sent to the current selected buddy with the "/msay send" command.<br />
  2186         In multi-line mode, each line (except command lines) typed in the input line will be added to the multi-line message.  Once the message is finished, it can be sent to the current selected buddy with the "/msay send" command.<br>
  1824         The <em>begin</em> subcommand enables multi-line mode.  Note that it allows a message subject to be specified.<br />
  2187         The <em>begin</em> subcommand enables multi-line mode.  Note that it allows a message subject to be specified.<br>
  1825         The <em>verbatim</em> multi-line mode disables commands, so that it is possible to enter lines starting with a slash.  Only the "/msay" command (with send or abort parameters) can be used to exit verbatim mode.<br />
  2188         The <em>verbatim</em> multi-line mode disables commands, so that it is possible to enter lines starting with a slash.  Only the "/msay" command (with send or abort parameters) can be used to exit verbatim mode.<br>
  1826         The <em>toggle</em> subcommand can be bound to a key to use the multi-line mode quickly (for example, "bind M13 = msay toggle" to switch using the Meta-Enter combination).
  2189         The <em>toggle</em> subcommand can be bound to a key to use the multi-line mode quickly (for example, "bind M13 = msay toggle" to switch using the Meta-Enter combination).
  1827 </p>
  2190 </p>
  1828 <div class="dlist"><dl>
  2191 <div class="dlist"><dl>
  1829 <dt class="hdlist1">
  2192 <dt class="hdlist1">
  1830 <em>begin</em> [subject]
  2193 <em>begin</em> [subject]
  1872 <dd>
  2235 <dd>
  1873 <p>
  2236 <p>
  1874 Leave multi-line mode without sending the message
  2237 Leave multi-line mode without sending the message
  1875 </p>
  2238 </p>
  1876 <div class="literalblock">
  2239 <div class="literalblock">
  1877 <div class="content">
  2240 <div class="content monospaced">
  1878 <pre><tt>The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message.</tt></pre>
  2241 <pre>The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message.</pre>
  1879 </div></div>
  2242 </div></div>
  1880 </dd>
  2243 </dd>
  1881 </dl></div>
  2244 </dl></div>
  1882 </dd>
  2245 </dd>
  1883 <dt class="hdlist1">
  2246 <dt class="hdlist1">
  2001 <dt class="hdlist1">
  2364 <dt class="hdlist1">
  2002 /pgp setkey [jid [key]]
  2365 /pgp setkey [jid [key]]
  2003 </dt>
  2366 </dt>
  2004 <dd>
  2367 <dd>
  2005 <p>
  2368 <p>
  2006         This command manipulates PGP settings for the specified jid (by default the currently selected contact).<br />
  2369         This command manipulates PGP settings for the specified jid (by default the currently selected contact).<br>
  2007         Please note that PGP encryption won&#8217;t be used if no remote PGP support is detected, even if PGP is enabled with this command.  You can force PGP encryption with the "force" subcommand.
  2370         Please note that PGP encryption won&#8217;t be used if no remote PGP support is detected, even if PGP is enabled with this command.  You can force PGP encryption with the "force" subcommand.
  2008 </p>
  2371 </p>
  2009 <div class="dlist"><dl>
  2372 <div class="dlist"><dl>
  2010 <dt class="hdlist1">
  2373 <dt class="hdlist1">
  2011 <em>disable</em> [jid]
  2374 <em>disable</em> [jid]
  2022 <p>
  2385 <p>
  2023 Enable PGP encryption for jid (or the currently selected contact)
  2386 Enable PGP encryption for jid (or the currently selected contact)
  2024 </p>
  2387 </p>
  2025 </dd>
  2388 </dd>
  2026 <dt class="hdlist1">
  2389 <dt class="hdlist1">
  2027 <em style="color:+|-;">force</em> [jid]
  2390 <em><span class="+|-">force</span></em> [jid]
  2028 </dt>
  2391 </dt>
  2029 <dd>
  2392 <dd>
  2030 <p>
  2393 <p>
  2031 Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support.  If a message can&#8217;t be encrypted (missing key or key id), the messages won&#8217;t be sent at all.  This option is ignored when PGP is disabled.
  2394 Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support.  If a message can&#8217;t be encrypted (missing key or key id), the messages won&#8217;t be sent at all.  This option is ignored when PGP is disabled.
  2032 </p>
  2395 </p>
  2060 <dt class="hdlist1">
  2423 <dt class="hdlist1">
  2061 /rawxml send string
  2424 /rawxml send string
  2062 </dt>
  2425 </dt>
  2063 <dd>
  2426 <dd>
  2064 <p>
  2427 <p>
  2065         Send "string" (raw XML format) to the Jabber server.<br />
  2428         Send "string" (raw XML format) to the Jabber server.<br>
  2066         No check is done on the string provided.<br />
  2429         No check is done on the string provided.<br>
  2067         BEWARE!
  2430         BEWARE!
  2068         Use this only if you know what you are doing, or you could terminate the connection.<br />
  2431         Use this only if you know what you are doing, or you could terminate the connection.<br>
  2069         Example: "/rawxml send &lt;presence&gt;&lt;show&gt;away&lt;/show&gt;&lt;/presence&gt;"
  2432         Example: "/rawxml send &lt;presence&gt;&lt;show&gt;away&lt;/show&gt;&lt;/presence&gt;"
  2070 </p>
  2433 </p>
  2071 </dd>
  2434 </dd>
  2072 <dt class="hdlist1">
  2435 <dt class="hdlist1">
  2073 /rename name
  2436 /rename name
  2311 <dt class="hdlist1">
  2674 <dt class="hdlist1">
  2312 /roster note [-|text]
  2675 /roster note [-|text]
  2313 </dt>
  2676 </dt>
  2314 <dd>
  2677 <dd>
  2315 <p>
  2678 <p>
  2316         The <em>roster</em> command manipulates the roster/buddylist.<br />
  2679         The <em>roster</em> command manipulates the roster/buddylist.<br>
  2317         Here are the available parameters:
  2680         Here are the available parameters:
  2318 </p>
  2681 </p>
  2319 <div class="dlist"><dl>
  2682 <div class="dlist"><dl>
  2320 <dt class="hdlist1">
  2683 <dt class="hdlist1">
  2321 <em>bottom</em>
  2684 <em>bottom</em>
  2490 <dt class="hdlist1">
  2853 <dt class="hdlist1">
  2491 /say [-n|-h|--] text
  2854 /say [-n|-h|--] text
  2492 </dt>
  2855 </dt>
  2493 <dd>
  2856 <dd>
  2494 <p>
  2857 <p>
  2495         Send the "text" message to the currently selected buddy.  It can be useful if you want to send a message beginning with a slash, for example.<br />
  2858         Send the "text" message to the currently selected buddy.  It can be useful if you want to send a message beginning with a slash, for example.<br>
  2496         The "-n" flag turns the message to "normal" type, "-h" to "headline".  "--" can be used to send chat message beginning with -n or -h.
  2859         The "-n" flag turns the message to "normal" type, "-h" to "headline".  "--" can be used to send chat message beginning with -n or -h.
  2497 </p>
  2860 </p>
  2498 </dd>
  2861 </dd>
  2499 <dt class="hdlist1">
  2862 <dt class="hdlist1">
  2500 /say_to [-n|-h] [-q] [-f file] jid text
  2863 /say_to [-n|-h] [-q] [-f file] jid text
  2501 </dt>
  2864 </dt>
  2502 <dd>
  2865 <dd>
  2503 <p>
  2866 <p>
  2504         Send the "text" message to the specified jid.<br />
  2867         Send the "text" message to the specified jid.<br>
  2505         Please note that this command doesn&#8217;t set the default resource for a contact, so if you want to send several messages to a specific resource you will have to use "/say_to" for each message.<br />
  2868         Please note that this command doesn&#8217;t set the default resource for a contact, so if you want to send several messages to a specific resource you will have to use "/say_to" for each message.<br>
  2506         You can send a message to a specific resource of the currently selected contact by using /say_to ./resourcename message.<br />
  2869         You can send a message to a specific resource of the currently selected contact by using /say_to ./resourcename message.<br>
  2507         The "-n" flag turns the message to "normal" type, "-h" to "headline".  "--" can be used to send chat messages beginning with -n or -h.<br />
  2870         The "-n" flag turns the message to "normal" type, "-h" to "headline".  "--" can be used to send chat messages beginning with -n or -h.<br>
  2508         When "-q" is used, the message will be sent in the background and will not change the current active window.<br />
  2871         When "-q" is used, the message will be sent in the background and will not change the current active window.<br>
  2509         A text file can be provided with the "-f" switch (in which case there&#8217;s no need to pass a text argument after the jid, of course).
  2872         A text file can be provided with the "-f" switch (in which case there&#8217;s no need to pass a text argument after the jid, of course).
  2510 </p>
  2873 </p>
  2511 </dd>
  2874 </dd>
  2512 <dt class="hdlist1">
  2875 <dt class="hdlist1">
  2513 /screen_refresh
  2876 /screen_refresh
  2520 <dt class="hdlist1">
  2883 <dt class="hdlist1">
  2521 /set [option [= value]]
  2884 /set [option [= value]]
  2522 </dt>
  2885 </dt>
  2523 <dd>
  2886 <dd>
  2524 <p>
  2887 <p>
  2525         Display or set an option value.<br />
  2888         Display or set an option value.<br>
  2526         Without arguments prints a list of all set options with their values
  2889         Without arguments prints a list of all set options with their values
  2527 </p>
  2890 </p>
  2528 </dd>
  2891 </dd>
  2529 <dt class="hdlist1">
  2892 <dt class="hdlist1">
  2530 /source pattern
  2893 /source pattern
  2540 <dt class="hdlist1">
  2903 <dt class="hdlist1">
  2541 /status message -|statusmessage
  2904 /status message -|statusmessage
  2542 </dt>
  2905 </dt>
  2543 <dd>
  2906 <dd>
  2544 <p>
  2907 <p>
  2545         Show or set the current status.<br />
  2908         Show or set the current status.<br>
  2546         If no status is specified, display the current status.<br />
  2909         If no status is specified, display the current status.<br>
  2547         If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file).<br />
  2910         If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file).<br>
  2548         If no relevant message* variable is set and no status message provided, the current status message is kept.<br />
  2911         If no relevant message* variable is set and no status message provided, the current status message is kept.<br>
  2549         If StatusMessage is "-", the current status message is cleared.<br />
  2912         If StatusMessage is "-", the current status message is cleared.<br>
  2550         With the "/status message" command, mcabber will update the message while preserving the status.
  2913         With the "/status message" command, mcabber will update the message while preserving the status.
  2551 </p>
  2914 </p>
  2552 </dd>
  2915 </dd>
  2553 <dt class="hdlist1">
  2916 <dt class="hdlist1">
  2554 /status_to jid online|avail|free|dnd|notavail|away [statusmessage]
  2917 /status_to jid online|avail|free|dnd|notavail|away [statusmessage]
  2556 <dt class="hdlist1">
  2919 <dt class="hdlist1">
  2557 /status_to jid message statusmessage
  2920 /status_to jid message statusmessage
  2558 </dt>
  2921 </dt>
  2559 <dd>
  2922 <dd>
  2560 <p>
  2923 <p>
  2561         Send the requested status to the specified Jabber user.<br />
  2924         Send the requested status to the specified Jabber user.<br>
  2562         If the specified jid is ".", the current buddy is used.<br />
  2925         If the specified jid is ".", the current buddy is used.<br>
  2563         Note: this status will be overridden by subsequent "/status" commands.  If you are using the auto-away feature, the status will overridden too.<br />
  2926         Note: this status will be overridden by subsequent "/status" commands.  If you are using the auto-away feature, the status will overridden too.<br>
  2564         Note: The jid can include a resource (i.e. user@server/resource).
  2927         Note: The jid can include a resource (i.e. user@server/resource).
  2565 </p>
  2928 </p>
  2566 </dd>
  2929 </dd>
  2567 <dt class="hdlist1">
  2930 <dt class="hdlist1">
  2568 /version
  2931 /version
  2572         Display current version of mcabber.
  2935         Display current version of mcabber.
  2573 </p>
  2936 </p>
  2574 </dd>
  2937 </dd>
  2575 </dl></div>
  2938 </dl></div>
  2576 </div>
  2939 </div>
       
  2940 </div>
       
  2941 <div class="sect1">
  2577 <h2 id="_configuration_file">CONFIGURATION FILE</h2>
  2942 <h2 id="_configuration_file">CONFIGURATION FILE</h2>
  2578 <div class="sectionbody">
  2943 <div class="sectionbody">
  2579 <div class="paragraph"><p>See the provided sample configuration file, which should be self-documenting.</p></div>
  2944 <div class="paragraph"><p>See the provided sample configuration file, which should be self-documenting.</p></div>
  2580 </div>
  2945 </div>
       
  2946 </div>
       
  2947 <div class="sect1">
  2581 <h2 id="_files">FILES</h2>
  2948 <h2 id="_files">FILES</h2>
  2582 <div class="sectionbody">
  2949 <div class="sectionbody">
  2583 <div class="paragraph"><p>The following files can be used by <tt>mcabber(1)</tt>:</p></div>
  2950 <div class="paragraph"><p>The following files can be used by <span class="monospaced">mcabber(1)</span>:</p></div>
  2584 <div class="literalblock">
  2951 <div class="literalblock">
  2585 <div class="content">
  2952 <div class="content monospaced">
  2586 <pre><tt>$HOME/.mcabber/mcabberrc    Default configuration file
  2953 <pre>$HOME/.mcabber/mcabberrc    Default configuration file
       
  2954 $HOME/.config/mcabber/mcabberrc Alternate location (can use XDG_CONFIG_HOME)
  2587 $HOME/.mcabberrc            Configuration file used if no other has been found
  2955 $HOME/.mcabberrc            Configuration file used if no other has been found
  2588 $HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled
  2956 $HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled
  2589 /usr/share/mcabber/help/    Default directory for online help files
  2957 /usr/share/mcabber/help/    Default directory for online help files
  2590 /usr/lib/mcabber/           Default directory for modules</tt></pre>
  2958 /usr/lib/mcabber/           Default directory for modules</pre>
  2591 </div></div>
  2959 </div></div>
  2592 </div>
  2960 </div>
       
  2961 </div>
       
  2962 <div class="sect1">
  2593 <h2 id="_bugs">BUGS</h2>
  2963 <h2 id="_bugs">BUGS</h2>
  2594 <div class="sectionbody">
  2964 <div class="sectionbody">
  2595 <div class="paragraph"><p>Certainly.  Please tell me if you find one!  :-)<br />
  2965 <div class="paragraph"><p>Certainly.  Please tell me if you find one!  :-)<br>
  2596 Please visit our website to find out about the MUC room and the bug tracker.</p></div>
  2966 Please visit our website to find out about the MUC room and the bug tracker.</p></div>
  2597 </div>
  2967 </div>
       
  2968 </div>
       
  2969 <div class="sect1">
  2598 <h2 id="_author">AUTHOR</h2>
  2970 <h2 id="_author">AUTHOR</h2>
  2599 <div class="sectionbody">
  2971 <div class="sectionbody">
  2600 <div class="paragraph"><p>Written by <a href="mailto:mikael@lilotux.net">Mikael BERTHE</a> and others
  2972 <div class="paragraph"><p>Written by <a href="mailto:mikael@lilotux.net">Mikael BERTHE</a> and others
  2601 (see AUTHORS file).<br /></p></div>
  2973 (see AUTHORS file).<br></p></div>
  2602 </div>
  2974 </div>
       
  2975 </div>
       
  2976 <div class="sect1">
  2603 <h2 id="_resources">RESOURCES</h2>
  2977 <h2 id="_resources">RESOURCES</h2>
  2604 <div class="sectionbody">
  2978 <div class="sectionbody">
  2605 <div class="paragraph"><p><a href="http://mcabber.com/">Main web site</a><br />
  2979 <div class="paragraph"><p><a href="http://mcabber.com/">Main web site</a><br>
  2606 <a href="http://wiki.mcabber.com/">Official wiki</a><br />
  2980 <a href="http://wiki.mcabber.com/">Official wiki</a><br>
  2607 <a href="xmpp:mcabber@conf.lilotux.net">MCabber MUC room</a></p></div>
  2981 xmpp://mcabber@conf.lilotux.net[MCabber MUC room]</p></div>
  2608 </div>
  2982 </div>
       
  2983 </div>
       
  2984 <div class="sect1">
  2609 <h2 id="_copying">COPYING</h2>
  2985 <h2 id="_copying">COPYING</h2>
  2610 <div class="sectionbody">
  2986 <div class="sectionbody">
  2611 <div class="paragraph"><p>Copyright (C) 2005-2017 Mikael Berthe and others.<br /></p></div>
  2987 <div class="paragraph"><p>Copyright (C) 2005-2017 Mikael Berthe and others.<br></p></div>
  2612 <div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General Public
  2988 <div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General Public
  2613 License (GPL).</p></div>
  2989 License (GPL).</p></div>
  2614 </div>
  2990 </div>
  2615 </div>
  2991 </div>
  2616 <div id="footnotes"><hr /></div>
  2992 </div>
       
  2993 <div id="footnotes"><hr></div>
  2617 <div id="footer">
  2994 <div id="footer">
  2618 <div id="footer-text">
  2995 <div id="footer-text">
  2619 Version 1.0.6-dev<br />
  2996 Version 1.0.6-dev<br>
  2620 Last updated 2016-09-17 20:57:35 CEST
  2997 Last updated
       
  2998  2017-05-11 14:20:41 CEST
  2621 </div>
  2999 </div>
  2622 </div>
  3000 </div>
  2623 </body>
  3001 </body>
  2624 </html>
  3002 </html>