<?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 % Portuguese "INCLUDE"
> <!-- change language only here -->
]>
	
<book lang="&language;">

<bookinfo>
<title
>O Manual do &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
>José</firstname
><surname
>Pires</surname
><affiliation
><address
><email
>jncp@netcabo.pt</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
<date
>2004-02-06</date>
<releaseinfo
>1.3.9</releaseinfo>

<legalnotice
>&FDLNotice;</legalnotice>

<abstract>
<para
>Esta documentação descreve o &ksirc; 1.2.1, o cliente de &irc; do &kde;.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>KSirc</keyword>
<keyword
>irc</keyword>
<keyword
>Internet relay chat</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title
>Introdução</title>

<para
>O &ksirc; é o cliente de &irc; por omissão para o &kde;. Ele suporta a programação recorrendo a <acronym
>Perl</acronym
> e tem um conjunto de compatibilidades com o &mirc; para um uso geral.</para>

</chapter>

<chapter id="using-ksirc">
<title
>Utilizar o &ksirc;</title>

<sect1 id="irc-basics">
<title
>Se você nunca usou o &irc; antes...</title>

<para
>De forma simples, o &irc; é um protocolo de conversação, definido por normas oficiais da Internet e que é capaz de roubar muitas horas da sua vida. Para usar o  &irc;, você precisa de se ligar a um servidor e de se juntar a um canal (equivalente a uma sala de conversação).</para>

<para
>Para se ligar a um servidor, abra o &ksirc; e seleccione <menuchoice
><guimenu
>Ligações</guimenu
><guimenuitem
>Novo Servidor...</guimenuitem
></menuchoice
> ou carregue em <keycap
>F2</keycap
>. Na janela que aparece, seleccione um grupo na lista mais à esquerda e o servidor na lista do meio. O porto, mostrado à direita, será sempre o 6667. Será mostrada uma nova janela com as mensagens enviadas pelo servidor para o cliente. Quando estas mensagens acabarem de passar, você poderá seleccionar o seu canal. Para mostrar uma lista dos canais disponíveis, escreva <userinput
><command
>/list</command
></userinput
>. Para se ligar a um canal escreva: <userinput
><command
>/join</command
> <replaceable
>#nome_canal</replaceable
></userinput
>. Para sair de um canal, basta escrever <userinput
><command
>/part</command
></userinput
>.</para>

<para
>Isto é o básico; para saber alguma informação mais detalhada, continue a ler...</para>

</sect1>

<sect1 id="ksirc-basics">
<title
>Bases do &ksirc;</title>

<sect2 id="servers">
<title
>Servidores</title>

<para
>O &ksirc; permite-lhe ligar-se a um conjunto arbitrário de servidores. Para se ligar a um servidor, seleccione a opção <menuchoice
><guimenu
>Ligações</guimenu
><guimenuitem
>Novo Servidor</guimenuitem
></menuchoice
> ou carregue em <keycap
>F2</keycap
>.A janela <guilabel
>Ligar ao Servidor</guilabel
> aparecerá, onde você poderá seleccionar um <guilabel
>Grupo</guilabel
>, depois um <guilabel
>Servidor</guilabel
> e também um <guilabel
>Porto</guilabel
> onde se ligar.</para>

<para
>Basta depois carregar em <guilabel
>Ligar</guilabel
> quando terminar, para que apareça uma nova janela correspondente ao servidor. Você poderá manter o registo dos servidores a que se encontra ligado na janela do &ksirc; <guilabel
>Controlo do Servidor</guilabel
>.</para>

<para
>Você poderá obter uma ajuda para a maioria dos comandos de  &irc; se escrever <userinput
>/help <replaceable
>nome_comando</replaceable
></userinput
>. Se escrever somente <userinput
>/help</userinput
> irá dar uma lista dos comandos disponíveis.</para>
</sect2>

<sect2 id="channels">
<title
>Canais</title>

<para
>Você poder-se-á ligar aos canais com o comando normal do &irc; <userinput
><command
>/join</command
> <replaceable
>#nome_canal</replaceable
> </userinput
>, se seleccionar a opção <menuchoice
><guimenu
>Ligações</guimenu
><guimenuitem
>Entrar no Canal...</guimenuitem
></menuchoice
> ou se carregar em <keycap
>F3</keycap
>.</para>

<para
>Os canais a que se encontra ligado são mostrados na janela <guilabel
>Controlo do Servidor</guilabel
> por baixo do servidor a que pertencem. Para abandonar um canal, você poderá invocar o comando <userinput
>/part</userinput
>, seleccionar a opção <menuchoice
><guimenu
>Canal</guimenu
><guimenuitem
>Fechar</guimenuitem
> </menuchoice
> ou carregar em <keycombo action="simul"
>&Ctrl;<keycap
>W</keycap
></keycombo
>.</para>

</sect2>

<sect2 id="channel-options">
<title
>Opções por Canal</title>

<para
>O menu <guimenu
>Canal</guimenu
>, disponível em qualquer janela de canais, contém algumas opções úteis:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
>&Ctrl;<keycap
>S</keycap
> </keycombo
></shortcut
> <guimenuitem
>Gravar num Registo...</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Grava o conteúdo de um canal num ficheiro.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice>
<guimenuitem
>Hora</guimenuitem>
</menuchoice
></term>
<listitem>
<para
><action
>Se estiver seleccionado, antecede tudo o que foi dito no canal com a data em que foi dito, no formato [HH:MM:SS]</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="seq"
>&Alt;<keycap
>C</keycap
> <keycap
>T</keycap
></keycombo
></shortcut
> <guimenuitem
>Tabela ASCII</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Mostra uma tabela com os caracteres ASCII</action
>, a partir da qual poderá escolher os caracteres que desejar.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="seq"
>&Alt;<keycap
>C</keycap
> <keycap
>P</keycap
></keycombo
></shortcut
> <guimenuitem
>Apitar ao Mudar</guimenuitem
> </menuchoice
></term>
<listitem>
<para
><action
>Se for seleccionada a opção, o &ksirc; emite um toque de cada vez que algo é dito num canal.</action
></para
></listitem>
</varlistentry>


</variablelist>

</sect2>

<sect2 id="user-options">
<title
>Opções do Utilizador</title>

<para
>Num canal, a lista de utilizadores é mostrada ao longo do lado direito. Se carregar com o botão direito no nome de um utilizador dessa lista, aparecer-lhe-á um menu de contexto com opções relativamente intuitivas:</para>

<variablelist>

<varlistentry>
<term
><guimenuitem
>Actualizar as Alcunhas</guimenuitem
></term>
<listitem>
<para
><action
>Envia uma mensagem para o servidor para pedir de novo a lista dos utilizadores no canal.</action
> Isto garante que a lista dos utilizadores está actualizada.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Seguir</guimenuitem
></term>
<listitem>
<para
><action
>Realça o nome do utilizador em todas as mensagens que eles enviam para o canal. Deste modo, você poderá seguir o tópico de conversação de uma dada pessoa num canal ocupado.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Não Seguir</guimenuitem
></term>
<listitem>
<para
><action
>Deixa de seguir o utilizador para os canais onde ele vai.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Quem é</guimenuitem
></term>
<listitem>
<para
><action
>Envia uma pesquisa de &CTCP; para saber quem é o utilizador, obtendo algumas informações sobre ele, como o nome da sua máquina e o servidor a que se encontra ligado.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Ping</guimenuitem
></term>
<listitem>
<para
><action
>Envia um pedido de 'ping' do &CTCP; para o utilizador, de modo a saber o seu tempo de eco.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Versão</guimenuitem
></term>
<listitem>
<para
><action
>Envia um pedido de versão por &CTCP; para o utilizador, de modo a saber que programa ele está a usar.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Abusar</guimenuitem
></term>
<listitem>
<para
><action
>Abusa do utilizador de uma de várias formas engraçadas.</action
></para>
</listitem>
</varlistentry>

</variablelist>

<para
>Os comandos que se seguem só estão disponíveis se você for um operador do canal:</para>

<variablelist>
<varlistentry>
<term
><guimenuitem
>Expulsar</guimenuitem
></term>
<listitem>
<para
><action
>Retira o utilizador do canal.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Banir</guimenuitem
></term>
<listitem>
<para
><action
>Impede o utilizador de se ligar ao canal.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Acolher</guimenuitem
></term>
<listitem>
<para
><action
>Retira a ordem de proibição do utilizador se poder ligar ao canal.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Op</guimenuitem
></term>
<listitem>
<para
><action
>Dá ao utilizador privilégios de operador.</action
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Deop</guimenuitem
></term>
<listitem>
<para
><action
>Retira os privilégios de operador do utilizador.</action
></para>
</listitem>
</varlistentry>

</variablelist>

</sect2>
</sect1>

<sect1 id="autoconnecting">
<title
>Ligação Automática</title>
<para
>Se você tiver um conjunto de servidores e/ou canais aos quais se liga sempre que usa o &ksirc;, então você poderá configurar o &ksirc; para se ligar automaticamente a eles: na janela de <guilabel
>Controlo do Servidor</guilabel
>, seleccione <menuchoice
><guimenu
>Configuração</guimenu
><guimenuitem
>Configurar o KSirc...</guimenuitem
></menuchoice
> e, na janela que aparece, seleccione a página de <guilabel
>Ligação Automática</guilabel
>. Para adicionar um canal a um servidor novo, preencha os campos <guilabel
>Servidor</guilabel
> e <guilabel
>Canal</guilabel
>, carregando depois no botão <guibutton
>Adicionar</guibutton
>. Para adicionar outro canal neste servidor, seleccione o nome do servidor na árvore, indique o nome do canal no campo <guilabel
>Canal</guilabel
> e carregue em <guibutton
>Actualizar/Adicionar</guibutton
>. Você poderá repetir este processo tantas vezes quantas desejar para adicionar vários servidores e canais para o &ksirc; se ligar a eles.</para>
</sect1>

</chapter>

<chapter id="ksirc-configuration">
<title
>Configuração do &ksirc;</title>

<sect1 id="config-intro">
<title
>Introdução à Configuração</title>
<para
>A janela de configuração do &ksirc; está disponível através da opção <menuchoice
><guimenu
>Opções</guimenu
><guimenuitem
>Preferências...</guimenuitem
></menuchoice
> na janela <guilabel
>Controlo do Servidor</guilabel
> do &ksirc;. </para>
</sect1>

<sect1 id="general-config">
<title
>A Página <guilabel
>Geral</guilabel
></title>

<sect2 id="windowmode">
<title
><guilabel
>Modo de Janelas</guilabel
></title>
<para>
<variablelist>

<varlistentry>
<term
><guilabel
>Modo SDI (antigo)</guilabel
></term>
<listitem
><para
>Faz com que o &ksirc; use o modo de interface de documentos únicos, no qual cada novo canal ou janela de <command
>/query</command
> terá a sua própria janela em separado.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Modo MDI paginado (XChat)</guilabel
></term>
<listitem
><para
>Faz com que o &ksirc; use o modo de interface para vários documentos, com o estilo do <application
>XChat</application
>, no qual cada novo canal ou janela de <command
>/query</command
> terá uma página respectiva na janela principal do &ksirc;. Cada página poderá ser puxada para a frente se carregar no seu separador respectivo, e você poderá mudar de página para página com o <keycombo
>&Alt;<keysym
>Esquerda</keysym
></keycombo
> e <keycombo
>&Alt;<keysym
>Direita</keysym
></keycombo
>.</para>
</listitem>
</varlistentry>

</variablelist>

</para>
</sect2>

<sect2 id="misc-general-config">
<title
>A Secção de Configuração <guilabel
>Diversos</guilabel
></title>
<para>

<variablelist>

<varlistentry>
<term
><guilabel
>Auto-criar a Janela</guilabel
></term
> <listitem
><para
>Se estiver seleccionada, o &ksirc; irá criar automaticamente uma nova janela para os utilizadores que enviarem um comando <command
>/msg</command
> para si. Se não estiver, todo o texto que for enviado para si com o <command
>/msg</command
> é mostrado na janela actual e você poderá usar o <command
>/query <replaceable
>utilizador</replaceable
></command
> para criar uma janela onde poderá conversar com esse utilizador.</para
></listitem>
</varlistentry>


<varlistentry id="nick-completion">
<term
><guilabel
>Completação de Alcunhas</guilabel
></term
> <listitem
><para
>Se estiver seleccionada a opção, activa a completação dos nomes dos utilizadores. A completação funciona da seguinte maneira: <orderedlist>

<listitem
><para
>Escreva as primeiras letras do nome do utilizador.</para
></listitem>

<listitem
><para
>Carregue em <keysym
>TAB</keysym
>. O texto que você escreveu será completado para corresponder ao nome do utilizador, mesmo que inclua mudanças de capitalização. Por exemplo, <userinput
>jo&lt;TAB&gt;</userinput
> fica igual a <computeroutput
>Jose</computeroutput
> se existir um utilizador chamado <quote
>Jose</quote
> no canal.</para
></listitem>

<listitem
><para
>Se mais do que um utilizador do canal corresponder ao texto que escreveu, será escolhido o primeiro nome da lista. Se carregar em <keysym
>TAB</keysym
> várias vezes, mostra o próximo utilizador da lista. Por exemplo, se existirem os utilizadores <quote
>ZeNuno</quote
> e <quote
>ZePires</quote
> num canal, e você escrever <userinput
>Ze&lt;TAB&gt;</userinput
>, o texto será completado primeiro com <computeroutput
>ZeNuno</computeroutput
> e se carregar de novo em <keysym
>TAB</keysym
>, irá mudar para <computeroutput
>ZePires</computeroutput
>.</para>
</listitem>

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

<varlistentry>
<term
><guilabel
>Mostrar o tópico no título</guilabel
></term>
<listitem
><para
><action
>Mostra o tópico do canal actual no título da janela.</action
> Se não estiver seleccionada a opção, o tópico só é mostrado dentro da janela.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Hora</guilabel
></term
> <listitem
><para
><action
>Antecipa tudo o que for dito no canal com a hora em que foi dito</action
>, no formato [HH:MM:SS].</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Apitar na Notificação</guilabel
></term>
<listitem
><para
>Se estiver seleccionada a opção, é tocada a campainha do sistema sempre que um utilizador na sua lista de <command
>/notify</command
> se ligar ao servidor de &irc; onde você se encontra.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Janela de Extracção de Cores</guilabel
></term>
<listitem
><para
>Se estiver seleccionada a opção, é apresentada uma janela onde você poderá seleccionar a cor com que o seu texto é apresentado quando carregar em <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
>. Caso contrário, você terá de escrever os códigos de cores manualmente. Veja também <xref linkend="sectcolors"/>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Auto-Juntar de Novo</guilabel
></term>
<listitem
><para
><action
>Volta a ligar-se aos canais automaticamente se se estiver desligado.</action
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Comprimento do Histórico</guilabel
></term>
<listitem
><para
>Guarda este número de linhas de conversação para cada janela, o que lhe permite subir na janela e ver o que já foi dito.</para
></listitem>
</varlistentry>

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

<sect2 id="wallpaper-config">
<title
>Configuração do <guilabel
>Papel de Parede</guilabel
></title>
<para
>Na secção do <guilabel
>Papel de Parede</guilabel
>, você poderá alterar a imagem que é colocada no fundo das suas janelas do &ksirc;. Você poderá indicar o nome do ficheiro a usar no campo de texto, ou escolher o ficheiro usando o botão à direita do mesmo campo de texto. Os ficheiros de imagens terão de estar no formato &GIF;, <acronym
>JPEG</acronym
> ou <acronym
>PNG</acronym
>. É mostrada uma antevisão da imagem à direita da janela.</para>
</sect2
> 
</sect1>

<sect1 id="startup-tab">
<title
>A Página <guilabel
>Arranque</guilabel
></title>

<para
>Aqui você poderá configurar as opções de arranque do &ksirc;. </para>

<sect2 id="name-settings">
<title
><guilabel
>Configuração do Nome</guilabel
></title>

<para>

<variablelist>

<varlistentry>
<term
><guilabel
>Alcunha</guilabel
></term>
<listitem
><para
>Indica o nome do seu utilizador de &irc;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Alcunha Alternativa</guilabel
></term>
<listitem
><para
>Indica o nome a usar se a sua escolha já estiver a ser usada por outro utilizador.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Nome Verdadeiro</guilabel
></term>
<listitem
><para
>O seu nome verdadeiro, tal como é devolvido por uma pesquisa <command
>/whois</command
> sobre o seu utilizador.</para
></listitem>
</varlistentry>

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

<sect2 id="notify-list">
<title
><guilabel
>Lista de Notificações</guilabel
></title>

<para
>Aqui você poderá indicar uma lista de utilizadores que você irá querer adicionar à sua lista <command
>/notify</command
> no arranque. Você será avisado quando algum destes utilizadores se ligar.</para>
</sect2>

</sect1>

<sect1 id="colors-tab">
<title
>A Página <guilabel
>Cores</guilabel
></title>
<para
>Aqui você poderá configurar a utilização das cores por parte do &ksirc;. </para>

<sect2 id="chat-colors">
<title
>Configuração das <guilabel
>Cores de Conversação</guilabel
></title>
<para
>Aqui você poderá definir as cores para cada um dos tipos de texto. Se carregar no botão colorido à direita da legenda de cada tipo de texto, irá aparecer uma janela de selecção de cores na qual poderá escolher a cor com que quer apresentar este tipo de texto. </para>
</sect2>

<sect2 id="nick-colors">
<title
><guilabel
>Cores das Alcunhas</guilabel
></title>
<para
>As opções <guilabel
>Texto:</guilabel
> e <guilabel
>Fundo:</guilabel
> definem as cores para o texto e o fundo dos nomes dos utilizadores nas janelas de conversação. A opção <guilabel
>Cor das mensagens que contêm a sua alcunha:</guilabel
> define a cor das mensagens que aparecem num canal que contenha o seu nome do utilizador.</para>
</sect2>

<sect2 id="color-codes">
<title
><guilabel
>Códigos de cores</guilabel
></title>
<para
>Aqui você poderá definir se o &ksirc; irá permitir os códigos de cores nativos (ver em <xref linkend="sectcolors"/>) e também se são permitidos os códigos de cores do &mirc;.</para>
</sect2>

</sect1>

</chapter>


<chapter id="sectcolors">
<title
>Cores do &ksirc;</title>

<para
>O &ksirc; segue o esquema de cores usado pelo &mirc;, bem como uma modificação para as pessoas mais aptas no uso doméstico.</para>

<screen
>&lt;fg&gt; == texto
&lt;bg&gt; == fundo
&lsqb;&rsqb; == opcional
</screen>

<sect1 id="mirccompatibility">
<title
>Compatibilidade com o &mirc;</title>

<para
>Formato:</para>
<itemizedlist>
<listitem>
<para
>O <userinput
>0x03&lt;fg&gt;&lsqb;,&lt;bg&gt;&rsqb;</userinput
> define a cor do texto e do fundo</para>
</listitem>
<listitem>
<para
>O <userinput
>0x03</userinput
> repõe nos valores predefinidos para <emphasis
>essa</emphasis
> linha</para>
</listitem>
</itemizedlist>
</sect1>

<sect1 id="ksircnative">
<title
>Nativo do &ksirc;</title>

<para
>Formato:</para>

<itemizedlist>
<listitem>
<para
>O <userinput
>&tilde;&lt;fg&gt;&lsqb;,&lt;bg&gt;&rsqb;</userinput
> define a cor do texto e de fundo</para>
</listitem>
<listitem>
<para
>O <userinput
>&tilde;c</userinput
> repõe nos valores predefinidos</para>
</listitem>
<listitem>
<para
>O <userinput
>&tilde;b</userinput
> põe o texto em negrito</para>
</listitem>
<listitem>
<para
>O <userinput
>&tilde;u</userinput
> põe o texto a sublinhado</para>
</listitem>
<listitem>
<para
>O <userinput
>&tilde;i</userinput
> põe o texto em itálico</para>
</listitem>
<listitem>
<para
>O <userinput
>&tilde;r</userinput
> põe o texto em modo invertido de cores</para>
</listitem>
</itemizedlist>

<para
>Porque é que se mudou o &ksirc; para usar o &tilde; em vez do 0x03 (<keycombo action="simul"
>&Ctrl;<keycap
>C</keycap
></keycombo
>)? Bem, é mais difícil de usar o 0x03 nos programas e nem todas as funções do C parecem gostar dele. O <userinput
>&tilde;<replaceable
>letra</replaceable
></userinput
> também permite mais comandos sem interferir nas alterações futuras do &mirc;.</para>

</sect1>

<sect1 id="colornumbers">
<title
>Número das Cores</title>

<orderedlist>
<listitem>
<para
>branco</para>
</listitem>
<listitem>
<para
>preto</para>
</listitem>
<listitem>
<para
>azul</para>
</listitem>
<listitem>
<para
>verde</para>
</listitem>
<listitem>
<para
>vermelho</para>
</listitem>
<listitem>
<para
>castanho</para>
</listitem>
<listitem>
<para
>roxo</para>
</listitem>
<listitem>
<para
>laranja</para>
</listitem>
<listitem>
<para
>amarelo</para>
</listitem>
<listitem>
<para
>verde claro</para>
</listitem>
<listitem>
<para
>azul-cião</para>
</listitem>
<listitem>
<para
>azul-cião claro</para>
</listitem>
<listitem>
<para
>azul claro</para>
</listitem>
<listitem>
<para
>cor de rosa</para>
</listitem>
<listitem>
<para
>cinzento</para>
</listitem>
<listitem>
<para
>cinzento claro</para>
</listitem>
</orderedlist>
</sect1>

<sect1 id="sendingboldunderlinereverseandcolor">
<title
>Enviar Negrito, Sublinhado, Invertido e Cores</title>

<para
>Você poderá usar as seguintes combinações de teclas para inserir os códigos de controlo no texto:</para>

<itemizedlist>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>B</keycap
></keycombo
> para o texto em negrito</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
> para o texto sublinhado</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
> para o texto invertido</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> para o texto colorido</para>
</listitem>
<listitem>
<para
><keycombo action="simul"
>&Ctrl;<keycap
>O</keycap
></keycombo
> para o texto normal</para>
</listitem>
</itemizedlist>

</sect1>

<sect1 id="examplessetcolors">
<title
>Exemplos</title>

<para
>Para sublinhar uma única palavra numa frase:</para>

<procedure>
<step>
<para
>Carregue em <keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
></para>
</step>
<step>
<para
>Escreva a palavra</para>
</step>
<step>
<para
>Carregue em <keycombo action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
> de novo</para>
</step>
</procedure>

<para
>Só o texto rodeado pelos códigos de início e de fim é que será afectado. Você poderá usar este método com todos os outros códigos de controlo.</para>

<para
>O código de controlo <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> é ligeiramente diferente porque lhe permite indicar um número de cor. Para colorir uma única palavra numa frase:</para>

<procedure>
<step>
<para
>Carregue em <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
></para>
</step>
<step>
<para
>Escreva um número entre 0 e 15</para>
</step>
<step>
<para
>Escreva a palavra</para>
</step>
<step>
<para
>Carregue em <keycombo action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
> de novo</para>
</step>
</procedure>

<para
>Se você quiser também alterar a cor de fundo de uma palavra, você teria de indicar dois números separados por uma vírgula em vez de apenas um número. O primeiro número é a cor do texto, enquanto o segundo é a cor de fundo. As cores vão de 0 a 15, e o índice encontra-se na secção anterior.</para>

<para
>Você poderá rodear o texto com vários códigos de controlo, por isso poderá ter por exemplo uma palavra a negrito, sublinhada e colorida.</para>

</sect1>
</chapter>

<chapter id="filters">
<title
>Filtros</title>

<sect1 id="filterrulesandhowtomakethem">
<title
>Regras de Filtragem e Como Criá-las</title>

<para
>Se você não conseguir perceber de todo, espere. O objectivo futuro será criar um bom <quote
>construtor de filtros</quote
> onde você poderá apenas carregar em botões para o conseguir. Até lá, ainda levará algum tempo.</para>

<para
>O filtro tenta encontrar o texto de <quote
>correspondência</quote
> e depois usar o <quote
>De</quote
> e o <quote
>Para</quote
> como uma substituição. A correspondência e as substituições são todas expressões regulares do <application
>Perl</application
>. As regras são avaliadas por ordem descendente. A regra de topo é avaliada primeiro, passando à segunda a contar de cima, &etc;. Todos os textos são avaliados como:</para>

<para
>O <varname
>$<replaceable
>nome</replaceable
></varname
> é expandido para a variável de ambiente <varname
><replaceable
>nome</replaceable
></varname
>. Isto é feito imediatamente quando você introduz a regra e não se irá alterar a partir daí. Por isso, a sua utilidade será limitada.</para>

<para
>O <varname
>$$<replaceable
>nome</replaceable
></varname
> é substituído pela variável de <acronym
>Perl</acronym
> <varname
>$<replaceable
>nome</replaceable
></varname
> durante a correspondência. Esta poderá ser composta por sub-sequências de texto como o <varname
>$1</varname
> ou <varname
>$2</varname
> na substituição, ou por variáveis normais disponíveis no <application
>ksirc</application
> (como a <varname
>$nick</varname
>, <varname
>$channel</varname
>, &etc;).</para>

<para
>O <varname
>&tilde;<replaceable
>nome</replaceable
>&tilde;</varname
> <emphasis
>prefixado uma e só uma vez</emphasis
> à linha irá enviar a linha de texto para a janela chamada <replaceable
>nome</replaceable
>. Se a janela não existir irá para a última janela que estava em primeiro plano. Existem várias janelas especiais, todas elas antecedidas de um único <literal
>!</literal
>:</para>

<para
><variablelist>
<varlistentry>
<term
><varname
>!default</varname
></term>
<listitem>
<para
>A janela seleccionada no momento. Garante-se que existe.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><varname
>!all</varname
></term>
<listitem>
<para
>Envia para todas as janelas. Isto poderá não aparecer em todas as janelas, dependendo da forma como o texto é processado. Por exemplo, as janelas dos canais não irão mostrar um <command
>/part</command
> ou um <command
>/quit</command
> a menos que o utilizador esteja no canal.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><varname
>!discard</varname
></term>
<listitem>
<para
>ignora o texto.</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para
>O resto da expressão é tratado como uma expressão regular normal de <acronym
>Perl</acronym
>. Uma boa compreensão da página de manual do <command
>perlre</command
> irá de certeza ajudar, mas é também necessário um conhecimento básico de expressões regulares.</para>

</sect1>

<sect1 id="examplesfilters">
<title
>Exemplos:</title>

<orderedlist
><listitem>
<para
>Querer converter todos os 'jose' de 'jose' para 'José'</para>

<screen
>Correspondência: .*
De: jose
Para: José</screen>

<para
>Bastante simples, faz uma correspondência com todo o texto, e substitui o 'jose' por 'José'.</para>

</listitem>
<listitem>
<para
>Você quer corresponder tudo o que contém 'jose' e enviar para a janela chamada <quote
>jose</quote
></para>

<screen
>Correspondência: jose
De: &circ;
Para: &tilde;jose&tilde;</screen>

<para
>Procura por <quote
>jose</quote
> e, se for encontrado, substitui o início do texto (&circ;) por &tilde;jose&tilde;.</para>

</listitem>
<listitem>

<para
>Ainda que o exemplo anterior funcione, se o texto já contiver <literal
>&tilde;uma_janela&tilde;</literal
> nele, você irá ter agora duas <literal
>&tilde;jose&tilde;&tilde;uma_janela&tilde;...</literal
> Por isso, você poderá fazer isto em alternativa.</para>

<screen
>Correspondência: jose
De: ^(?:&tilde;\S+&tilde;)
Para: &tilde;jose&tilde;</screen>

<para
>Ok, a linha 'De' está um pouco mais complicada. Significa, fazer a correspondência de 0 ou 1 cópias de <literal
>&tilde;\S+&tilde;</literal
>, que é um 1 til, um ou mais caracteres que não espaços em branco, e depois outro til. Os mais paranóicos poderão fazer <literal
>(*:&tilde;\S+&tilde;)</literal
>, que significa: fazer a correspondência de 0 ou mais directivas de canais no caso de as regras anteriores falharem.</para>

</listitem>

<listitem>
<para
>As mensagens de morte do servidor tendem a ser longas, feias, aborrecidas, &etc;. Uma mensagem básica no 'dalnet' parece-se com o seguinte:</para>

<screen
>*** Aviso -- Recebida mensagem KILL para
BOBO!ANDY@line82-basel.datacomm.ch de NickServ
Localização: 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
>Quando você estiver <literal
>+s</literal
> irá obter montes delas; você não quer que todas elas passem pelo seu ecrã. Vão ser criadas 3 regras para lidar com elas um pouco de cada vez. Você poderá fazê-lo com menos regras, mas vai-se mostrar a estrutura básica da regra, em passos simples, e como se pode usar várias regras para processar uma mensagem. O primeiro passo é remover a parte de Localização: da mensagem:</para>

<screen
>Correspondência: ^\*\*\*.* mensagem KILL para.*
De:  Localização: \S+
Para: .</screen>


<para
>A correspondência procura pela mensagem que começa por <literal
>***</literal
>; os <literal
>*</literal
>'s têm de ser comentados com <literal
>\</literal
> dado que por si sós funcionam como 0 ou mais repetições do carácter anterior. O <literal
>.*</literal
> significa: corresponder a tudo até encontrar <literal
> mensagem KILL para</literal
>. Isto permite evitar ter de escrever a parte <literal
>-- Recebida...</literal
> &etc; O <literal
>.*</literal
> final significa: corresponder a tudo até ao fim da linha. (não é necessário, segundo pensa o autor)</para>

<para
>A linha De significa: substituir " Localização: " e quaisquer outros caracteres que não espaços em branco pelo Para. O Para é um <literal
>"."</literal
> como tal toda a localização é substituída por um único ponto.</para>

<para
>A mensagem fica agora do tipo:</para>

<screen
>*** Aviso -- Recebida mensagem KILL para BOBO!ANDY@line82-basel.datacomm.ch de NickServ. (NickServ Enforcement)</screen>

<para
>Repare no novo <literal
>"."</literal
> a seguir a <literal
>NickServ</literal
>?</para>
</listitem>

<listitem>
<para
>Ok, a mensagem está um bocado mais limpa, mas os KILLs do nickserv não são assim tão importantes, como tal serão encaminhados para a janela <literal
>!discard</literal
>.</para>

<screen
>Correspondência: ^\*\*\*.*mensagem KILL .*\(NickServ Enforcement\)
De: ^(?:&tilde;\S+&tilde;)
Para:  &tilde;!discard&tilde;</screen>

<para
>A regras de correspondência procura pela mensagem KILL e certifica-se que é do NickServ. Repare no <literal
>\(</literal
> e no <literal
>\)</literal
> que são ambos utilizados na expressão regular, como tal terão de ser 'escapados'. Isto é muito semelhante ao que foi dito dois exemplos antes.</para>

</listitem>
<listitem>
<para
>Já foram filtradas as mortes do NickServ, mas a mensagem ainda é difícil de ler ao olhar para ela. Por isso, vai ser reordenada para algo do género:</para>

<screen
>*** [KILL] <replaceable
>MATADOR</replaceable
>; matou <replaceable
>MATOU</replaceable
>; (<replaceable
>RAZÃO</replaceable
>)</screen>

<screen
>Correspondência: \*\*\*.*mensagem KILL
De: \*\*\*.*para (.*?) de (.*?)\. \((.*?)\).*
Para: *** [KILL] $$2 matou $$1 ($$3)
</screen>

<para
>Ok, a correspondência procura por <literal
>***<replaceable
>qualquer_coisa</replaceable
> mensagem KILL</literal
>. Não é possível usar o <literal
>&circ;</literal
> porque já poderá ter sido adicionada uma <literal
>&tilde;&lt;janela&gt;&tilde;</literal
>.</para>

<para
>A linha 'De' vai ficando um pouco mais interessante. O <literal
>"para (.*?) "</literal
> procura pela palavra "para" seguida de algum texto. O <literal
>.*?</literal
> significa: corresponder a zero ou mais ocorrências de qualquer coisa excepto a mudança de linha, sem ser ambicioso. A regra é parar quando a primeira condição de fim for obtida, não na última. Por outras palavras, isto corresponde a qualquer coisa até encontrar um espaço. O <literal
>()</literal
> envolvente significa: guardar o conteúdo. Cada "()" guarda os dados correspondentes num <literal
>$&num;</literal
> em que o <literal
>&num;</literal
> começa em 1 para a primeira sequência de texto, &etc; Neste caso, o <varname
>$1</varname
> obtém a informação do utilizador que foi 'morto'. O <varname
>$2</varname
> é então preenchido pelo 'assassino'. Entre o <literal
>()</literal
> tem a razão da morte. Aqui o <literal
>(</literal
> e o <literal
>\(</literal
> ficam um pouco mais confusos. Lembre-se que o <literal
>\(</literal
> correponde ao carácter <literal
>'('</literal
> propriamente dito.</para>

</listitem>
<listitem>
<para
>Como colorir a sua vida.</para>

<para
>Ok, você quer adicionar alguma cor ao &ksirc;. Veja a <link linkend="sectcolors"
>secção de Cores</link
> para saber informações sobre cores, mas existe uma regra de filtragem para realçar o nome do utilizador entre <literal
>&lt;ALCUNHA&gt;</literal
> em cada linha: </para>

<screen
>Correspondência: ^(?:&tilde;\S+&tilde;)&lt;\S+&gt;
De: &lt;(\S+)&gt;
To: &lt;&tilde;4$$1&tilde;c&gt;</screen>

<para
>Extrai o nome do utilizador e adiciona a cor &num;4 entre os dois <literal
>&lt;&gt;</literal
>. O <literal
>&tilde;c</literal
> limpa a cor.</para>

</listitem>
</orderedlist>

</sect1>
</chapter>

<chapter id="keys">
<title
>Teclas</title>

<para
>Esta é uma listagem das teclas de atalhos e de comandos disponíveis no &ksirc;.</para>

<table>
<title
>Combinações de Teclas</title>
<tgroup cols="2">
<thead>
<row>
<entry
>Atalho de teclado</entry>
<entry
>Acção</entry>
</row>
</thead>

<tbody>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>N</keycap
></keycombo
></entry>
<entry
>Abre uma nova Janela de Canal/Pesquisa.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
></entry>
<entry
>Sair</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>Enter</keycap
></keycombo
></entry>
<entry
>Inicia uma mensagem para a pessoa que enviou mais recentemente uma mensagem para si.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;&Shift;<keycap
>Enter</keycap
></keycombo
></entry>
<entry
>Inicia uma mensagem para a segunda pessoa que enviou mais recentemente uma mensagem para si.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>K</keycap
></keycombo
></entry>
<entry
>Inicia o código de uma cor com um número. O texto que escrever a seguir a isto ficará colorido.</entry>
</row>

<row>
<entry
><keycombo
action="simul"
>&Ctrl;<keycap
>U</keycap
></keycombo
></entry>
<entry
>Inicia ou termina o texto sublinhado. O texto que se segue à primeira ocorrência deste comando ficará sublinhado até que volte a escrever o atalho de novo.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>I</keycap
></keycombo
></entry>
<entry
>Inicia ou termina o texto em itálico. O texto que se segue à primeira ocorrência deste comando ficará em itálico até que volte a escrever o atalho de novo.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>B</keycap
> </keycombo
></entry>
<entry
>Inicia ou termina o texto em negrito. O texto que se segue à primeira ocorrência deste comando ficará a negrito até que volte a escrever o atalho de novo.</entry>
</row>

<row>
<entry
><keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
></entry>
<entry
>Inicia ou termina o texto em cores invertidas. O texto que se segue à primeira ocorrência deste comando ficará com cores invertidas até que volte a escrever o atalho de novo.</entry>
</row>

<row>
<entry
><keycap
>TAB</keycap
></entry>
<entry
>Tenta completar o nome de um dos utilizadores no canal, com base no texto que já introduziu. Você poderá estar habituado a isto na sua linha de comandos, ainda que não funcione necessariamente da mesma fora. Veja a <xref linkend="nick-completion"/>.</entry>
</row>

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

</chapter>

<!-- annma: chapter title not good-->
<chapter id="tips">
<title
>Dicas</title>

<sect1 id="kde-channels">
<title
>Ligar-se a canais do &kde;</title>

<para
>Os canais de &irc; do &kde; estão alojados na rede do Freenode. Use a página <guilabel
>Servidor/Canal</guilabel
> ou a página <guilabel
>Ligar Automaticamente</guilabel
> em <guilabel
>Configurar o KSirc</guilabel
> para adicionar esses canais. A rede deverá ser igual a <userinput
><systemitem class="domainname"
>irc.freenode.org</systemitem
></userinput
> no porto <userinput
>6667</userinput
>. Em baixo encontram-se os canais do &kde; mais importantes, bem como os seus objectivos. Escolha os canais em que está interessado. </para>

<para
>Poderá encontrar algumas sugestões sobre dúvidas nos canais do &kde; no <ulink url="http://wiki.kde.org/tiki-index.php?page=Asking+Questions"
>'wiki' da comunidade do &kde;</ulink
>. </para>

<table>
  <title
>Canais de IRC do KDE</title>
  <tgroup cols="2">
    <thead>
      <row>
	<entry
>Canal</entry>
	<entry
>Alvo</entry>
      </row>
    </thead>
<tbody>
 <row>
   <entry
>#kde</entry>
   <entry
>Ajuda para o utilizador</entry>
 </row>
 <row>
   <entry
>#kde-devel</entry>
   <entry
>Desenvolvimento no &kde;</entry>
 </row>
 <row>
   <entry
>#kdevelop</entry>
   <entry
>Dúvidas do KDevelop</entry>
 </row>
 <row>
   <entry
>#kontact</entry>
   <entry
>Dúvidas relacionadas com o <application
>Kontact</application
> (&kmail;, &korganizer;, &knotes;, ...)</entry>
 </row>
 <row>
   <entry
>#amarok</entry>
   <entry
>Um canal da comunidade sobre o <application
>amaroK</application
>: dúvidas do utilizador, programação</entry>
 </row>
 <row>
   <entry
>#debian-kde</entry>
   <entry
>Dúvidas relacionadas com o KDE no Debian</entry>
 </row>
 <row>
   <entry
>#kde-freebsd</entry>
   <entry
>Dúvidas relacionadas com o KDE no FreeBSD</entry>
 </row>
</tbody>
</tgroup>
</table>
</sect1>

<sect1 id="autoidentify">
<title
>Identificação Automática</title>

<para
>Se pretender usar o &irc; regularmente, provavelmente irá querer registar o seu utilizador. Isto protege a sua conta, de modo a que só você a possa usar. Na DALnet, depois de você se ligar, irá registar a sua conta com o comando <userinput
><command
>/msg</command
> nickserv register <replaceable
>SENHA</replaceable
></userinput
>, onde a <replaceable
>SENHA</replaceable
> é a sua senha, de facto. Irá obter uma confirmação do registo da sua conta. </para>

<para
>Ai, de cada vez que se ligar à DALnet, irá obter uma mensagem que lhe pedirá para se identificqar. Terá então de escrever <userinput
><command
>/msg nickserv identify <replaceable
>SENHA</replaceable
></command
></userinput
>. </para>

<para
>O &ksirc; podê-lo-á identificar automaticamente, quando você se ligar a qualquer canal. Só terá de adicionar o seguinte programa em Perl à sua área pessoal: </para>

<para
>O seguinte programa irá funcionar no Freenode. Este programa deverá ser gravado como <filename
>.sircrc.pl</filename
> na sua pasta pessoal. Quando executar o &ksirc;, este programa irá identificá-lo automaticamente. </para>

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


if($who =~ /NickServ/){
if($m =~ /Se este for o seu utilizador/){
&amp;msg("nickserv", "identify <replaceable
>XXXXXX</replaceable
>");
}
}
}
&amp;addhook("nota", "nota_bonita");   # ligar no "fim da MOTD"
</programlisting>
<para
>Substitua o <replaceable
>XXXXXX</replaceable
> pela sua senha. </para>

<para
>O programa acima irá funcionar nas outras redes que não o Freenode, onde o 'nickserv' lhe envia o pedido "identify", embora em algumas redes, como a Undernet, tenha de usar o seguinte programa: </para>

<programlisting
>sub hook_connected {
if($server =~ /undernet.org$/){
        &amp;msg("X\@channels.undernet.org", "login <replaceable
>O_SEU_UTILIZADOR</replaceable
> <replaceable
>XXXX</replaceable
>");
                &amp;docommand("umode +x");
}
}
&amp;addhook("255", "connected");   # juntar-se no "fim da MOTD"
</programlisting>

<para
>Substitua o <replaceable
>O_SEU_UTILIZADOR</replaceable
> com o seu nome de utilizador e o <replaceable
>XXXXXX</replaceable
> pela sua senha. </para>

<para
>Poderá descobrir mais sobre a programação no SIRC nesta página: <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
>Créditos e Licenças</title>

<para
>&ksirc; copyright 1997-2002, os programadores do &ksirc;.</para>

<para
>Partes da documentação copyright 1997, &Andrew.Stanley-Jones;</para>

<para
>Documentação actualizada para o &kde; 3.0 por &Philip.Rodrigues; &Philip.Rodrigues.mail;.</para>

<para
><xref linkend="tips"/> foi escrito por &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail;.</para>
<para
>Tradução de José Nuno Pires <email
>jncp@netcabo.pt</email
></para
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Instalação</title>

<sect1 id="getting-ksirc">
<title
>Onde obter o &ksirc;</title>
&install.intro.documentation; </sect1>


<sect1 id="compilation">
<title
>Compilação e Instalação</title>
&install.compile.documentation; </sect1>
</appendix>

&documentation.index;

</book>

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




