# O Manual do &ksirc;

&Andrew.Stanley-Jones; &Andrew.Stanley-Jones.mail;
&Philip.Rodrigues; &Philip.Rodrigues.mail;
1997 Andrew Stanley-Jones
2001 2002 2004 Philip Rodrigues
José Pires

    jncp@netcabo.pt

Tradução
2004-02-06
1.3.9
&FDLNotice;

Esta documentação descreve o &ksirc; 1.2.1, o cliente de &irc; do &kde;.

KDE KSirc irc Internet relay chat

## Introdução

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

## Utilizar o &ksirc;

### Se você nunca usou o &irc; antes...

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 se ligar a um servidor, abra o &ksirc; e seleccione Ligações Novo Servidor... ou carregue em F2. 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 ``/list``. Para se ligar a um canal escreva: ``/join` #nome_canal`. Para sair de um canal, basta escrever ``/part``.

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

### Bases do &ksirc;

#### Servidores

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

Basta depois carregar em Ligar 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; Controlo do Servidor.

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

#### Canais

Você poder-se-á ligar aos canais com o comando normal do &irc; ``/join` #nome_canal` , se seleccionar a opção Ligações Entrar no Canal... ou se carregar em F3.

Os canais a que se encontra ligado são mostrados na janela Controlo do Servidor por baixo do servidor a que pertencem. Para abandonar um canal, você poderá invocar o comando `/part`, seleccionar a opção Canal Fechar ou carregar em &Ctrl;W.

#### Opções por Canal

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

&Ctrl;S Gravar num Registo...

  Grava o conteúdo de um canal num ficheiro.

Hora

  Se estiver seleccionado, antecede tudo o que foi dito no canal com a data em que foi dito, no formato [HH:MM:SS]

&Alt;C T Tabela ASCII

  Mostra uma tabela com os caracteres ASCII, a partir da qual poderá escolher os caracteres que desejar.

&Alt;C P Apitar ao Mudar

  Se for seleccionada a opção, o &ksirc; emite um toque de cada vez que algo é dito num canal.

#### Opções do Utilizador

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:

Actualizar as Alcunhas

  Envia uma mensagem para o servidor para pedir de novo a lista dos utilizadores no canal. Isto garante que a lista dos utilizadores está actualizada.

Seguir

  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.

Não Seguir

  Deixa de seguir o utilizador para os canais onde ele vai.

Quem é

  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.

Ping

  Envia um pedido de 'ping' do &CTCP; para o utilizador, de modo a saber o seu tempo de eco.

Versão

  Envia um pedido de versão por &CTCP; para o utilizador, de modo a saber que programa ele está a usar.

Abusar

  Abusa do utilizador de uma de várias formas engraçadas.

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

Expulsar

  Retira o utilizador do canal.

Banir

  Impede o utilizador de se ligar ao canal.

Acolher

  Retira a ordem de proibição do utilizador se poder ligar ao canal.

Op

  Dá ao utilizador privilégios de operador.

Deop

  Retira os privilégios de operador do utilizador.

### Ligação Automática

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 Controlo do Servidor, seleccione Configuração Configurar o KSirc... e, na janela que aparece, seleccione a página de Ligação Automática. Para adicionar um canal a um servidor novo, preencha os campos Servidor e Canal, carregando depois no botão Adicionar. Para adicionar outro canal neste servidor, seleccione o nome do servidor na árvore, indique o nome do canal no campo Canal e carregue em Actualizar/Adicionar. Você poderá repetir este processo tantas vezes quantas desejar para adicionar vários servidores e canais para o &ksirc; se ligar a eles.

## Configuração do &ksirc;

### Introdução à Configuração

A janela de configuração do &ksirc; está disponível através da opção Opções Preferências... na janela Controlo do Servidor do &ksirc;.

### A Página Geral

#### Modo de Janelas

Modo SDI (antigo)

  Faz com que o &ksirc; use o modo de interface de documentos únicos, no qual cada novo canal ou janela de `/query` terá a sua própria janela em separado.

Modo MDI paginado (XChat)

  Faz com que o &ksirc; use o modo de interface para vários documentos, com o estilo do XChat, no qual cada novo canal ou janela de `/query` 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 &Alt;Esquerda e &Alt;Direita.

#### A Secção de Configuração Diversos

Auto-criar a Janela

  Se estiver seleccionada, o &ksirc; irá criar automaticamente uma nova janela para os utilizadores que enviarem um comando `/msg` para si. Se não estiver, todo o texto que for enviado para si com o `/msg` é mostrado na janela actual e você poderá usar o `/query utilizador` para criar uma janela onde poderá conversar com esse utilizador.

Completação de Alcunhas

  Se estiver seleccionada a opção, activa a completação dos nomes dos utilizadores. A completação funciona da seguinte maneira:

  1. Escreva as primeiras letras do nome do utilizador.

  2. Carregue em TAB. O texto que você escreveu será completado para corresponder ao nome do utilizador, mesmo que inclua mudanças de capitalização. Por exemplo, `jo<TAB>` fica igual a `Jose` se existir um utilizador chamado Jose no canal.

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

Mostrar o tópico no título

  Mostra o tópico do canal actual no título da janela. Se não estiver seleccionada a opção, o tópico só é mostrado dentro da janela.

Hora

  Antecipa tudo o que for dito no canal com a hora em que foi dito, no formato [HH:MM:SS].

Apitar na Notificação

  Se estiver seleccionada a opção, é tocada a campainha do sistema sempre que um utilizador na sua lista de `/notify` se ligar ao servidor de &irc; onde você se encontra.

Janela de Extracção de Cores

  Se estiver seleccionada a opção, é apresentada uma janela onde você poderá seleccionar a cor com que o seu texto é apresentado quando carregar em &Ctrl;K. Caso contrário, você terá de escrever os códigos de cores manualmente. Veja também .

Auto-Juntar de Novo

  Volta a ligar-se aos canais automaticamente se se estiver desligado.

Comprimento do Histórico

  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.

#### Configuração do Papel de Parede

Na secção do Papel de Parede, 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;, JPEG ou PNG. É mostrada uma antevisão da imagem à direita da janela.

### A Página Arranque

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

#### Configuração do Nome

Alcunha

  Indica o nome do seu utilizador de &irc;.

Alcunha Alternativa

  Indica o nome a usar se a sua escolha já estiver a ser usada por outro utilizador.

Nome Verdadeiro

  O seu nome verdadeiro, tal como é devolvido por uma pesquisa `/whois` sobre o seu utilizador.

#### Lista de Notificações

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

### A Página Cores

Aqui você poderá configurar a utilização das cores por parte do &ksirc;.

#### Configuração das Cores de Conversação

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.

#### Cores das Alcunhas

As opções Texto: e Fundo: definem as cores para o texto e o fundo dos nomes dos utilizadores nas janelas de conversação. A opção Cor das mensagens que contêm a sua alcunha: define a cor das mensagens que aparecem num canal que contenha o seu nome do utilizador.

#### Códigos de cores

Aqui você poderá definir se o &ksirc; irá permitir os códigos de cores nativos (ver em ) e também se são permitidos os códigos de cores do &mirc;.

## Cores do &ksirc;

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

    <fg> == texto
    <bg> == fundo
    [] == opcional

### Compatibilidade com o &mirc;

Formato:

- O `0x03<fg>[,<bg>]` define a cor do texto e do fundo

- O `0x03` repõe nos valores predefinidos para essa linha

### Nativo do &ksirc;

Formato:

- O `˜<fg>[,<bg>]` define a cor do texto e de fundo

- O `˜c` repõe nos valores predefinidos

- O `˜b` põe o texto em negrito

- O `˜u` põe o texto a sublinhado

- O `˜i` põe o texto em itálico

- O `˜r` põe o texto em modo invertido de cores

Porque é que se mudou o &ksirc; para usar o ˜ em vez do 0x03 (&Ctrl;C)? Bem, é mais difícil de usar o 0x03 nos programas e nem todas as funções do C parecem gostar dele. O `˜letra` também permite mais comandos sem interferir nas alterações futuras do &mirc;.

### Número das Cores

1. branco

2. preto

3. azul

4. verde

5. vermelho

6. castanho

7. roxo

8. laranja

9. amarelo

10. verde claro

11. azul-cião

12. azul-cião claro

13. azul claro

14. cor de rosa

15. cinzento

16. cinzento claro

### Enviar Negrito, Sublinhado, Invertido e Cores

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

- &Ctrl;B para o texto em negrito

- &Ctrl;U para o texto sublinhado

- &Ctrl;R para o texto invertido

- &Ctrl;K para o texto colorido

- &Ctrl;O para o texto normal

### Exemplos

Para sublinhar uma única palavra numa frase:

- Carregue em &Ctrl;U

- Escreva a palavra

- Carregue em &Ctrl;U de novo

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.

O código de controlo &Ctrl;K é ligeiramente diferente porque lhe permite indicar um número de cor. Para colorir uma única palavra numa frase:

- Carregue em &Ctrl;K

- Escreva um número entre 0 e 15

- Escreva a palavra

- Carregue em &Ctrl;K de novo

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.

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.

## Filtros

### Regras de Filtragem e Como Criá-las

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

O filtro tenta encontrar o texto de correspondência e depois usar o De e o Para como uma substituição. A correspondência e as substituições são todas expressões regulares do Perl. 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:

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

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

O `˜nome˜` prefixado uma e só uma vez à linha irá enviar a linha de texto para a janela chamada nome. 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 `!`:

`!default`

  A janela seleccionada no momento. Garante-se que existe.

`!all`

  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 `/part` ou um `/quit` a menos que o utilizador esteja no canal.

`!discard`

  ignora o texto.

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

### Exemplos:

1. Querer converter todos os 'jose' de 'jose' para 'José'

       Correspondência: .*
       De: jose
       Para: José

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

2. Você quer corresponder tudo o que contém 'jose' e enviar para a janela chamada jose

       Correspondência: jose
       De: ˆ
       Para: ˜jose˜

   Procura por jose e, se for encontrado, substitui o início do texto (ˆ) por ˜jose˜.

3. Ainda que o exemplo anterior funcione, se o texto já contiver `˜uma_janela˜` nele, você irá ter agora duas `˜jose˜˜uma_janela˜...` Por isso, você poderá fazer isto em alternativa.

       Correspondência: jose
       De: ^(?:˜\S+˜)
       Para: ˜jose˜

   Ok, a linha 'De' está um pouco mais complicada. Significa, fazer a correspondência de 0 ou 1 cópias de `˜\S+˜`, 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 `(*:˜\S+˜)`, que significa: fazer a correspondência de 0 ou mais directivas de canais no caso de as regras anteriores falharem.

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

       *** 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)

   Quando você estiver `+s` 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:

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

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

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

   A mensagem fica agora do tipo:

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

   Repare no novo `"."` a seguir a `NickServ`?

5. 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 `!discard`.

       Correspondência: ^\*\*\*.*mensagem KILL .*\(NickServ Enforcement\)
       De: ^(?:˜\S+˜)
       Para:  ˜!discard˜

   A regras de correspondência procura pela mensagem KILL e certifica-se que é do NickServ. Repare no `\(` e no `\)` 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.

6. 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:

       *** [KILL] MATADOR; matou MATOU; (RAZÃO)

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

   Ok, a correspondência procura por `***qualquer_coisa mensagem KILL`. Não é possível usar o `ˆ` porque já poderá ter sido adicionada uma `˜<janela>˜`.

   A linha 'De' vai ficando um pouco mais interessante. O `"para (.*?) "` procura pela palavra "para" seguida de algum texto. O `.*?` 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 `()` envolvente significa: guardar o conteúdo. Cada "()" guarda os dados correspondentes num `$#` em que o `#` começa em 1 para a primeira sequência de texto, &etc; Neste caso, o `$1` obtém a informação do utilizador que foi 'morto'. O `$2` é então preenchido pelo 'assassino'. Entre o `()` tem a razão da morte. Aqui o `(` e o `\(` ficam um pouco mais confusos. Lembre-se que o `\(` correponde ao carácter `'('` propriamente dito.

7. Como colorir a sua vida.

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

       Correspondência: ^(?:˜\S+˜)<\S+>
       De: <(\S+)>
       To: <˜4$$1˜c>

   Extrai o nome do utilizador e adiciona a cor #4 entre os dois `<>`. O `˜c` limpa a cor.

## Teclas

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

Combinações de Teclas

Atalho de teclado | Acção
--- | ---
&Ctrl;N | Abre uma nova Janela de Canal/Pesquisa.
&Ctrl;Q | Sair
&Ctrl;Enter | Inicia uma mensagem para a pessoa que enviou mais recentemente uma mensagem para si.
&Ctrl;&Shift;Enter | Inicia uma mensagem para a segunda pessoa que enviou mais recentemente uma mensagem para si.
&Ctrl;K | Inicia o código de uma cor com um número. O texto que escrever a seguir a isto ficará colorido.
&Ctrl;U | 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.
&Ctrl;I | 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.
&Ctrl;B | 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.
&Ctrl;R | 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.
TAB | 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 .

## Créditos e Licenças

&ksirc; copyright 1997-2002, os programadores do &ksirc;.

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

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

Tradução de José Nuno Pires jncp@netcabo.pt

&underFDL; &underGPL;

## Instalação

### Onde obter o &ksirc;

&install.intro.documentation;

### Compilação e Instalação

&install.compile.documentation;
&documentation.index;