<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY mirc "<application
>mIrc</application
>">
  <!ENTITY kappname "&ksirc;">
  <!ENTITY package "kdenetwork">
  <!ENTITY irc "<acronym
>IRC</acronym
>">
  <!ENTITY CTCP "<acronym
>CTCP</acronym
>">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Russian "INCLUDE"
> <!-- change language only here -->
]>
	
<book lang="&language;">

<bookinfo>
<title
>Руководство &ksirc;</title>
<authorgroup>
<author
>&Andrew.Stanley-Jones; &Andrew.Stanley-Jones.mail; </author>
<author
>&Philip.Rodrigues; &Philip.Rodrigues.mail; </author>
</authorgroup>

<copyright>
<year
>1997</year>
<holder
>Эндрю Стэнли-Джонс (Andrew Stanley-Jones)</holder>
</copyright>

<copyright>
<year
>2001</year
><year
>2002</year
><year
>2004</year>
<holder
>Филип Родригес (Philip Rodrigues) </holder>

</copyright>

<othercredit role="translator"
><firstname
>Валя</firstname
><surname
>Ванеева</surname
><affiliation
><address
><email
>fattie@altlinux.ru</email
></address
></affiliation
><contrib
>Перевод на русский язык</contrib
></othercredit
><othercredit role="translator"
><firstname
>Олег</firstname
><surname
>Баталов</surname
><affiliation
><address
><email
>olegbatalov@mail.ru</email
></address
></affiliation
><contrib
>Обновление перевода</contrib
></othercredit
> 
<date
>2004-02-06</date>
<releaseinfo
>1.3.9</releaseinfo>

<legalnotice
>&FDLNotice;</legalnotice>

<abstract>
<para
>Эта документация описывает  &ksirc; версии 1.2.1, клиент &irc; для &kde;.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>KSirc</keyword>
<keyword
>irc</keyword>
<keyword
>чат</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title
>Введение</title>

<para
>&ksirc; &mdash; &irc;-клиент по умолчанию для &kde;. Он поддерживает работу со сценариями, написанными на <acronym
>Perl</acronym
> и по функциональности во многом сопоставим с &mirc;.</para>

</chapter>

<chapter id="using-ksirc">
<title
>Работа с &ksirc;</title>

<sect1 id="irc-basics">
<title
>Если вы никогда не пользовались &irc; раньше...</title>

<para
>Попросту говоря, &irc; &mdash; специальный протокол для общения (чата), соответствующий стандартам Интернета и часто крадущий многие-многие часы вашей жизни. Чтобы пользоваться &irc;, вам нужно подключиться к серверу, а затем зайти на канал (эквивалент веб-чата).</para>

<para
>Чтобы подключиться к серверу, откройте &ksirc; и выберите <menuchoice
><guimenu
>Соединения</guimenu
><guimenuitem
>Новый сервер...</guimenuitem
></menuchoice
> или просто нажмите <keycap
>F2</keycap
>. В открывшемся окне из выпадающего списка слева выберите группу, а затем из выпадающего списка рядом &mdash; сервер. Порт (в поле справа) почти всегда должен быть 6667. Откроется новое окно, в котором вы увидите сообщения, отправляемые серверу. После того, как этот обмен данными завершится, вы можете выбрать канал. Чтобы увидеть список каналов, доступных на сервере, введите в строку приглашения <userinput
><command
>/list</command
></userinput
>. Чтобы зайти на канал, введите <userinput
><command
>/join</command
> <replaceable
>#имя_канала</replaceable
></userinput
>. Чтобы уйти с канала, просто введите в его вкладке <userinput
><command
>/part</command
></userinput
>.</para>

<para
>Это основы. Если вы хотите узнать больше, читайте далее...</para>

</sect1>

<sect1 id="ksirc-basics">
<title
>Основы работы с &ksirc;</title>

<sect2 id="servers">
<title
>Серверы</title>

<para
>&ksirc; позволяет подключаться к нескольким серверам. <menuchoice
><guimenu
>Соединения</guimenu
><guimenuitem
> Новый сервер...</guimenuitem
> </menuchoice
> или нажмите клавишу<keycap
>F2</keycap
>. Появится диалог <guilabel
> Связаться с сервером</guilabel
>, и вы можете выбрать <guilabel
>Группу</guilabel
>, затем <guilabel
>Сервер</guilabel
>, а также <guilabel
>Порт</guilabel
>, к которому хотите подключиться.</para>

<para
>Заполнив все поля, просто нажмите кнопку <guilabel
>Соединение</guilabel
>, откроется новое окно. Вы можете отслеживать текущие подключения к серверам в окне <guilabel
>Управление сервером</guilabel
>.</para>

<para
>Справку по основным &irc;-командам можно получить, введя в строке приглашения <userinput
>/help <replaceable
>имя_команды</replaceable
></userinput
>. Если вы введёте просто <userinput
>/help</userinput
>, будет выведен список всех доступных команд.</para>
</sect2>

<sect2 id="channels">
<title
>Каналы</title>

<para
>Вы можете зайти на канал с помощью стандартной &irc;-команды <userinput
><command
>/join</command
> <replaceable
>#имя_канала</replaceable
> </userinput
>, выбрав <menuchoice
><guimenu
>Соединения</guimenu
><guimenuitem
>Присоединиться к каналу...</guimenuitem
></menuchoice
> или нажав <keycap
>F3</keycap
>.</para>

<para
>Каналы, на которых вы присутствуете, перечислены в списке окна <guilabel
>Управление сервером</guilabel
> под сервером, к которому они принадлежат. Чтобы покинуть канал, вы можете ввести команду <userinput
>/part</userinput
>, выбрать <menuchoice
><guimenu
>Канал</guimenu
><guimenuitem
>Закрыть</guimenuitem
></menuchoice
> или нажать <keycombo action="simul"
>&Ctrl;<keycap
>W</keycap
></keycombo
>.</para>

</sect2>

<sect2 id="channel-options">
<title
>Свойства каналов</title>

<para
>Меню <guimenu
>Канал</guimenu
> доступно во всех окнах каналов и содержит несколько важных пунктов:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
>&Ctrl;<keycap
>S</keycap
></keycombo
></shortcut
> <guimenuitem
>Сохранять в журнале...</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Сохранять содержимое канала в файл.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice>
<guimenuitem
>Вставить время</guimenuitem>
</menuchoice
></term>
<listitem>
<para
><action
>Если этот флажок установлен, каждая реплика будет предваряться меткой времени в формате [ЧЧ:ММ:СС].</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenuitem
>Таблица ASCII</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Открыть таблицу ASCII-символов</action
>, из которой вы можете выбрать нужные вам символы.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="seq"
>&Alt;<keycap
>P</keycap
></keycombo
></shortcut
> <guimenuitem
>Уведомлять при изменении</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Если этот флажок установлен, &ksirc; будет проигрывать звуковой сигнал каждый раз, когда на канале будет появляться новая реплика.</action
></para
></listitem>
</varlistentry>


</variablelist>

</sect2>

<sect2 id="user-options">
<title
>Параметры пользователя</title>

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

<variablelist>

<varlistentry>
<term
><guimenuitem
>Обновить ники</guimenuitem
></term>
<listitem>
<para
><action
>Отправить серверу сообщение с запросом списка пользователей</action
>. Так вы можете быть уверены, что список пользователей канала всегда отображает реальную ситуацию.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Follow</guimenuitem
></term>
<listitem>
<para
><action
>Выделять ник пользователя в каждом сообщении, посланном в канал. Таким способом вы можете вести беседу с кем-либо в переполненном канале.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>unFollow</guimenuitem
></term>
<listitem>
<para
><action
>Больше не следовать за пользователем.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Whois</guimenuitem
></term>
<listitem>
<para
><action
>Отправить &CTCP;-запрос пользователю, чтобы узнать о нем некоторую информацию: имя узла, с которого он подключен, имя используемого им сервера и т. д.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Ping</guimenuitem
></term>
<listitem>
<para
><action
>Отправить &CTCP;-запрос пользователю, чтобы узнать какова задержка при общении с ним.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Version</guimenuitem
></term>
<listitem>
<para
><action
>Отправить &CTCP;-запрос пользователю, чтобы узнать, каким &irc;-клиентом он пользуется.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Abuse</guimenuitem
></term>
<listitem>
<para
><action
>Подшутить над пользователем.</action
></para>
</listitem>
</varlistentry>

</variablelist>

<para
>Следующие команды доступны, только если вы являетесь оператором канала:</para>

<variablelist>
<varlistentry>
<term
><guimenuitem
>Kick</guimenuitem
></term>
<listitem>
<para
><action
>Удалить пользователя с канала.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Ban</guimenuitem
></term>
<listitem>
<para
><action
>Запретить пользователю подключаться к этому каналу.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>unBan</guimenuitem
></term>
<listitem>
<para
><action
>Снять запрет на подключение к этому каналу.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Op</guimenuitem
></term>
<listitem>
<para
><action
>Дать привилегии оператора канала.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>DeOp</guimenuitem
></term>
<listitem>
<para
><action
>Снять привилегии оператора канала.</action
></para>
</listitem>
</varlistentry>

</variablelist>

</sect2>
</sect1>

<sect1 id="autoconnecting">
<title
>Автосоединение</title>
<para
>Если вы при каждом использовании &ksirc; подключаетесь к нескольким серверам и/или каналам, можете настроить &ksirc; автоматически подключаться к ним: в окне <guilabel
> Управление сервером</guilabel
>, выберите <menuchoice
> <guimenu
>Настройки</guimenu
><guimenuitem
>НастроитьKSirc...</guimenuitem
></menuchoice
>, и появится диалог, выберите страницу <guilabel
>Автосоединение</guilabel
>. Для добавление канала с сервера, заполните текстовые поля <guilabel
>Сервер</guilabel
> и <guilabel
>Канал</guilabel
>, затем нажмите кнопку <guibutton
>Новый</guibutton
>. Для добавление другого канала этого-же сервера, выберите сервер в дереве, введите имя канала в поле <guilabel
>Канал</guilabel
> и нажмите кнопку <guibutton
> Добавить</guibutton
>. Вы можете повторить этот процесс несколько раз если хотите добавить несколько серверов и каналов для подключения к ним при запуске &ksirc;.</para>
</sect1>

</chapter>

<chapter id="ksirc-configuration">
<title
>Настройка &ksirc;</title>

<sect1 id="config-intro">
<title
>Введение в настройку</title>
<para
>Окно настройки &ksirc; можно открыть, выбрав <menuchoice
><guimenu
>Настройка</guimenu
><guimenuitem
>Настроить &ksirc;...</guimenuitem
></menuchoice
> в окне <guilabel
>Управление сервером</guilabel
>. </para>
</sect1>

<sect1 id="general-config">
<title
>Раздел <guilabel
>Общие</guilabel
></title>

<sect2 id="windowmode">
<title
><guilabel
>Режим окон</guilabel
></title>
<para>
<variablelist>

<varlistentry>
<term
><guilabel
>Отдельные окна (старый вариант)</guilabel
></term>
<listitem
><para
>Открывать для каждого канала и разговора <command
>/query</command
> отдельное окно.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Многооконный режим с вкладками (XChat)</guilabel
></term>
<listitem
><para
>Причиной использования в &ksirc; многооконного интерфейса в стиле <application
>XChat</application
>, где каждый канал или окно <command
>/query</command
> расположены во вкладках основного окна &ksirc;. Каждая вкладка может быть сделана активной щелчком на ней мышкой, вы можете переключать вкладки используя <keycombo
>&Alt;<keysym
>Стрелка влево</keysym
></keycombo
> и <keycombo
>&Alt;<keysym
>Стрелка вправо</keysym
></keycombo
>.</para>
</listitem>
</varlistentry>

</variablelist>

</para>
</sect2>

<sect2 id="misc-general-config">
<title
><guilabel
>Дополнительно</guilabel
></title>
<para>

<variablelist>

<varlistentry>
<term
><guilabel
>Автоматическое создание окон</guilabel
></term
> <listitem
><para
>Если этот флажок установлен, &ksirc; будет автоматически создавать новые окна для каждого пользователя, отправившего вам сообщение командой <command
>/msg</command
>. Если он снят, такие сообщения будут отображаться в текущем окне, а для создания отдельного окна вы можете выполнить команду <command
>/query <replaceable
>имя_пользователя</replaceable
></command
>.</para
></listitem>
</varlistentry>


<varlistentry id="nick-completion">
<term
><guilabel
>Завершение ников</guilabel
></term
> <listitem
><para
>Если этот флажок установлен, автоматическое завершение псевдонимов (ников) будет включено. Завершение ников работает так: <orderedlist>

<listitem
><para
>Вы вводите первые буквы псевдонима.</para
></listitem>

<listitem
><para
>Нажимаете <keysym
>TAB</keysym
>. Введенный текст будет дополняться до псевдонима, при необходимости регистр будет автоматически изменен. Пример: <userinput
>phi&lt;TAB&gt;</userinput
> может быть дополнен до <computeroutput
>PhilRod</computeroutput
>, если на канале есть пользователь с псевдонимом <quote
>PhilRod</quote
>.</para
></listitem>

<listitem
><para
>Если на канале присутствуют несколько пользователей, которым подходит введенный текст, подставляется первый совпавший псевдоним. По нажатию <keysym
>TAB</keysym
> еще раз, будет подставлен следующий подходящий псевдоним. Например, если на канале есть пользователи <quote
>PhilA</quote
> и <quote
>PhilRod</quote
>, а вы ввели <userinput
>phi&lt;TAB&gt;</userinput
>, текст будет дополнен до <computeroutput
>PhilA</computeroutput
>, а если вы нажмете <keysym
>TAB</keysym
> снова, будет подставлен псевдоним <computeroutput
>PhilRod</computeroutput
>.</para>
</listitem>

</orderedlist>
</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Показывать тему в заголовке</guilabel
></term>
<listitem
><para
><action
>Отображать тему разговоров на текущем канале в строке заголовка окна</action
>. Если этот флажок снят, тема будет показана только внутри окна.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Вставлять время</guilabel
></term
> <listitem
><para
>Если этот флажок установлен, <action
>каждая реплика будет предваряться меткой времени</action
> в формате [ЧЧ:ММ:СС].</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Сигнал при уведомлении</guilabel
></term>
<listitem
><para
>Если этот флажок установлен и пользователь из вашего списка <command
>/notify</command
> подключится к &irc;-серверу, программа будет воспроизводить звуковой сигнал.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Список выбора цветов</guilabel
></term>
<listitem
><para
>Если этот флажок установлен и вы нажмете <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
>, будет открываться окно выбора цвета текста для ваших сообщений. Если флажок снят, коды цветов нужно вводить вручную. См. также <xref linkend="sectcolors"/>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Автоматический вход на канал после отключения</guilabel
></term>
<listitem
><para
><action
>Автоматически подключаться к каналу после внезапного отключения.</action
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Длина хронологии</guilabel
></term>
<listitem
><para
>Сколько строк разговоров в каждом окне хранить для прокрутки.</para
></listitem>
</varlistentry>

</variablelist>
</para>
</sect2>

<sect2 id="wallpaper-config">
<title
>Параметры <guilabel
>Обоев</guilabel
></title>
<para
>В группе параметров <guilabel
>Обои</guilabel
> вы можете изменить фоновое изображение окон &ksirc;. Вы можете ввести имя файла в поле вручную или просмотреть файлы, нажав на кнопку справа. Можно использовать файлы форматов &GIF;, <acronym
>JPEG</acronym
> или <acronym
>PNG</acronym
>. В правой части окна доступен предварительный просмотр выбранного изображения.</para>
</sect2
> 
</sect1>

<sect1 id="startup-tab">
<title
>Раздел <guilabel
>Запуск</guilabel
></title>

<para
>Здесь вы можете настроить запуск &ksirc;. </para>

<sect2 id="name-settings">
<title
><guilabel
>Идентификация</guilabel
></title>

<para>

<variablelist>

<varlistentry>
<term
><guilabel
>Ник</guilabel
></term>
<listitem
><para
>Ваш псевдоним в &irc;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Альтернативный ник</guilabel
></term>
<listitem
><para
>Псевдоним, который будет использоваться, если указанный выше уже занят другим пользователем.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Реальное имя</guilabel
></term>
<listitem
><para
>Ваше настоящее имя, которое будет видно другим пользователям, если они выполнят команду <command
>/whois</command
> для вашего псевдонима.</para
></listitem>
</varlistentry>

</variablelist>
</para>
</sect2>

<sect2 id="notify-list">
<title
><guilabel
>Список уведомлений</guilabel
></title>

<para
>Здесь вы можете указать пользователей, которых нужно добавить в список <command
>/notify</command
>. Если кто-нибудь из них подключится к &irc;-серверу вашей сети, вы получите уведомление об этом.</para>
</sect2>

</sect1>

<sect1 id="colors-tab">
<title
>Вкладка <guilabel
>Цвета</guilabel
></title>
<para
>Здесь вы можете определить цветовые настройки &ksirc;. </para>

<sect2 id="chat-colors">
<title
><guilabel
>Цвета чата</guilabel
></title>
<para
>Укажите цвет каждого типа текста. Нажав кнопку с примером цвета справа от текстовой метки, вы откроете окно выбора цвета, где можно выбрать подходящий цвет. </para>
</sect2>

<sect2 id="nick-colors">
<title
><guilabel
>Цвет ников</guilabel
></title>
<para
><guilabel
>Текст</guilabel
> и <guilabel
>Фон</guilabel
> задают цвета для списка пользователей в окнах каналов. <guilabel
>Цвет ваших собственных сообщений</guilabel
> задает цвет для сообщений, которые содержат ваш псевдоним, то есть, вероятнее всего, адресуются вам.</para>
</sect2>

<sect2 id="color-codes">
<title
><guilabel
>Коды цветов</guilabel
></title>
<para
>Здесь вы можете решить, нужно ли &ksirc; использовать собственные коды цветов (см. <xref linkend="sectcolors"/>) и можно ли использовать коды цветов &mirc;.</para>
</sect2>

</sect1>

</chapter>


<chapter id="sectcolors">
<title
>Цвета &ksirc;</title>

<para
>&ksirc; следует цветовой схеме, используемой в &mirc;, но вносит в нее некоторые изменения для удобства пользователей.</para>

<screen
>&lt;fg&gt; == текст
&lt;bg&gt; == фон
&lsqb;&rsqb; == дополнительно
</screen>

<sect1 id="mirccompatibility">
<title
>Совместимость с &mirc;</title>

<para
>Формат:</para>
<itemizedlist>
<listitem>
<para
><userinput
>0x03&lt;fg&gt;&lsqb;,&lt;bg&gt;&rsqb;</userinput
> задает цвета текста и фона</para>
</listitem>
<listitem>
<para
><userinput
>0x03</userinput
> возвращает параметры по умолчанию для <emphasis
>текущей</emphasis
> строки</para>
</listitem>
</itemizedlist>
</sect1>

<sect1 id="ksircnative">
<title
>Собственные цвета &ksirc;</title>

<para
>Формат:</para>

<itemizedlist>
<listitem>
<para
><userinput
>&tilde;&lt;fg&gt;&lsqb;,&lt;bg&gt;&rsqb;</userinput
> задает цвета текста и фона</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;c</userinput
> возвращает параметры по умолчанию</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;b</userinput
> задает использование полужирного шрифта</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;u</userinput
> задает использование подчеркивания</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;i</userinput
> задает использование курсива</para>
</listitem>
<listitem>
<para
><userinput
>&tilde;r</userinput
> задает использование обратных цветов</para>
</listitem>
</itemizedlist>

<para
>Почему было сделано изменение с 0x03 (<keycombo action="simul"
>&Ctrl;<keycap
>C</keycap
></keycombo
>) на &tilde;? Мне кажется, что значение 0x03 сложнее использовать в сценариях, к тому же, не все C-функции могут обрабатывать его корректно. <userinput
>&tilde;<replaceable
>буква</replaceable
></userinput
> позволяет создавать дополнительные команды, не меняя функциональность, привычную пользователям &mirc;.</para>

</sect1>

<sect1 id="colornumbers">
<title
>Номера цветов</title>

<orderedlist>
<listitem>
<para
>белый</para>
</listitem>
<listitem>
<para
>черный</para>
</listitem>
<listitem>
<para
>синий</para>
</listitem>
<listitem>
<para
>зеленый</para>
</listitem>
<listitem>
<para
>красный</para>
</listitem>
<listitem>
<para
>коричневый</para>
</listitem>
<listitem>
<para
>фиолетовый</para>
</listitem>
<listitem>
<para
>оранжевый</para>
</listitem>
<listitem>
<para
>желтый</para>
</listitem>
<listitem>
<para
>светло-зеленый</para>
</listitem>
<listitem>
<para
>голубой</para>
</listitem>
<listitem>
<para
>светло-голубой</para>
</listitem>
<listitem>
<para
>светло-синий</para>
</listitem>
<listitem>
<para
>розовый</para>
</listitem>
<listitem>
<para
>серый</para>
</listitem>
<listitem>
<para
>светло-серый</para>
</listitem>
</orderedlist>
</sect1>

<sect1 id="sendingboldunderlinereverseandcolor">
<title
>Изменение вида текста: полужирный шрифт, подчеркивания, обращения цвета и прочее</title>

<para
>Чтобы вставлять коды цветов в текст, можно использовать следующие комбинации:</para>

<itemizedlist>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>B</keycap
></keycombo
> &mdash; полужирный шрифт</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
> &mdash;подчеркивание</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
> &mdash; обращение цветов</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> &mdash; расцвеченный текст</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>O</keycap
></keycombo
> &mdash; обычный текст</para>
</listitem>
</itemizedlist>

</sect1>

<sect1 id="examplessetcolors">
<title
>Примеры</title>

<para
>Чтобы подчеркнуть одно слово в предложении:</para>

<procedure>
<step>
<para
>нажмите <keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
>;</para>
</step>
<step>
<para
>введите слово;</para>
</step>
<step>
<para
>нажмите <keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
> еще раз.</para>
</step>
</procedure>

<para
>Будет подчёркнут только текст, находящийся между двумя управляющими кодами. Этот же способ можно использовать и со всеми остальными кодами.</para>

<para
>Поведение <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> немного отличается от остальных, так как вам нужно ещё указать номер цвета. Чтобы выделить цветом одно слово в предложении:</para>

<procedure>
<step>
<para
>нажмите <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
>;</para>
</step>
<step>
<para
>введите число между 0 и 15;</para>
</step>
<step>
<para
>введите слово;</para>
</step>
<step>
<para
>нажмите <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> ещё раз.</para>
</step>
</procedure>

<para
>Если вам также нужно изменить фон текста, нужно ввести два числа через заптую. Первое число задаёт цвет текста, а второе &mdash; цвет фона. Числа могут быть в промежутке от 0 до 15, их список приведен выше.</para>

<para
>Вы можете использовать несколько последовательно вложенных друг в друга кодов. Например, вы можете выделить слово полужирным шрифтом, подчёркиванием и цветом.</para>

</sect1>
</chapter>

<chapter id="filters">
<title
>Фильтры</title>

<sect1 id="filterrulesandhowtomakethem">
<title
>Правила фильтрации и работа с ними</title>

<para
>Если вы не совсем понимаете, о чём идёт речь, потерпите немного. Я собираюсь добавить в программу удобный модуль создания фильтров, в котором всё можно делать нажатиями на кнопки. Однако это займёт некоторое время.</para>

<para
>Фильтр пытается найти <quote
>соответствующую</quote
> ему строку, а затем выполнить подстановку выражения <quote
>От</quote
> выражением <quote
>К</quote
>. Всё это (основной шаблон и выражения для подстановки) &mdash; регулярные выражения <application
>Perl</application
>. Правила применяются в том порядке, в котором они перечислены в списке. Сначала проверяется первое правило, затем второе и т. д. Все строки интерпретируются так:</para>

<para
><varname
>$<replaceable
>имя</replaceable
></varname
> заменяется значением переменной окружения с именем <varname
><replaceable
>имя</replaceable
></varname
>. Это делается сразу после добавления правила, и более значение не меняется. Так что, возможно, это не так уж и важно.</para>

<para
><varname
>$$<replaceable
>имя</replaceable
></varname
> заменяется значением переменной <acronym
>Perl</acronym
> с именем <varname
><replaceable
>имя</replaceable
></varname
> во время проверки правила. Это могут быть подстроки <varname
>$1</varname
>, <varname
>$2</varname
> в замене или обычные переменные <application
>sirc</application
>, например, <varname
>$nick</varname
>, <varname
>$channel</varname
> и т. д.</para>

<para
>последовательность <varname
>&tilde;<replaceable
>имя</replaceable
>&tilde;</varname
>, встречающаяся <emphasis
>только раз в начале</emphasis
> строки, отправит эту строку в окно <replaceable
>имя</replaceable
>. Если окна с таким именем нет, строка будет отправлена в последнее активное окно. Есть несколько особых окон, чьи имена начинаются на <literal
>!</literal
>:</para>

<para
><variablelist>
<varlistentry>
<term
><varname
>!default</varname
></term>
<listitem>
<para
>Текущее окно. Всегда существует.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><varname
>!all</varname
></term>
<listitem>
<para
>Все окна. Сообщение может появляться не во всех окнах. Например, в окнах каналов не будут отображаться команды <command
>/part</command
> или <command
>/quit</command
>, если пользователь не присутствует на канале.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><varname
>!discard</varname
></term>
<listitem>
<para
>Удалить текст.</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para
>Всё остальное соответствует синтаксису обычных регулярных выражений <acronym
>Perl</acronym
>. Умению работать с <command
>perlre</command
> можно научиться и с помощью man-страницы, но базовые навыки работы с регулярными выражениями всё равно необходимы.</para>

</sect1>

<sect1 id="examplesfilters">
<title
>Примеры:</title>

<orderedlist
><listitem>
<para
>Изменить во всех сообщениях слова boren на BoreN.</para>

<screen
>Совпадение: .*
От: boren
К: BoreN</screen>

<para
>Это довольно просто: мы проверяем все строки и заменяем в них все вхождения подстроки boren на BoreN.</para>

</listitem>
<listitem>
<para
>Вы можете все сообщения, содержащие boren, отправлять в окно <quote
>boren</quote
>.</para>

<screen
>Совпадение: boren
От: &circ;
К: &tilde;boren&tilde;</screen>

<para
>Если найдена строка, содержащая подстроку <quote
>boren</quote
>, её начало (&circ;) заменяется на последовательность &tilde;boren&tilde;.</para>

</listitem>
<listitem>

<para
>Хотя предыдущий пример работоспособен, если в начале строки уже была последовательность <literal
>&tilde;окно&tilde;</literal
>, у вас получится <literal
>&tilde;boren&tilde;&tilde;somewindow&tilde;...</literal
>. Поэтому сделаем так:</para>

<screen
>Совпадение: boren
От: ^(?:&tilde;\S+&tilde;)
К: &tilde;boren&tilde;</screen>

<para
>Это уже немного сложнее. Значение поля <guilabel
>От</guilabel
> расшировывается так: искать совпадения 0 или более раз с выражением <literal
>&tilde;\S+&tilde;</literal
>. Само это выражение значит 1 тильду, следующие за ней несколько непробельных символов и еще одну тильду. Если хотите быть уверенными на все сто процентов, можете написать <literal
>(*:&tilde;\S+&tilde;)</literal
>, это значит: искать совпадение с выражением <literal
>&tilde;\S+&tilde;</literal
> любое число раз.</para>

</listitem>

<listitem>
<para
>Некоторые сообщения серверов очень длинные и поэтому очень раздражают. Вот пример сообщения от сервера сети dalnet:</para>

<screen
>*** Notice -- Received KILL message for
BOBO!ANDY@line82-basel.datacomm.ch from NickServ
Path: empire.ny.us.dal.net[209.51.168.14]!trapdoor.ca.us.dal.net
[206.86.127.252]!caris.ca.us.dal.net[208.1.222.221]
!services.dal.net[2008.1.222.222]!services.dal.net
(NickServ Enforcement)</screen>

<para
>Если у вас стоит режим <literal
>+s</literal
>, вы будете получать их буквально пачками. Если вам это не нравится, вы можете создать три правила, которые будут последовательно выполняться. Можно использовать и меньшее число правил, но этот пример, по-моему, проще для понимания того, как разбираются многострочные сообщения. Прежде всего удалим строку, начинающуюся с <literal
>Path</literal
>:</para>

<screen
>Совпадение: ^\*\*\*.* KILL message for.*
От:  Path: \S+
К: .</screen>


<para
>Фильтр будет искать сообщения, начинающиеся с <literal
>***</literal
>, причем в шаблоне символ <literal
>*</literal
> нужно экранировать обратной наклонной чертой <literal
>\</literal
>, так как звездочки значат повторение 0 или более раз. <literal
>.*</literal
> значит <quote
>любая подстрока до последовательности <literal
> KILL message for</literal
></quote
>. Так мы можем не вводить <literal
>-- Received...</literal
> и все остальное. <literal
>.*</literal
> в конце значит <quote
>все, что угодно до конца строки</quote
>. Может, эта часть шаблона и не нужна.</para>

<para
>В следующем поле мы заменяем " Path: " и все непробельные символы значением поля <guilabel
>К</guilabel
>. А это <literal
>"."</literal
>, то есть все выражение заменяется на единственную точку.</para>

<para
>Теперь выражение будет выглядеть так:</para>

<screen
>*** Notice -- Received KILL message for BOBO!ANDY@line82-basel.datacomm.ch
from NickServ. (NickServ Enforcement)</screen>

<para
>Видите <literal
>"."</literal
> после <literal
>NickServ</literal
>?</para>
</listitem>

<listitem>
<para
>Хорошо, теперь уже лучше. Но такие сообщения на самом деле не очень важны, поэтому давайте мы их просто удалим, то есть направим в окно <literal
>!discard</literal
>.</para>

<screen
>Совпадение: ^\*\*\*.*KILL message.*\(NickServ Enforcement\)
От: ^(?:&tilde;\S+&tilde;)
К:  &tilde;!discard&tilde;</screen>

<para
>Это правило ищет сообщение, содержащее KILL, и убеждается в том, что оно получено от NickServ. В регулярном выражении используются <literal
>\(</literal
> and <literal
>\)</literal
>, поэтому нам пришлось их экранировать. Это очень похоже на то, что мы делали в примерах выше.</para>

</listitem>
<listitem>
<para
>Теперь мы не будем получать сообщения от nickserv, но читать сообщения от сервера мельком все еще сложновато. Попробуем сделать так:</para>

<screen
>*** [KILL] <replaceable
>КТО</replaceable
>; killed <replaceable
>КОГО</replaceable
>; (<replaceable
>ПРИЧИНА</replaceable
>)</screen>

<screen
>Совпадение: \*\*\*.*KILL message
От: \*\*\*.*for (.*?) from (.*?)\. \((.*?)\).*
К: *** [KILL] $$2 killed $$1 ($$3)
</screen>

<para
>Итак, теперь ищутся строки, содержащие <literal
>***<replaceable
>что-то</replaceable
> KILL message</literal
>. Мы не можем использовать <literal
>&circ;</literal
>, так как мы могли уже использовать перенаправление в окно: <literal
>&tilde;&lt;окно&gt;&tilde;</literal
>.</para>

<para
>Правила получаются все интереснее. Последовательность <literal
>"for (.*?) "</literal
> значит, что мы ищем "for" с последующим текстом. <literal
>.*?</literal
> значит, что нам подходит все, что угодно, кроме символа новой строки. Правило останавливается, когда найдено первое условие завершения, но не последнее. Другими словами, мы принимаем все, что угодно, пока не встретим пробел. Скобки <literal
>()</literal
> значат <quote
>сохранить содержимое</quote
>. В каждых скобках сохраняются совпавшие данные, которые затем можно использовать как переменные <literal
>$&num;</literal
>, где <literal
>&num;</literal
> начинается с 1 и значит первое сохраненное совпадение. В этом случае <varname
>$1</varname
> будет содержать псевдоним того, кто был удален из сети. <varname
>$2</varname
> будет содержать псевдоним администратора, удалившего пользователя из сети. В скобках также указана причина удаления. Здесь <literal
>(</literal
> и <literal
>\(</literal
> могут немного смутить вас. Помните, что <literal
>\(</literal
> означает просто символ <literal
>(</literal
>.</para>

</listitem>
<listitem>
<para
>Раскрасьте свою жизнь</para>

<para
>Хорошо, теперь добавим немного цвета в &ksirc;. О цветах вообще можно подробнее узнать в <link linkend="sectcolors"
>соответствующем разделе</link
>, сейчас же мы сделаем так, чтобы все псевдонимы в последовательности <literal
>&lt;НИК&gt;</literal
> подсвечивались на каждой строке: </para>

<screen
>Совпадение: ^(?:&tilde;\S+&tilde;)&lt;\S+&gt;
От: &lt;(\S+)&gt;
К: &lt;&tilde;4$$1&tilde;c&gt;</screen>

<para
>Мы берем псевдоним и добавляем цвет &num;4 между символами <literal
>&lt;&gt;</literal
>. <literal
>&tilde;c</literal
> возвращает настройки цвета по умолчанию.</para>

</listitem>
</orderedlist>

</sect1>
</chapter>

<chapter id="keys">
<title
>Клавиши</title>

<para
>Вот список привязок клавиш для &ksirc;.</para>

<table>
<title
>Комбинации клавиш</title>
<tgroup cols="2">
<thead>
<row>
<entry
>Комбинация</entry>
<entry
>Действие</entry>
</row>
</thead>

<tbody>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>N</keycap
></keycombo
></entry>
<entry
>Открыть новое окно канала или разговора.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
></entry>
<entry
>Завершить работу с &ksirc;.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>Enter</keycap
></keycombo
></entry>
<entry
>Начать сообщение последнему пользователю, отправившему вам сообщение.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;&Shift;<keycap
>Enter</keycap
></keycombo
></entry>
<entry
>Начать сообщение предпоследнему пользователю, отправившему вам сообщение.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
></entry>
<entry
>Раскрасить текст в указанный цвет.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
></entry>
<entry
>Начать или завершить подчеркивание текста. Текст после первого и до второго нажатия этой комбинации будет подчеркнут.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>I</keycap
></keycombo
></entry>
<entry
>Начать или завершить выделение текста курсивом. Текст после первого и до второго нажатия этой комбинации будет выделен курсивом.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>B</keycap
> </keycombo
></entry>
<entry
>Начать или завершить выделение текста полужирным шрифтом. Текст после первого и до второго нажатия этой комбинации будет выделен полужирным шрифтом.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
></entry>
<entry
>Начать или завершить выделение текста обратными цветами. Текст после первого и до второго нажатия этой комбинации будет выделен обратными цветами.</entry>
</row>

<row>
<entry
><keycap
>TAB</keycap
></entry>
<entry
>Попытаться дополнить последовательность символов до полного псевдонима какого-либо пользователя на текущем канале. Возможно, вы знакомы с этой функцией по работе в терминале, хотя здесь она ведет себя немного по-другому. См. <xref linkend="nick-completion"/>.</entry>
</row>

</tbody>
</tgroup>
</table>

</chapter>

<!-- annma: chapter title not good-->
<chapter id="tips">
<title
>Советы</title>

<sect1 id="kde-channels">
<title
>Вход на каналы &kde;</title>

<para
>Каналы &irc; &kde; работают в сети Freenode. На вкладке <guilabel
>Сервер и канал</guilabel
> или <guilabel
>Автоподключение</guilabel
> в диалоге <guilabel
>Настройки KSirc</guilabel
> можно добавить эти каналы. Сеть - это <userinput
><systemitem class="domainname"
>irc.freenode.org</systemitem
></userinput
>, порт -<userinput
>6667</userinput
>. Ниже приведен список популярных каналов &kde; и их целей. Выберите интересующие вас каналы. </para>

<para
>Советы о том, как задавать вопросы на каналах &kde;, приведены в <ulink url="http://wiki.kde.org/tiki-index.php?page=Asking+Questions"
>wiki сообщества &kde;</ulink
>. </para>

<table>
  <title
>Каналы KDE IRC</title>
  <tgroup cols="2">
    <thead>
      <row>
	<entry
>Канал</entry>
	<entry
>Цель</entry>
      </row>
    </thead>
<tbody>
 <row>
   <entry
>#kde</entry>
   <entry
>Помощь пользователям</entry>
 </row>
 <row>
   <entry
>#kde-devel</entry>
   <entry
>Разработчики &kde;</entry>
 </row>
 <row>
   <entry
>#kdevelop</entry>
   <entry
>Вопросы по KDevelop</entry>
 </row>
 <row>
   <entry
>#kontact</entry>
   <entry
>Вопросы по <application
>Kontact</application
> (&kmail;, &korganizer;, &knotes; и другие)</entry>
 </row>
 <row>
   <entry
>#amarok</entry>
   <entry
>Сообщество <application
>amaroK</application
>, вопросы, разработка</entry>
 </row>
 <row>
   <entry
>#debian-kde</entry>
   <entry
>Вопросы по KDE в debian</entry>
 </row>
 <row>
   <entry
>#kde-freebsd</entry>
   <entry
>Вопросы по KDE в FreeBSD</entry>
 </row>
</tbody>
</tgroup>
</table>
</sect1>

<sect1 id="autoidentify">
<title
>Автоматическая идентификация</title>

<para
>Если вы хотите часто работать с &irc;, то ваш ник лучше зарегистрировать. Тогда он будет защищён, и пользоваться им сможете только вы сами. В сети DALnet после входа ник можно зарегистрировать командой <userinput
><command
>/msg</command
> nickserv register <replaceable
>PASSWORD</replaceable
></userinput
>, где <replaceable
>PASSWORD</replaceable
> - пароль. Сервер подтвердит регистрацию ника. </para>

<para
>После этого при входе в сеть DALnet всякий раз нужно будет идентифицироваться. Введите команду <userinput
><command
>/msg nickserv identify <replaceable
>PASSWORD</replaceable
></command
></userinput
>. </para>

<para
>&ksirc; может выполнять автоматическую идентификацию при входе на канал. Для этого добавьте следующий сценарий Perl в свой домашний каталог: </para>

<para
>Этот сценарий будет работать для Freenode. Сохраните его под именем <filename
>.sircrc.pl</filename
> в своём домашнем каталоге. При запуске &ksirc;, этот сценарий позволит выполнить автоматическую идентификацию. </para>

<programlisting
>sub hook_nick_notice {
my $n = shift;
my $m = shift;


if($who =~ /NickServ/){
if($m =~ /If this is your nickname/){
&amp;msg("nickserv", "identify <replaceable
>XXXXXX</replaceable
>");
}
}
}
&amp;addhook("notice", "nick_notice");   # join on the "end of MOTD" numeric
</programlisting>
<para
>Замените <replaceable
>XXXXXX</replaceable
> своим паролем. </para>

<para
>Вышеприведённый сценарий будет работать не только на Freenode, где nickserv отправляет запрос "identify", но в других сетях, таких как Undernet, может потребоваться другой сценарий: </para>

<programlisting
>sub hook_connected {
if($server =~ /undernet.org$/){
        &amp;msg("X\@channels.undernet.org", "login <replaceable
>YOUR_NAME</replaceable
> <replaceable
>XXXX</replaceable
>");
                &amp;docommand("umode +x");
}
}
&amp;addhook("255", "connected");   # join on the "end of MOTD" numeric
</programlisting>

<para
>Вместо <replaceable
>YOUR_NAME</replaceable
> укажите свой ник, а вместо <replaceable
>XXXXXX</replaceable
> - пароль. </para>

<para
>Подробнее о программировании SIRC читайте здесь: <ulink url="http://www.iagora.com/~espel/sirc/PROGRAMMING"
>http://www.iagora.com/~espel/sirc/PROGRAMMING</ulink
> </para>
</sect1>
</chapter>
<!-- end annma -->

<chapter id="credits-and-license">
<title
>Авторские права и лицензирование</title>

<para
>Авторские права на программу &ksirc; принадлежат её разработчикам, 1997&ndash;2002.</para>

<para
>Авторское право на части документации 1997, &Andrew.Stanley-Jones;</para>

<para
>Документация обновлена для &kde; 3.0, &Philip.Rodrigues; &Philip.Rodrigues.mail;.</para>

<para
><xref linkend="tips"/> Автор: &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail;.</para>
<para
>Перевод на русский - Валя Ванеева <email
>fattie@altlinux.ru</email
></para
><para
>Обновление перевода - Олег Баталов<email
>olegbatalov@mail.ru</email
></para
>  
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Установка</title>

<sect1 id="getting-ksirc">
<title
>Как получить &ksirc;</title>
&install.intro.documentation; </sect1>


<sect1 id="compilation">
<title
>Компиляция и установка</title>
&install.compile.documentation; </sect1>
</appendix>

&documentation.index;

</book>

<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-indent-step: nil
End:
-->




