<h2>Startup HOWTO</h2>

 <h3>Новичкам в Irssi (а не IRC ..)</h3>

 <p>&copy; 2000-2002 by Timo Sirainen, распространяется под лицензией
    <a href="http://www.gnu.org/licenses/fdl.html">GNU FDL</a> 1.1.<br/>
	На русский язык переведено NiXoiD'ом (#xakep @ irc.wenet.ru)
	</p>


<p>Оглавление с некоторыми вопросами из FAQ, на которые дается ответ в параграфах:</p>

<ol>
<li><a href="#c1">Для ленивых</a>
    <ul>
    <li>Управление окнами, аналогичное ircII</li>
    </ul></li>
<li><a href="#c2">Основы пользовательского интерфейса</a>
    <ul>
    <li>Работа с "разделенными" окнами (я так перевёл "split windows")</li>
    <li>Как я могу легко переключаться между окнами?</li>
    <li>Но alt-1 и.т.д. не работает!</li>
    </ul></li>
<li><a href="#c3">Автозаход на каналы и серверы</a>
    <ul>
    <li>Как автоматически подключаться к серверам при запуске?</li>
    <li>Как автоматически заходить на каналы?</li>
    <li>Как автоматически выполнять команды при подключении?</li>
    </ul></li>
<li><a href="#c4">Настройка окон и автоматическое восстановление их при запуске</a></li>
<li><a href="#c5">Окна status и msgs &amp; уровни сообщений</a>
    <ul>
    <li>Я хочу чтобы ответ на /WHOIS выводился в текущее окно</li>
    <li>Я хочу чтобы все сообщения выводились в одном окне</li>
    </ul></li>
<li><a href="#c6">Как в irssi работает многосерверная поддержка</a>
    <ul>
    <li>Я подключился к серверу, который не отвечает и теперь irssi пытается подключиться к нему снова и снова. Как мне остановить это??</li>
    <li>Я хочу отдельное окно статуса и сообщений для каждого сервера</li>
    </ul></li>
<li><a href="#c7">Команда /LASTLOG и прокрутка окон</a>
    <ul>
    <li>Как сохранить весь текст из окна в файл?</li>
    </ul></li>
<li><a href="#c8">Ведение логов</a></li>
<li><a href="#c9">Изменение клавиатурных Сочетаний</a>
    <ul>
    <li>Как я могу заставить F1 делать что-то?</li>
    </ul></li>
<li><a href="#c10">Прокси и боунсеры</a>
    <ul>
    <li>Что такое irssi-proxy?</li>
    </ul></li>
<li><a href="#c11">Настройки Irssi</a></li>
<li><a href="#c12">Статусбар</a>
    <ul>
    <li>Я загрузил скрипт для статусбара, но его нигде не видно!</li>
    </ul></li>
</ol>

<h3><a id="c1">1. Для ленивых</a></h3>

<p>Несколько полезных настроек по умолчанию:</p>

<p>Если не работают цвета и вы не собираетесь использовать VT-несовместимый терминал, то просто введите:</p>

<pre>
/SET term_force_colors ON
</pre>

<p>Если вы хотите чтобы все сообщения выводились в одном окне:</p>

<pre>
/SET autocreate_own_query OFF
/SET autocreate_query_level DCCMSGS
/SET use_status_window OFF
/SET use_msgs_window ON
</pre>

<p>Чтобы окна автоматически не закрывались когда вы покидаете канал(<code>/PART</code>)или приват
(<code>/UNQUERY</code>):</p>

<pre>
/SET autoclose_windows OFF
/SET reuse_unused_windows ON
</pre>

<p>Чтобы управление окнами в irssi было похоже на ircII введите эти команды:</p>

<pre>
/SET autocreate_own_query OFF
/SET autocreate_query_level NONE
/SET use_status_window OFF
/SET use_msgs_window OFF
/SET reuse_unused_windows ON
/SET windows_auto_renumber OFF

/SET autostick_split_windows OFF
/SET autoclose_windows OFF
/SET print_active_channel ON
</pre>

<p>Вот пример добавления серверов:</p>

<p>(сеть OFTC, идентифицироваться через nickserv и ждать 2 секунды перед заходом на каналы)</p>

<pre>
/IRCNET ADD -autosendcmd "/^msg nickserv identify pass;wait 2000" OFTC
</pre>

<p>Теперь добавление нескольких серверов к разным сетям (IRC-сеть для них уже установлена),
 irc.kpnqwest.fi используется по дефолту для IRCNet но если он не доступен, то irssi будет пытаться подключиться к 
irc.funet.fi:</p>

<pre>
/SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
/SERVER ADD -ircnet ircnet irc.funet.fi 6667
/SERVER ADD -auto -ircnet efnet efnet.cs.hut.fi 6667
</pre>

<p>Автозаход на каналы при подключении к серверу и оп-запрос бота при заходе на efnet/#irssi:</p>

<pre>
/CHANNEL ADD -auto #irssi ircnet
/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet
</pre>

Чтобы строки, содержащие Ваш ник подсвечивались:

<pre>
/HILIGHT ваш_ник
</pre>

<h3><a id="c2">2. Основы пользовательского интерфейса</a></h3>

<p>Для скроллинга содержимого окон используйте PgUp и PgDown. Если они не работают, используйте кнопки Meta-p и Meta-n.
 Чтобы перескочить в начало или конец буфера используйте команды <code>/SB HOME</code> и <code>/SB END</code>.</p>

<p>По умолчанию irssi использует для всего "скрытые окна". Скрытое окно создается каждый раз когда вы заходите(<code>/JOIN</code>) на канал или создаете приват(<code>/QUERY</code>)
с кем-то. Есть несколько способов переключения между этими окнами:</p>

<pre>
Meta-1, Meta-2, .. Meta-0 - Переключение между окнами 1-10
Meta-q .. Meta-o          - Переключение между окнами 11-19
/WINDOW &lt;номер&gt;          - Переключение на окно с заданным номером
Ctrl-P, Ctrl-N            - Переключение к предыдущему/следующему окну
</pre>

<p>Простейший способ переключения - это Meta-номер. Что такое Meta? 
Для некоторых терминалов это ALT. Если у вас windows-совместимая клавиатура, то это так-же может быть левая кнопка windows. Если они не работают, то вам придется настроить некоторые X-ресурсы
(это работает как в xterm так и в rxvt):</p>   

<pre>
XTerm*eightBitInput:   false
XTerm*metaSendsEscape: true
</pre>

<p>В rxvt вы так-же можете указать какая кнопка соответствует кнопке meta, так что если вы хотите использовать Alt вместо Win допишите это в файл с ресурсами:</p>

<pre>
rxvt*modifier: alt
</pre>

<p>Вы так-же можете сделать это при помощи xmodmap:</p>

<pre>
xmodmap -e "keysym Alt_L = Meta_L Alt_L"
</pre>

<p>Так как-же установить эти X-ресурсы? Для Debian'а, это файл
<code>/etc/X11/Xresources/xterm</code>, в который вы можете их засунуть и они будут автоматически читаться при старте иксов. Файлы <code>~/.Xresources</code> и 
<code>~/.Xdefaults</code> так-же должны работать. Если ничего из вышеперечисленного не работает, то просто скопируйте их в <code>~/.Xresources</code>
и загрузите командой <code>xrdb -merge ~/.Xresources</code>. 
Изменения начинают действовать только в заново запущенном терминале.</p> 

<p>Многие SSH клиенты под Windows так же не разрешают использовать кнопку ALT. Прекрасный клиент, который позволяет делать это -  putty, вы можете скачать его с
<a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">
http://www.chiark.greenend.org.uk/~sgtatham/putty/</a>.</p>

<p>Так-же поддерживает разделение окон. Вот команды, которые позволяют это сделать:</p>

<pre>
/WINDOW NEW                    - Создать новое разделенное окно
/WINDOW NEW HIDE               - Создать новое скрытое окно
/WINDOW CLOSE                  - Закрыть разделенное или скрытое окно

/WINDOW HIDE [&lt;number&gt;|&lt;name&gt;] - Сделать разделенное окно скрытым
/WINDOW SHOW &lt;number&gt;|&lt;name&gt;   - Сделать скрытое окно разделенным

/WINDOW SHRINK [&lt;lines&gt;]       - Уменьшить активное окно
/WINDOW GROW [&lt;lines&gt;]         - Увеличить активное окно
/WINDOW BALANCE                - Сбалансировать размеры всех разделенных окон
</pre>

<p>По умолчанию Irssi использует "приклеивание окон". Это подразумевает, что окно, созданное внутри разделенного окна не может быть перемещено без некоторого гемора :). Например у вас может быть следующее расположение окон:</p>

<pre>
Split window 1: win#1 - Status window, win#2 - Окно сообщений
Split window 2: win#3 - ircnet/#channel1, win#4 - ircnet/#channel2
Split window 3: win#5 - efnet/#channel1, win#6 - efnet/#channel2
</pre>

<p>Когда вы в окне win#1 нажимаете ALT-6, irssi переключается на разделенное окно
#3 и перемещает канал efnet/#channel2 в активное окно.</p>

<p>При "незакреплённом" варианте окна не имеют никакой связи с разделенными окнами 
и нажатие ALT-6 в окне win#1 перемещает окно win#6 в разделенное окно 1
и делает его активным, исключение может быть когда окно win#6 уже видимо в каком-то другом
разделенном окне, irssi просто переключается к этому разделенному окну. Такой метод переключения между окнами применяется в ircII и если он вам понравился то вы можете активизировать его при помощи команды</p>

<pre>
/SET autostick_split_windows OFF
</pre>

<p>Каждое окно внутри себя может содержать много каналов, приватов и других "вещей". Если вы вообще не любите окна, то вы можете отменить их командой</p>

<pre>
/SET autocreate_windows OFF		[format c: надёжнее ;) - прим. перев.]
</pre>

<p>И если вы держите все каналы в одном окне, то вам наверное захочется чтобы имя канала выводилось в каждом сообщении:</p>

<pre>
/SET print_active_channel ON
</pre>

<p>Если вы хотите сгруппировать в какое-то окно только некоторые каналы или приваты, то используйте эти команды:</p>

<pre>
/JOIN -window #channel
/QUERY -window nick
</pre>

<h3><a id="c3">3. Автозаход на каналы и серверы</a></h3>

<p>В Irssi многосерверная поддержка ИМХО очень хорошая :). Даже если вы хотите общаться только в одной сети, то очень удобно сгруппировать все серверы этой сети в одну группу т.к. это помогает в случае невозможности соединения с главным сервером и в некоторых других случаях :). 
Дополнительную информацию об эффективном использовании многосерверной поддержки смотрите в главе 6.</p>

<p>Для начала вам нужно установить свою IRC-сеть, для этого используйте команду <code>/IRCNET</code>,
чтобы убедится, что она ещё не установлена. Если она не установлена, то введите <code>/IRCNET ADD
имя_сети</code>. Если вы хотите, чтобы какие-то команды автоматически выполнялись при подключении к этой сети, то воспользуйтесь опцией <code>-autosendcmd</code>.
Вот некоторые примеры:</p>

<pre>
/IRCNET ADD -autosendcmd '^msg bot invite' ircnet
/IRCNET ADD -autosendcmd "/^msg nickserv identify pass;wait 2000" OFTC
</pre>

<p>После этого вы должны добавить к этой сети серверы. Например:</p>

<pre>
/SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
/SERVER ADD -auto -ircnet worknet irc.mycompany.com 6667 пароль
</pre>

<p>Опция <code>-auto</code> указывает, что к этому серверу нужно автоматически подключаться при запуске. 
Вы не должны помечать другие серверы той-же сети опцией <code>-auto</code> - Irssi автоматически к ним подключится, если сервер помеченный <code>-auto</code> недоступен.</p>

<p>И наконец каналы:</p>

<pre>
/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet
/CHANNEL ADD -auto #secret ircnet password
</pre>

<p>Опции <code>-bots</code> и <code>-botcmd</code> требуют небольшого пояснения. 
Они используются для того, чтобы автоматически давать команды боту при заходе на канал, 
обычно для автоматического получения опа. Вы можете задать много масок ботов при помощи опции 
<code>-bots</code>, разделенной пробелами (не забудьте взять эту строку в кавычек). Переменная $0 в опции 
<code>-botcmd</code> указывает на первого бота в списке найденных. Если вы не хотите использовать маски для ботов (например если бот всегда сидит под одним ником) 
вы можете указать только опцию <code>-botcmd</code> и команду.</p>

<h3><a id="c4">4. Настройка окон и автоматическое восстановление при запуске</a></h3>

<p>Для начала создайте нужные окна(подключитесь к нужным серверам, каналам и.т.д.). 
Для перемещения окон используйте следующие команды:</p>

<pre>
/WINDOW MOVE LEFT/RIGHT/номер    - переместить окно влево, вправо или на указанный номер
/WINDOW ITEM MOVE &lt;номер&gt;|&lt;имя&gt; - переместить канал или приват в другое окно
</pre>

<p>Когда всё выглядит так, как вы хотите, используйте команду <code>/LAYOUT SAVE</code>
 (и <code>/SAVE</code>, если не включено автосохранение) и когда вы в следующий раз запустите irssi, то он вспомнит позиции сохраненных окон. 
 Это "запоминание" не означает, что использование команды <code>/LAYOUT SAVE</code> будет приводить к автоматическому подключению к серверам и заходу на каналы, 
 для этого вы должны использовать команды <code>/SERVER ADD -auto</code> и <code>/CHANNEL ADD -auto</code>.</p>

<p>Чтобы изменить сохраненные настройки окон, расставьте их в нужные позиции и заново введите команду <code>/LAYOUT SAVE</code>. 
Чтобы обнулить настройки используйте команду <code>/LAYOUT RESET.</code></p>


<h3><a id="c5">5. Окна status и msgs &amp; уровни сообщений</a></h3>

<p>По умолчанию "дополнительные сообщения" выводятся в окно статуса. Под дополнительными подразумеваются сообщения, которые не принадлежат ни к одному каналу или привату(например ctcp-запросы). 
Некоторых людей они раздражают, так что если вы хотите их скрыть, то введите</p>

<pre>
/SET use_status_window OFF
</pre>

<p>Этот параметр заработает только после перезапуска irssi. Если вы хотите удалить их немедленно, то просто закройте окно(<code>/WINDOW CLOSE</code>).</p>

<p>Другое основное окно - это "окно сообщений", куда идут все сообщения привата. 
По умолчанию оно отключено и вместо этого для каждого привата создается новое окно. Чтобы все сообщения привата шли в одно окно используйте команду:</p>

<pre>
/SET use_msgs_window ON
/SET autocreate_query_level DCCMSGS  (или если вы так-же не хотите
	 создавать новые окна для DCC-чата напишите NONE)
</pre>

<p>Этот параметр так-же не будет задействован до перезапуска irssi. Чтобы применить его немедленно введите:</p>

<pre>
/WINDOW NEW HIDE     - создать окно
/WINDOW NAME (msgs)  - переименовать его в "(msgs)"
/WINDOW LEVEL MSGS   - перенаправить все приватные сообщения в это окно
/WINDOW MOVE 1       - сделать это окно первым в списке
</pre>

<p>Учтите, что ни use_msgs_window, ни use_status_window не будут работать если использована команда <code>/LAYOUT SAVE</code>.</p>

<p>Теперь мы подошли к уровням сообщений.. Что это? Все сообщения, которые выводит irssi имеют один или больше 
"уровень сообщений". Вот основные уровни: PUBLIC - для сообщений на каналах, 
MSGS - для приватных сообщений и CRAP для остальных сообщений, которые нельзя классифицировать. Вы можете получить полный список уровней при помощи команды</p>

<pre>
/HELP levels
</pre>

<p>Окну статуса присвоен уровень <code>ALL -MSGS</code>, который подразумевает, что все сообщения, 
исключая приватные, для которых не назначено другое место идут в это окно. Благодаря опции <code>-MSGS</code> оно не конфликтует с окном сообщений.</p>


<h3><a id="c6">6. Как в irssi работает многосерверная поддержка</a></h3>

<p>В ircII и некоторых других IRC-клиентах многосерверная поддержка реализована в виде помещения вкладки с сервером в список окон
. В IRSSI НЕТ. Нет никакой связи между окном и сервером. Вы можете подключиться к десяти серверам одновременно и управлять ими всеми из одного окна, или заходить на каналы на каждом из них 
в одном окне, если вы действительно этого хотите. Как было сказано вы можете подключиться к новому серверу, не закрывая текущего соединения:</p>

<pre>
/CONNECT irc.server.org
</pre>

<p>Вместо команды <code>/SERVER</code>, которая закрывает существующее
соединение. Чтобы посмотреть список осуществленных соединений используйте команду <code>/SERVER</code>
без параметров. Вы увидите примерно следующее:</p>

<pre>
-!- IRCNet: irc.song.fi:6667 (IRCNet)
-!- OFTC: irc.oftc.net:6667 (OFTC)
-!- RECON-1: 192.168.0.1:6667 () (02:59 left before reconnecting)
</pre>

<p>Здесь видно, что мы подключены к сетям IRCNet и OFTC.
Надпись IRCNet в начале является "меткой сервера" а 
(IRCnet) в конце показывает соответствующую IRC-сеть. Метка сервера соответствует уникальному имени, которое обычно совпадает с названием сети.
Когда IRC-сеть не известна это какая-то часть имени сервера.
Когда осуществлены несколько соединений с одной сетью или сервером, irssi
добавляет цифру после метки, так что это может быть ircnet, ircnet2, ircnet3
и.т.д.</p>

<p>Метка сервера, начинающаяся с <code>RECON-</code> обозначает переподключение. 
В вышеприведенном примере мы видим, что подключение к серверу 192.168.0.1 было неудачным и 
irssi попробует подключиться заново через 3 минуты.</p>

<p>Чтобы отключиться от сервера используйте следующие команды:</p>

<pre>
/DISCONNECT ircnet   - отключиться от сервера с меткой "ircnet"
/DISCONNECT recon-1  - остановить попытки переподключения к серверу RECON-1
/RMRECONNS           - остановить все попытки переподключения

/RECONNECT recon-1   - немедленно попробовать переподключиться к RECON-1
/RECONNECT ALL       - немедленно попробовать переподключиться ко всем серверам
					в очереди на подключение
</pre>

<p>Теперь, когда вы подключены ко всем серверам вы должны знать как указать какой из них вы хотите использовать. 
Единственный способ - это иметь пустое окно наподобе окна статуса. В нем вы можете выбрать какой сервер хотите сделать активным</p>

<pre>
/WINDOW SERVER tag    - сделать сервер с меткой "tag" активным
Ctrl-X                - Сделать следующий в списке сервер активным
</pre>

<p>Когда сервер активный вы можете нормально его использовать. Когда вы подключены к нескольким серверам, irssi добавляет префикс [метка_сервера] 
ко всем сообщениям, не относящимся к каналу или привату так что вы можете знать с какого сервера оно пришло.</p>

<p>Некоторые команды так-же позволяют использовать опцию <code>-метка_сервера</code> 
чтобы указать для какого сервера вы хотите её использовать:</p>

<pre>
/MSG -метка ник сообщение
/JOIN -метка #канал
/QUERY -метка ник
</pre>

<p>Автодополнение команды <code>/MSG</code> так-же автоматически добавляет метку сервера
 когда ник не на активном сервере.</p>

<p>Окно сервера можно сделать закреплённым. Когда оно закреплено, то оно никогда автоматически не переключится на какое-то другое, и если произошло отключение от сервера, 
то оно не будет иметь активного сервера. Когда к серверу снова произведено подключение,
то он автоматически становится активным в этом окне. Чтобы закрепить окно сервера используйте следующую команду:</p>

<pre>
/WINDOW SERVER -sticky tag
</pre>

<p>Это полезно если вы хотите иметь отдельные окна статуса и сообщений для каждого сервера. Вот как это можно сделать (повторите для каждого сервера):</p>

<pre>
/WINDOW NEW HIDE
/WINDOW NAME (status)
/WINDOW LEVEL ALL -MSGS
/WINDOW SERVER -sticky ircnet

/WINDOW NEW HIDE
/WINDOW NAME (msgs)
/WINDOW LEVEL MSGS
/WINDOW SERVER -sticky ircnet
</pre>

<h3><a id="c7">7. Команда /LASTLOG и прокрутка окон</a></h3>

<p>Команда <code>/LASTLOG</code> может быть использована для поиска текста в буфере окна. Вот простейшие примеры её использования:</p>

<pre>
/LASTLOG слово    - вывести все строки, содержащие "слово"
/LASTLOG word 10  - вывести последние 10 строк, содержащих "word"
/LASTLOG -topics  - вывести все изменения топика
</pre>

<p>Если результатом вывода должны стать более 1000 строк, то irssi предположит, что вы допустили ошибку и выведет их только с опцией <code>-force</code>. 
Чтобы сохранить содержимое буфера окна в файл, используйте следующую команду:</p>

<pre>
/LASTLOG -file ~/irc.log
</pre>

<p>При использовании опции <code>-file</code> опция <code>-force</code> 
не требуется. У команды <code>/LASTLOG</code> есть много других опций. Чтобы получить более подробную справку по ней используйте <code>/HELP lastlog</code>.</p>

<p>Когда вы нашли интересовавшие вас строки, вам скорее всего захочется посмотреть другие прилегающие к ним сообщения. В Irssi есть команда <code>/SCROLLBACK</code> (или
её синоним - <code>/SB</code>) для перемещения по буферу окна.
Команда <code>/LASTLOG</code> выводит оригинальное время сообщения
 и вы можете использовать команду <code>/SB GOTO чч:мм</code> чтобы "перепрыгнуть" к этому фрагменту дискуссии.
 Чтобы переместиться обратно вниз используйте команду <code>/SB
END</code>.</p>


<h3><a id="c8">8. Ведение логов</a></h3>

<p>Irssi может автоматически вести лог всех важных сообщений когда вы в эвее
(<code>/AWAY причина</code>). когда вы вышли из эвея
(ещё раз введите <code>/AWAY</code>), новые сообщения в эвей-логе выводятся на экран.
Вы можете настроить его при помощи следующих команд:</p>

<pre>
/SET awaylog_level MSGS HILIGHT     - Выбирает какое сообщения надо записывать в лог
/SET awaylog_file ~/.irssi/away.log - Выбирает файл для лога
</pre>

<p>Простейший способ ведения логов при помощи Irssi - включение автолога. 
Irssi будет вести логи всех сообщений в заданный каталог.
Вы можете включить его при помощи следующей команды:</p>

<pre>
/SET autolog ON
</pre>

<p>По умолчанию в логи записывается почти всё кроме уровней CTCPS или CRAP
(<code>/WHOIS</code>-запросы и.т.д.). Вы можете задать уровни сообщений, которые надо писать в логи следующей командой:</p>

<pre>
/SET autolog_level ALL -CRAP -CLIENTCRAP -CTCPS (this is the default)
</pre>

<p>По умолчанию irssi пишет лог в ~/irclogs/&lt;метка_сервера&gt;/&lt;цель&gt;.log.
Это настраивается следующей командой:</p>

<pre>
/SET autolog_path ~/irclogs/$tag/$0.log (вариант "по умолчанию")
</pre>

<p>Если заданный каталог не существует, то он автоматически создается. В переменной $0 
содержится цель(канал или ник). Вы можете настроить Irssi так, чтобы он автоматически добавлял дату/время к имени файла с логом. 
Вормат даты - "man strftime" :). Вот пример:</p>

<pre>
/SET autolog_path ~/irclogs/%Y/$tag/$0.%m-%d.log
</pre>

<p>Чтобы вести логи только по каким-то отдельным каналам или никам смотрите <code>/HELP
log</code></p>


<h3><a id="c9">9. Изменение клавиатурных сочетаний</a></h3>

<p>Вы можете изменить любое клавиатурное сочетание, о котором терминал даёт знать irssi. 
То есть irssi "видит" не все клавиатурные сочетания, например он не будет реагировать на 
shift-backspace если вы как-то не отредактируете соответствующие X-ресурсы.</p>

<p>Команда <code>/HELP bind</code> даёт намного больше информации о клавиатурных сочетаниях, чем приведено здесь. 
Обычно проблеммой является "забивание" каких-то не стандартных клавиш. 
Они немного различны для каждого терминала, так что вы должны будете узнать что именно даёт нажатие этой клавиши. 
Простейший путь узнать это - выполнить в консоли <code>cat</code> и посмотреть что будет выводится при нажатии этой клавиши. 
Вот пример нажатия клавиши F1:</p>

<pre>
[cras@hurina] ~% cat
^[OP
</pre>

<p>Так что в irssi чтобы "забить" что-то на F1 вы должны будете использовать команду <code>/BIND ^[OP /ECHO нажата клавиша F1</code>. 
Если вы используете разные терминалы, которые по разному распознают нажатие одной и той-же клавиши, то вам лучше использовать что-то вроде этого:</p>

<pre>
/BIND ^[OP key F1
/BIND ^[11~ key F1
/BIND F1 /ECHO нажата клавиша F1.
</pre>

<h3><a id="c10">10. Прокси и боунсеры</a></h3>

<p>Irssi поддерживает подключение к IRC-серверам через прокси. Если вы всё правильно сделаете, то все подключения будут осуществляться через него и вам не надо будет вводить никаких дополнительных команд.</p>

<p>Вот пример: У вас есть боунсер, висящий на
irc.bouncer.org 5000. Вы хотите использовать его для подключения к серверам irc.dal.net и irc.efnet.org. Для начала вы должны будете настроить боунсер:</p>

<pre>
/SET use_proxy ON                      (включить использование прокси)
/SET proxy_address irc.bouncer.org
/SET proxy_port 5000

/SET proxy_password ВАШ_ПАРОЛЬ
/SET -clear proxy_string
/SET proxy_string_after conn %s %d
</pre>

<p>Потом вам нужно будет добавить нужные серверы. Это делается точно так-же, как если бы вы хотели подключиться к ним напрямую:</p>

<pre>
/SERVER ADD -auto -ircnet dalnet irc.dal.net
/SERVER ADD -auto -ircnet efnet irc.efnet.org
</pre>

<p>После того, как вы сделали вышеперечисленные настройки все соединения irssi будет производить через проксю.</p>

<p>Если вы не хотите использовать проксю для какого-то сервера, то при его добавлении укажите опцию 
<code>-noproxy</code>.</p>

<p><strong>Специфичные настройки для разных типов прокси:</strong></p>

<p>Обычные настройки:</p>

<pre>
/SET use_proxy ON
/SET proxy_address &lt;Адрес прокси&gt;
/SET proxy_port &lt;Порт&gt;
</pre>

<p><strong>HTTP proxy</strong></p>

<p>Используйте эти настройки для HTTP-прокси:</p>

<pre>
/SET -clear proxy_password
/EVAL SET proxy_string CONNECT %s:%d\n\n
</pre>

<p><strong>BNC</strong></p>

<pre>
/SET proxy_password ваш_пароль
/SET -clear proxy_string
/SET proxy_string_after conn %s %d
</pre>

<p><strong>dircproxy</strong></p>

<p>dircproxy производит подключения к серверам по паролям. Так что если например вы хотите подключиться к серверу ircnet с паролем ircpass 
и к OFTC с паролем oftcpass, вы должны сделать примерно следующее:</p>

<pre>
/SET -clear proxy_password
/SET -clear proxy_string

/SERVER ADD -auto -ircnet ircnet fake.ircnet 6667 ircpass
/SERVER ADD -auto -ircnet OFTC fake.oftc 6667 oftcpass
</pre>

<p>Имя сервера и порт, которые вы вводите нигде не используются, так что вы можете писать сюда всё что угодно.</p>

<p><strong>psyBNC</strong></p>

<p>psyBNC имеет внутреннюю многосерверную поддержку. 
Это может доставлять небольшие неудобства и некоторые люди просто используют разные логины для подключения к нескольким серверам.
Вы очень просто можете делать это средствами Irssi:</p>

<pre>
/SET -clear proxy_password
/SET -clear proxy_string

/IRCNET ADD -user ircnetuser ircnet
/SERVER ADD -auto -ircnet ircnet fake.ircnet 6667 ircpass
/IRCNET ADD -user oftcuser OFTC
/SERVER ADD -auto -ircnet OFTC fake.oftc 6667 oftcpass
</pre>

<p>Здесь при помощи команды <code>/IRCNET ADD</code> вы задаете имена пользователей
и пароли при помощи <code>/SERVER ADD</code>.</p>

<p><strong>Irssi proxy</strong></p>

<p>Irssi включает свою собственную проксю, которую вы можете собрать при помощи опции configure 
<code>--with-proxy</code>. Чтобы её использовать вы должны оставлять irssi запущенным.</p>

<p>Irssi-прокся немного отличается от остальных прокси-серверов, нормальные прокси создают новые соединения с IRC-сервером когда вы хотите к нему подключиться, а
<strong>irssi-прокся использует уже существующее соединение(я) для всех клиентов</strong>. Или ещё понятнее: <strong>Вы можете использовать только одно соединение с IRC-сервером для неограниченного числа клиентов</strong>.</p>

<p>Irssi-прокся может распределять несколько соединений с серверами на разные порты, например на 2777-ом порту у вас может быть соединение с ircnet, а на 2778 с efnet.</p>

<p>Использование на стороне прокси:</p>

<pre>
/LOAD proxy
/SET irssiproxy_password &lt;пароль&gt;
/SET irssiproxy_ports &lt;IRC_сеть&gt;=&lt;порт&gt; ... (например ircnet=2777 efnet=2778)
</pre>
<p>Вы <strong>должны</strong> добавить все серверы, которые вы используете в списки серверов и сетей 
при помощи команд <code>/SERVER ADD</code> и 
<code>/IRCNET ADD</code>. ..разве что если вы хотите использовать только одно соединение, то вы можете указать:</p>

<pre>
/SET irssiproxy_ports *=2777
</pre>

<p>Использование на стороне клиента:</p>

<p>Просто подключитесь к проксе как к нормальному серверу с паролем, заданным командой <code>/SET irssiproxy_password</code>. Пример:</p>

<pre>
/SERVER ADD -ircnet ircnet my.irssi-proxy.org 2777 secret
/SERVER ADD -ircnet efnet my.irssi-proxy.org 2778 secret
</pre>

<p>Irssi-прокся так-же нормально работает с другими irc-клиентами.</p>

<p><strong>SOCKS</strong></p>

Irssi может быть собран с поддержкой socks-прокси (опция configure <code>--with-socks</code>), 
но я на самом деле не знаю как оно работает. Настройки <code>/SET
proxy</code> на эти прокси никак не действуют.

<p><strong>Другие прокси</strong></p>

<p>IRC-боунсеры обычно работают точно так-же как и IRC-серверы, но просят пароль. Вы можете дать им его при помощи следующей команды:</p>

<pre>
/SET proxy_password &lt;пароль&gt;
</pre>

<p>CONNECT-строки по умолчанию:</p>

<pre>
/SET proxy_string CONNECT %s %d
/SET proxy_string_after
</pre>

<p>proxy_string отправляются перед командами NICK/USER, а 
proxy_string_after отправляется после них. %s and %d can be used with both
of them.</p>

<h3><a id="c11">11. Настройки Irssi</a></h3>

<p>Вам могут не понравится настройки Irssi по умолчанию.
Вот некоторые из них, которые вы скорее всего захотите изменить(в примерах приведены "умолчальные" значения):</p>

<p><strong>Окна приватов</strong></p>

<dl>
<dt>/SET autocreate_own_query ON</dt>
  <dd>Автоматически создавать окно привата когда вы отправляете кому-то сообщение при помощи команды <code>/MSG</code>.</dd>

<dt>/SET autocreate_query_level MSGS</dt>
  <dd>При получении сообщений окно привата создается с этим уровнем сообщений. Сейчас работают только MSGS, DCCMSGS и NOTICES.
   Вы можете отменить это при помощи команды <code>/SET -clear autocreate_query_level</code>.</dd>

<dt>/SET autoclose_query 0</dt>
  <dd>Окна приватов могут быть автоматически закрыты после заданного "простоя". Активное окно и окна с непрочитанными сообщениями не закрываются. Значение задается в секундах.</dd>
</dl>

<p><strong>Окна</strong></p>

<dl>
<dt>/SET use_msgs_window OFF</dt>
  <dd>Создавать окно сообщений при запуске. Все приватные сообщения будут направляться в это окно. 
  Это имеет смысл только если вы отменили автосоздание окон приватов. 
  Это окно так-же может быть создано вручную при помощи команды /WINDOW LEVEL
  MSGS, /WINDOW NAME (msgs).</dd>

<dt>/SET use_status_window ON</dt>
  <dd>Создавать окно статуса при запуске. Все сообщения, которые больше некуда отправить идут сюда, включая /WHOIS и.т.д. 
  Окно статуса тоже может быть создано вручную при помощи команд <code>/WINDOW LEVEL ALL -MSGS</code>,
  <code>/WINDOW NAME (status)</code>.</dd>

<dt>/SET autocreate_windows ON</dt>
  <dd>Если вы это отключите, то все сообщения будут помещаться в одно окно</dd>

<dt>/SET autoclose_windows ON</dt>
  <dd>Автозакрытие окон (например при выходе с каналов(<code>/PART</code>)).</dd>

<dt>/SET reuse_unused_windows OFF</dt>
  <dd>Когда ищется место для создания нового окна (канала или привата) Irssi 
  сначала пытается использовать уже существующие пустые окна. Если эта опция включена, то всегда будут создаваться новые окна. 
  Эта настройка игнорируется если autoclose_windows включен.</dd>

<dt>/SET window_auto_change OFF</dt>
  <dd>Автоматически переключаться в автоматически созданные окна.</dd>

<dt>/SET print_active_channel OFF</dt>
  <dd>Когда вы держите в одном окне больше чем один канал, Irssi выводит сообщения, приходящие на активный канал в форме <code>&lt;ник&gt; текст</code>
  а те, что приходят на другие каналы так: <code>&lt;ник:канал&gt; текст</code>. Если эта опция включена, то сообщения, приходящие на активный канал будут так-же выводиться во втором варианте.</dd>

<dt>/SET window_history OFF</dt>
  <dd>Хранить отдельную историю команд для каждого окна.</dd>
</dl>


<p><strong>Информация о пользователе</strong></p>

<dl>
<dt>/SET nick</dt>
  <dd>Ваш ник</dd>

<dt>/SET alternate_nick</dt>
  <dd>Ваш альтернативный ник.</dd>

<dt>/SET user_name</dt>
  <dd>Ваше имя пользователя. Если у вас включен ident, то оно ничего не даёт.</dd>

<dt>/SET real_name</dt>
  <dd>Ваше настоящее имя.</dd>
</dl>


<p><strong>Информация о сервере</strong></p>

<dl>
<dt>/SET skip_motd OFF</dt>
  <dd>Пропускать motd при подключении к серверу.</dd>

<dt>/SET server_reconnect_time 300</dt>
  <dd>Сколько секунд надо ждать перед повторной попыткой подключения к серверу.</dd>

<dt>/SET lag_max_before_disconnect 300</dt>
  <dd>При каком лаге(в секундах) надо отключаться от сервера и предпринимать попытку переподключения.</dd>
</dl>


<p><strong>Внешний вид</strong></p>

<dl>
<dt>/SET timestamps ON</dt>
  <dd>Показывать время перед каждым сообщением.</dd>

<dt>/SET hide_text_style OFF</dt>
  <dd>Скрыть оформление текста(жирный шрифт, цвета и.т.д.).</dd>

<dt>/SET show_nickmode ON</dt>
  <dd>Показывать "режим ника" на каналах, например
  <code>&lt;@nick&gt;</code> у опов, <code>&lt;+nick&gt;</code> у войсов и.т.д.</dd>

<dt>/SET show_nickmode_empty ON</dt>
  <dd>Если у ника нет режима - выводить пробел на месте "символа режима".</dd>

<dt>/SET show_quit_once OFF</dt>
  <dd>Показывать quit-сообщение только в одном окне, если человек вышел с нескольких каналов, на которых вы сидите.</dd>

<dt>/SET lag_min_show 100</dt>
  <dd>Показывать в статус-баре лаг если он превышает заданное число юнитов. В одной секунде 100 юнитов.</dd>

<dt>/SET indent 10</dt>
  <dd>Если строка, которую надо вывести не вмещается в одну строку, то она разбивается и выводится на следующих строках. Этот параметр показывает сколько места надо отступить перед началом вывода текста на следующих строках. 
  Это может быть переопределено в настройках форматирования текста при помощи формата <code>%|</code>.</dd>

<dt>/SET activity_hide_targets</dt>
  <dd>Если вы не хотите видеть активность на каких-то каналах или приватах, то перечислите их здесь. Например <code>#boringchannel =bot1
  =bot2</code>. Эта настройка игнорируется если встречается текст или сообщение, для которого вы настроили подсветку(highlight).</dd>
</dl>

<p><strong>Автодополнение ников</strong></p>

<dl>
<dt>/SET completion_auto OFF</dt>
  <dd>Автоматически дополнять ник если строка начинается с первых букв ника и "символа автодополнения". 
  Лучше всего использовать автодополнение табом.</dd>

<dt>/SET completion_char :</dt>
  <dd>"Символ автодополнения".</dd>
</dl>

<h3><a id="c12">12. Панель статуса</a></h3>

<p>Команда <code>/STATUSBAR</code> выводит список панелей статуса:</p>

<pre>
Name                           Type   Placement Position Visible
window                         window bottom    0        always
window_inact                   window bottom    1        inactive
prompt                         root   bottom    100      always
topic                          root   top       1        always
</pre>

<p><code>/STATUSBAR &lt;имя&gt;</code> выводит настройки панели статуса и её компоненты. 
<code>/STATUSBAR &lt;имя&gt; ENABLE|DISABLE</code>
включает или отключает панель. <code>/STATUSBAR &lt;имя&gt; RESET</code>
устанавливает для панели статуса настройки по умолчанию, или если она была создана вами, то удаляет её.</p>

<p>Панель может иметь два типа: windows и root - это подразумевает, что она может быть видна для всех окон или только для одного. 
Placement - это расположение панели: top - сверху, bottom - снизу. 
Position - это число, чем больше значение которого, тем ниже на экране располагается панель. 
Параметр Visible может принимать 3 значения: always, active и inactive. Режимы active/inactive полезны только для разделенных окон. 
Эти настройки могут быть изменены следующими командами:</p>

<pre>
/STATUSBAR &lt;имя&gt; TYPE window|root
/STATUSBAR &lt;имя&gt; PLACEMENT top|bottom
/STATUSBAR &lt;имя&gt; POSITION &lt;num&gt;
/STATUSBAR &lt;имя&gt; VISIBLE always|active|inactive
</pre>

<p>Когда вы загружаете новые скрипты для панелей статуса вам скорее всего придется выбрать где вы хотите их расположить. 
Компоненты панелей могут быть изменены следующими командами:</p>

<pre>
/STATUSBAR &lt;имя&gt; ADD [-before | -after &lt;item&gt;] [-priority #] [-alignment left|right] &lt;компонента(item)&gt;
/STATUSBAR &lt;имя&gt; REMOVE &lt;компонента(item)&gt;
</pre>

<p>Обычно для имя компоненты в скрипте для панели соответствует имени скрипта. 
Об этом должно быть написано в документации к скрипту. Так что чтобы добавить скрипт mail.pl 
перед списком активных окон (смотрите 
<code>/STATUSBAR</code>), введите эту команду: <code>/STATUSBAR window ADD -before
act mail</code>.</p>