; charset=UTF-8
Last-Modified: Wed, 12 Mar 2025 15:07:08 GMT
Expires: Sat, 10 Mar 2035 15:07:08 GMT

<!DOCTYPE html>
<html lang='en'>
<head>
<title>readme.md « doc « share - torxchat.git - Unnamed repository; edit this file 'description' to name the repository.</title>
<meta name='generator' content='cgit 1.4.1'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/git-repos/cgit.css'/>
<link rel='alternate' title='Atom feed' href='http://soniex2.autistic.space/git-repos/torxchat.git/atom/share/doc/readme.md?h=fix-ub' type='application/atom+xml'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/git-repos/'><img src='/git-repos/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/git-repos/'>index</a> : <a href='/git-repos/torxchat.git/'>torxchat.git</a></td><td class='form'><form method='get'>
<input type='hidden' name='id' value='c76dedd9b9f7a15deaac01783bab2f2da225ebd6'/><select name='h' onchange='this.form.submit();'>
<option value='aaa319735b9bef51d4f91c13c1bca766c0db968e'>this commit</option>
<optgroup label='branches'><option value='branch-info'>branch-info</option>
<option value='default'>default</option>
<option value='fe-web'>fe-web</option>
<option value='feature/flexible-cert'>feature/flexible-cert</option>
<option value='feature/fork-branding'>feature/fork-branding</option>
<option value='feature/tls-srp'>feature/tls-srp</option>
<option value='feature/tor-i2p-dcc'>feature/tor-i2p-dcc</option>
<option value='fix-ub' selected='selected'>fix-ub</option>
</optgroup></select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>Unnamed repository; edit this file 'description' to name the repository.</td><td class='sub right'>blog</td></tr></table>
<table class='tabs'><tr><td>
<a href='/git-repos/torxchat.git/?h=fix-ub'>summary</a> <a href='/git-repos/torxchat.git/refs/?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>refs</a> <a href='/git-repos/torxchat.git/log/share/doc/readme.md?h=fix-ub'>log</a> <a class='active' href='/git-repos/torxchat.git/tree/share/doc/readme.md?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>tree</a> <a href='/git-repos/torxchat.git/commit/share/doc/readme.md?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>commit</a> <a href='/git-repos/torxchat.git/diff/share/doc/readme.md?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>diff</a> <a href='/git-repos/torxchat.git/stats/share/doc/readme.md?h=fix-ub'>stats</a></td><td class='form'><form class='right' method='get' action='/git-repos/torxchat.git/log/share/doc/readme.md'>
<input type='hidden' name='h' value='fix-ub'/><input type='hidden' name='id' value='c76dedd9b9f7a15deaac01783bab2f2da225ebd6'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/git-repos/torxchat.git/tree/?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>root</a>/<a href='/git-repos/torxchat.git/tree/share?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>share</a>/<a href='/git-repos/torxchat.git/tree/share/doc?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>doc</a>/<a href='/git-repos/torxchat.git/tree/share/doc/readme.md?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>readme.md</a></div><div class='content'>blob: 11ddbd3ecfb485217d7cd42b3d98f3061ea58b80 (<a href='/git-repos/torxchat.git/plain/share/doc/readme.md?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>plain</a>) (<a href='/git-repos/torxchat.git/blame/share/doc/readme.md?h=fix-ub&amp;id=c76dedd9b9f7a15deaac01783bab2f2da225ebd6'>blame</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
<a id='n2' href='#n2'>2</a>
<a id='n3' href='#n3'>3</a>
<a id='n4' href='#n4'>4</a>
<a id='n5' href='#n5'>5</a>
<a id='n6' href='#n6'>6</a>
<a id='n7' href='#n7'>7</a>
<a id='n8' href='#n8'>8</a>
<a id='n9' href='#n9'>9</a>
<a id='n10' href='#n10'>10</a>
<a id='n11' href='#n11'>11</a>
<a id='n12' href='#n12'>12</a>
<a id='n13' href='#n13'>13</a>
<a id='n14' href='#n14'>14</a>
<a id='n15' href='#n15'>15</a>
<a id='n16' href='#n16'>16</a>
<a id='n17'<style>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0<style>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; fo</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='https://git.causal.agency/cgit-pink/about/'>cgit-pink 1.4.1</a> (<a href='https://git-scm.com/'>git 2.36.1</a>) at 2025-03-12 15:07:08 +0000</div>
</div> <!-- id=cgit -->
</body>
</html>
 } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="gh"># HexChat ReadMe</span>

X-Chat (&quot;xchat&quot;) Copyright (c) 1998-2010 By Peter Zelezny.  
HexChat (&quot;hexchat&quot;) Copyright (c) 2009-2012 By Berke Viktor.

This program is released under the GPL v2 with the additional exemption
that compiling, linking, and/or using OpenSSL is allowed. You may
provide binary packages linked to the OpenSSL libraries, provided that
all other requirements of the GPL are met.
See file COPYING for details.

For building instructions, see [<span class="nt">Building</span>](<span class="na">http://docs.hexchat.org/en/latest/building.html</span>).

<span class="gu">## What is it?</span>

HexChat is an IRC client for Windows and UNIX operating systems. I.R.C. is
Internet Relay Chat, see [<span class="nt">IRCHelp.org</span>](<span class="na">http://irchelp.org</span>) for more information about IRC
in general. HexChat runs on most BSD and POSIX compliant operating systems.

<span class="gu">## Requirements:</span>

<span class="w"> </span><span class="k">*</span><span class="w"> </span>GTK+ 2.10
<span class="w"> </span><span class="k">*</span><span class="w"> </span>GLib 2.12

HexChat is known to work on, at least:

<span class="w"> </span><span class="k">*</span><span class="w"> </span>Windows XP/Vista/7/8
<span class="w"> </span><span class="k">*</span><span class="w"> </span>Linux
<span class="w"> </span><span class="k">*</span><span class="w"> </span>FreeBSD
<span class="w"> </span><span class="k">*</span><span class="w"> </span>OpenBSD
<span class="w"> </span><span class="k">*</span><span class="w"> </span>NetBSD
<span class="w"> </span><span class="k">*</span><span class="w"> </span>Solaris
<span class="w"> </span><span class="k">*</span><span class="w"> </span>AIX
<span class="w"> </span><span class="k">*</span><span class="w"> </span>IRIX
<span class="w"> </span><span class="k">*</span><span class="w"> </span>DEC/Compaq Tru64 UNIX
<span class="w"> </span><span class="k">*</span><span class="w"> </span>HP-UX 10.20 and 11
<span class="w"> </span><span class="k">*</span><span class="w"> </span>OS X


<span class="gu">## Notes for packagers:</span>

If you need your packages to work on i386, you don&#39;t need to compile with
--disable-mmx, because it&#39;s also checked at run-time.

<span class="gu">## Python Scripts:</span>

Scripts for XChat 1.8.x are not compatible, a brand new interface has been written. For more info, see the [<span class="nt">HexChat Python Interface</span>](<span class="na">https://github.com/hexchat/hexchat/blob/master/share/doc/python.md</span>).

Consider using the Python interface for your scripts, it&#39;s a very nice
API, allows for loading/unloading individual scripts, and gives you
almost all the features of the C-Plugin API.


<span class="gu">## Perl Scripts:</span>

Perl 5.8 or newer is required. For more info, see the [<span class="nt">HexChat Perl Interface</span>](<span class="na">https://github.com/hexchat/hexchat/blob/master/share/doc/perl.md</span>).

Scripts for XChat 1.8.x are compatible with the following exceptions:

<span class="w"> </span><span class="k">*</span><span class="w"> </span>IRC::command will not interpret %C, %B, %U etc.

<span class="w"> </span><span class="k">*</span><span class="w"> </span>user_list and user_list_short:
  If a user has both op and voice, only the op flag will be 1.

<span class="w"> </span><span class="k">*</span><span class="w"> </span>add_user_list/sub_user_list/clear_user_list
  These functions do nothing.

<span class="w"> </span><span class="k">*</span><span class="w"> </span>notify_list
  Not implemented. Always returns an empty list.

<span class="w"> </span><span class="k">*</span><span class="w"> </span>server_list
  Lists servers that are not connected aswell.

<span class="w"> </span><span class="k">*</span><span class="w"> </span>Some print events may have new names and some were added.

<span class="w"> </span><span class="k">*</span><span class="w"> </span>Text printed by scripts must now be UTF8.

<span class="w"> </span><span class="k">*</span><span class="w"> </span>Text passed to scripts (via add_message_handler) will be encoded in UTF8.

<span class="gu">## Autoloading Scripts and Plugins:</span>

The root of your HexChat config is:

<span class="w"> </span><span class="k">*</span><span class="w"> </span>Windows: %APPDATA%\HexChat
<span class="w"> </span><span class="k">*</span><span class="w"> </span>Unix: ~/.config/hexchat

Referred to as &amp;lt;config&gt; from now. HexChat automatically loads, at startup:

<span class="w"> </span><span class="k">*</span><span class="w"> </span>&amp;lt;config&gt;/addons/*.lua Lua scripts
<span class="w"> </span><span class="k">*</span><span class="w"> </span>&amp;lt;config&gt;/addons/*.pl Perl scripts
<span class="w"> </span><span class="k">*</span><span class="w"> </span>&amp;lt;config&gt;/addons/*.py Python scripts
<span class="w"> </span><span class="k">*</span><span class="w"> </span>&amp;lt;config&gt;/addons/*.tcl Tcl scripts
<span class="w"> </span><span class="k">*</span><span class="w"> </span>&amp;lt;config&gt;/addons/*.dll Plugins (Windows)
<span class="w"> </span><span class="k">*</span><span class="w"> </span>&amp;lt;config&gt;/addons/*.so Plugins (Unix)

<span class="gu">## Control Codes:</span>

<span class="w"> </span><span class="k">*</span><span class="w"> </span>%%     -  A single percentage sign
<span class="w"> </span><span class="k">*</span><span class="w"> </span>%C     -  Control-C (mIRC color code)
<span class="w"> </span><span class="k">*</span><span class="w"> </span>%B     -  Bold Text
<span class="w"> </span><span class="k">*</span><span class="w"> </span>%U     -  Underline Text
<span class="w"> </span><span class="k">*</span><span class="w"> </span>%R     -  Reverse Text
<span class="w"> </span><span class="k">*</span><span class="w"> </span>%O     -  Reset all Text attributes
<span class="w"> </span><span class="k">*</span><span class="w"> </span>%XXX   -  ASCII XXX (where XXX is a decimal 3 digit number, e.g.: %007 sends a BEEP)

%Cforeground,background will produce a color code, e.g.: %C03,10

These are now disabled by default (see <span class="ge">_Settings_</span> <span class="sb">`-&gt;`</span> <span class="ge">_Preferences_</span> <span class="sb">`-&gt;`</span> <span class="ge">_Input Box_</span>).  
Instead you can insert the real codes via ctrl-k, ctrl-b and ctrl-o.
</pre></div>
