# Handbok &ksirc;

## Inledning

&ksirc; är den förvalda &irc;-klienten i &kde;. Den stöder skript-hantering med Perl och har mycket som fungerar ihop med &mirc;, för allmän användning.

## Att använda &ksirc;

### Om du inte har använt &irc; tidigare...

Enkelt uttryckt är &irc; ett chattprotokoll, som definieras av officiella Internetstandarder, med möjlighet att slösa bort många timmar av ditt liv. För att använda &irc; måste du ansluta till en server, och sedan gå med i en kanal (som motsvarar ett chattrum).

För att ansluta till en server, öppna &ksirc; och välj Uppkoppling Ny server... eller tryck på F2. I dialogrutan som visas, välj en grupp från den vänstra kombinationsrutan och sedan en server från kombinationsrutan i mitten. Porten som visas till höger, är nästan alltid 6667. Ett nytt fönster dyker upp som visar meddelanden som skickas av servern till klienten. När de här meddelandena har slutat rulla förbi, ska du välja din kanal. För att visa en lista på tillgängliga kanaler, skriv ``/list``. För att gå med i en kanal, skriv: ``/join` `#kanalnamn``. För att lämna en kanal, skriv bara ``/part``.

Det här är grunderna, för mer detaljerad information, läs vidare...

### Grundläggande användning av &ksirc;

#### Servrar

&ksirc; låter dig ansluta till ett godtyckligt antal servrar. För att ansluta till en server, välj Uppkoppling Ny server eller tryck på F2. Uppkopplingsdialogrutan visas, och du kan välja en Grupp, sedan en Server, och dessutom en Port att ansluta till.

Klicka bara på Anslut när du är klar, och ett nytt fönster visas för servern. Du kan hålla reda på de servrar som du är ansluten till i &ksirc;s fönster Serverkontroll.

Du kan få hjälp om de flesta &irc;-kommandon genom att skriva `/help `kommandonamn``. Att bara skriva `/help` ger en lista på tillgängliga kommandon.

#### Kanaler

Du kan ansluta till kanaler med det normala ``/join` `#kanalnamn``, genom att välja Uppkoppling Delta i kanal... eller genom att trycka på F3.

Kanaler som du är ansluten till visas i fönstret Serverkontroll under servern som de hör till. För att lämna en kanal, kan du skriva `/part`, välja Kanal Stäng eller trycka på &Ctrl;W.

#### Kanalalternativ

Menyn Kanal, som är tillgänglig i alla kanalfönster, innehåller några användbara alternativ:

&Ctrl;S Spara till loggfil...

- Sparar innehållet i kanalen till en fil.

Tidsstämpel

- Om vald, inleder varje sak som sägs i kanalen med tiden det sägs, på formen [TT:MM:SS].

&Alt;C T ASCII-tabell

- Visar en tabell med ASCII-tecken, där du kan välja alla tecken som du behöver.

&Alt;C P Ljudsignal vid ändring

- Om aktiverat, så avger &ksirc; en ljudsignal så fort något sägs i en kanal.

#### Användaralternativ

I en kanal, visas användarlistan längs höger. Ett högerklick på ett smeknamn i listan visar en meny med alternativ, där de flesta är självklara:

Uppdatera smeknamn

- Skickar ett meddelande till servern för att begära listan på användarna i kanalen. Det här försäkrar att listan med smeknamn är aktuell.

Följ

- Följer användaren till vilken kanal han än går till.

Sluta följ

- Slutar följa användaren.

Vem är det här

- Skickar en &CTCP; vem är det här förfrågan till användaren, som ger information om användaren, bland annat hans värddatornamn och vilken server han är ansluten till.

Pinga

- Skickar ett &CTCP;-ping till användaren, för att avgöra hans ekotid.

Version

- Skickar en &CTCP;-versionsförfrågan till användaren, för att avgöra vilken programvara han använder.

Smäda

- Smädar användaren på ett av många roande sätt.

Följande kommandon är bara tillgängliga om du är en administratör av kanalen:

Sparka ut

- Tar bort användaren från kanalen.

Förbjud

- Förbjuder användaren från att gå med i kanalen.

Ta bort förbud

- Tar bort förbudet för användaren att gå med i kanalen.

Ge rättigheter

- Ger användaren administratörsrättigheter.

Ta bort rättigheter

- Tar bort administratörsrättigheter för användaren.

## Anpassning av &ksirc;

### Översikt av anpassning

&ksirc;s inställningsdialogruta är tillgänglig från Alternativ Inställningar i &ksirc;s fönster Serverkontroll.

### Fliken Allmänt

#### Fönsterläge

SDI-läge (gammalt beteende)

- Gör att &ksirc; använder en enkel gränssnittsmodell, där varje ny kanal eller `/query` fönster har sitt eget separata fönster.

Tabbat MDI-läge (XChat)

- Gör att &ksirc; använder en multipelt gränssnittsmodell, med en stil som likar XChat, där varje ny kanal eller `/query` fönster har en flik i ett enda huvudfönster i &ksirc;. Varje fönster kan läggas överst genom att klicka på dess flik, och du kan byta flik med &Shift;Vänsterpil och &Shift;Högerpil.

#### Fliken Allmänt

Skapa fönster automatiskt

- Om markerad, öppnar &ksirc; automatiskt ett nytt fönster för varje användare som skickar kommandot `/msg` till dig. Om inte markerad, visas all text som skickas till dig med `/msg` i det nuvarande fönstret och du kan använda `/query `användarnamn`` för att skapa ett fönster för att chatta med den användaren.

Smeknamnskomplettering

- Om markerad, aktiveras smeknamnskomplettering. Smeknamnskomplettering fungerar enligt följande:

  1. Skriv in de första bokstäverna i en användares smeknamn.

  2. Tryck på TAB. Texten som du skrev in kompletteras för att stämma med användarnamnet, inklusive ändringar av stora och små bokstäver om det behövs. Till exempel `phi<TAB>` blir `PhilRod` om det finns en användare som kallas PhilRod på kanalen.

  3. Om mer än ett smeknamn på kanalen motsvaras av texten som du har skrivit in, väljs första namnet i listan. Genom att trycka på TAB flera gånger visas följande namn i listan. Om till exempel användarna PhilA och PhilRod finns på kanalen, och du skriver `phi<TAB>`, så kompletteras texten först till `PhilA`, och om du trycker på TAB igen, ändras den till `PhilRod`.

Visa ämne i titel

- Visar ämnet för den nuvarande kanalen i fönstrets namnlist. Om inte markerad, så visas bara ämnet inne i fönstret.

Tidsstämpel

- Inleder varje sak som sägs i kanalen med tiden det sägs, på formen [TT:MM:SS].

Ljudsignal vid bekräftelse

- Om markerad, hörs en ljudsignal varje gång en användare på din `/notify` lista kopplar upp på &irc;-servern som du är ansluten till.

Popuppfärgväljare

- Om markerad, visas ett popuppfönster där du kan välja färg på texten när du trycker på &Ctrl;K. Om inte, så måste du skriva in färgkoder för hand. Se också sectcolors.

Gå med igen automatiskt

- Går automatiskt med i kanaler igen om du kopplas ner.

Längd på fönsterhistorik

- Lagra upp till så här många rader text från varje fönster, för att låta dig gå tillbaka och se vad som redan har sagts.

#### Fliken Bakgrundsbild

Under fliken Bakgrundsbild, kan du ändra bilden som visas i bakgrunden på &ksirc;-fönster. Du kan skriva in namnet på filen som ska användas i textrutan, eller bläddra efter filer med knappen till höger om textrutan. Bildfiler som används måste ha formatet &GIF;, JPEG eller PNG. En förhandsgranskning av bilden visas till höger i dialogrutan.

### Fliken Uppstart

Här kan du anpassa &ksirc;s uppstartsinställningar.

#### Namninställningar

Smeknamn

- Anger ditt &irc;-smeknamn.

Alternativt smeknamn

- Ange smeknamnet som ska användas om ditt förstahandsval redan används av en annan användare.

Riktigt namn

- Ditt riktiga namn, som returneras vid en `/whois` förfrågan för dig.

#### Underrättelselista

Här kan du skriva in en lista med användare som du vill lägga till i din `/notify` lista vid uppstart. Du blir informerad när någon av användarna i listan är uppkopplade.

### Fliken Färg

Här kan du ställa in färganvändning i &ksirc;.

#### Inställning av chattfärg

Här kan du ange färger för varje typ av text. Ett klick på färgknappen till höger om namnet på texttypen visar en färgvalsdialogruta, där du kan välja färgen som du vill att texttypen ska visas med.

#### Smeknamnsfärger

Förgrund och Bakgrund anger färger för förgrunden och bakgrunden för användares smeknamn i chattfönster. Alternativet Färglägg ditt smeknamn anger färgen för alla meddelanden på en kanal som innehåller ditt smeknamn.

#### Färgkoder

Här kan du ange om &ksirc; tillåter egna färgkoder (se sectcolors) och dessutom om &mirc;-färgkoder tillåts.

## Färger i &ksirc;

&ksirc; följer de färgscheman som används av &mirc; med en mindre ändring för mer kraftfull egen användning.

    <fg> == förgrund
    <bg> == bakgrund
    [] == valfri

### Anpassning till &mirc;

Format:

- `0x03<fg>[,<bg>]` anger förgrunden och bakgrunden

- `0x03` återställer till förval för den raden

### Specifikt för &ksirc;

Format:

- `˜<fg>[,<bg>]` anger förgrunden och bakgrunden

- `˜c` återställer till förval

- `˜b` väljer fetstil

- `˜u` väljer understrykning

- `˜i` väljer kursivstil

- `˜r` väljer omvänd text

Varför ändrade jag &ksirc; så att det använder ˜ istället för 0x03 (&Ctrl;C)? Ja, det är svårt att använda 0x03 i skript och inte alla C-funktioner verkar gilla det. `˜`bokstav`` tillåter också fler kommandon utan att förstöra för &mirc;s framtida ändringar.

### Färgnummer

1. vit

2. svart

3. blå

4. grön

5. röd

6. brun

7. violett

8. orange

9. gul

10. ljusgrön

11. cyan

12. ljuscyan

13. ljusblå

14. rosa

15. grå

16. ljusgrå

### Skicka fetstil, understruket, omvänd text och färger

Du kan använda följande snabbtangenter för att infoga styrkoder i text:

- &Ctrl;B för fetstil

- &Ctrl;U för understruken text

- &Ctrl;R för omvänd text

- &Ctrl;K för färgad text

- &Ctrl;O för vanlig text

### Exempel

För att stryka under ett enda ord i en mening:

1. Skriv &Ctrl;U

2. Skriv in ordet

3. Skriv &Ctrl;U igen

Bara texten som omfattas av start- och slutkoderna påverkas. Du kan använda den här metoden med alla andra kontrollkoder också.

Styrkoden &Ctrl;K är något annorlunda eftersom den låter dig ange ett färgnummer. För att färglägga ett enstaka ord i en mening:

1. Skriv &Ctrl;K

2. Skriv ett tal mellan 0 och 15

3. Skriv ordet

4. Skriv &Ctrl;K igen

Om du också vill ändra bakgrundsfärgen för ett ord, behöver du skriva två nummer åtskilda med ett kommatecken istället för bara ett nummer. Det första numret är textfärgen, det andra bakgrundsfärgen. Färgerna går från 0 till 15, och indexet finns i föregående avsnitt.

Du kan innefatta text i flera styrkoder, så du kan till exempel ha ett understruket, färgat ord med fetstil.

## Filter

### Filterregler och hur man skapar dem

Om du inte klarar av att förstå detta, vänta ett tag. Jag vill bygga en trevlig filterbyggare där du bara kan klicka dig igenom. Med det kan ta ett tag innan det blir av.

Filtret försöker hitta en sträng som matchar, och sedan använda Från och Till som utbyte. Strängen som matchar, från och till är samtliga reguljära uttryck i Perl. Reglerna utvärderas i fallande ordning. Den översta regeln utvärderas först, sedan den näst översta, etc. Alla strängar utvärderas enligt:

`$`namn`` expanderas till miljövariabeln ``namn``. Det här görs omedelbart när du infogar regeln, och ändras inte därefter. Därför är det troligen av begränsat värde.

`$$`namn`` byts ut mot variabeln `$`namn`` i Perl när matchningen görs. Det här kan vara en delsträng som `$1`, `$2` i utbytessträngen, eller normala variabler som är tillgängliga i sirc (som `$nick`, `$channel`, etc.).

`˜`namn`˜` Infogas i början av en rad en och endast en gång, skickar textraden till fönstret som heter `namn`. Om fönstret inte finns, skickas raden till det senaste fönstret som hade fokus. Det finns flera särskilda fönster, som alla inleds med ett enda `!`-tecken:

`!default`

- Det nuvarande förvalda fönstret. Existerar helt säkert.

`!all`

- Skicka till alla fönster. Det här syns inte i alla fönster, beroende på hur texten tolkas. Kanalfönster visar till exempel inte en `/part` eller `/quit` om inte smeknamnet finns i kanalen.

`!discard`

- slänger texten.

Resten av uttrycket hanteras som ett normalt reguljärt uttryck i Perl. En god förståelse av manualsidan för `perlre` är helt klart en god hjälp, och en grundläggande förståelse av reguljära uttryck är helt nödvändig.

### Exempel:

1. Vill du ändra alla boren från boren till BoreN

       Matcha: .*
       Från: boren
       Till: BoreN

   Ganska rättframt, matcha allt, byt sedan boren mot BoreN.

2. Du vill matcha allt med boren i sig och skicka det till fönstret som heter boren

       Matcha: boren
       Från: ˆ
       Till: ˜boren˜

   Letar efter boren. Om det hittas, byter ut början av strängen (ˆ) mot ˜boren˜.

3. Även om det föregående exemplet fungerar, om strängen redan har `˜något_fönster˜` i sig, har du nu två `˜boren˜˜något_fönster˜...` Så du kan göra så här istället.

       Matcha: boren
       Från: ^(?:˜\S+˜)
       Till: ˜boren˜

   Ok, från-raden är lite mer komplicerad. Den betyder: matcha 0 eller 1 kopia av `˜\S+˜`. Detta är en tilde, ett eller flera tecken som inte är blanktecken, och sedan en tilde till. Den paranoide kan använda `(*:˜\S+˜)`, som betyder: matcha 0 eller flera kanaldirektiv om tidigare regler inte fungerar som de ska.

4. KILL-meddelanden från en server brukar vara långa, fula, irriterande, etc. Ett grundläggande meddelande på dalnet ser ut så här:

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

   När du är `+s` får du massor av dem, och du vill inte se alla flyga förbi på skärmen. Jag ska göra tre regler för att hantera dem en del åt gången. Du skulle kunna göra det med färre regler, men det här visar dig den grundläggande regelstrukturen, i lagom steg, och hur flera regler kan användas för att tolka ett meddelande. Det första steget är att ta bort delen med `Path:` i meddelandet:

       Matcha: ^\*\*\*.* KILL message for.*
       Från:  Path: \S+
       Till: .

   Strängen som matchar letar efter ett meddelande som börjar med `***`, alla `*` måste citeras med `\` eftersom de ensamma betyder 0 eller flera av det föregående tecknet. `.*` betyder: matcha allt till du hittar `KILL message for`. Det här låter oss undvika att skriva in `-- Received...` etc. Det avslutande `.*` betyder: matcha allt till slutet på raden. (behövs inte, tror jag)

   Från-raden betyder: byt ut " Path: " och alla tecken som inte är blanktecken med till-raden. Till-raden är tecknet `"."`, därför blir hela sökvägen en ensam punkt.

   Nu ser meddelandet ut så här:

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

   Ser du det nya tecknet `"."` efter `NickServ`?

5. Ok, meddelandet är mycket renare, men en KILL från NickServ är inte egentligen så viktig, så låt oss skicka den vidare till fönstret `!discard`.

       Matcha: ^\*\*\*.*KILL message.*\(NickServ Enforcement\)
       Från: ^(?:˜\S+˜)
       Till:  ˜!discard˜

   Regeln som matchar söker efter KILL-meddelandet och försäkrar sig om att det är från NickServ. Observera att både `\(` och `\)` används i reguljära uttryck, därför måste vi citera dem. Det här liknar mycket vad vi sa två exempel tidigare.

6. Nu har vi filtrerat bort alla KILL från NickServ, men meddelandet är fortfarande ganska svårt att läsa genom att bara kasta en blick på det. Så låt oss ordna om det till något liknande:

       *** [KILL] KILLER; killed KILLED; (REASON)

       Match: \*\*\*.*KILL message
       Från: \*\*\*.*for (.*?) from (.*?)\. \((.*?)\).*
       Till: *** [KILL] $$2 killed $$1 ($$3)

   Ok, strängen som matchar letar efter `***`någonting` KILL message`. Vi kan inte använda `ˆ` eftersom vi just kan ha lagt till `˜<fönster>˜`.

   Från-raden är lite mer intressant. `"for (.*?) "` letar efter ordet "for" följt av lite text. `.*?` betyder: matcha inget eller mer av vad som helst utom en nyrad, men det är inte glupskt. Regeln är att stoppa när det första stoppvillkoret hittas, inte det sista. Med andra ord matchar det allt tills ett mellanslag hittas. De omgivande `()` betyder: spara innehållet. Varje () sparar värdet som matchas i `$nummer`, där `nummer` börjar på 1 för den första delsträngen, etc. I det här fallet, blir `$1` smeknamnet/informationen för personen det gäller. `$2` fylls sedan i med namnet på den som gjorde KILL. Mellan `()` finner vi orsaken. Här blir `(` och `\(` något förvirrande. Kom ihåg att `\(` matchar själva tecknet `'('`.

7. Hur du färglägger livet.

   Ok, så du vill lägga till lite färg i &ksirc;. Se avsnittet om färg för information om färger, men här är en filterregel som färglägger smeknamnet mellan `<ANVÄNDARE>` på varje rad:

       Match: ^(?:˜\S+˜)<\S+>
       From: <(\S+)>
       To: <˜4$$1˜c>

   Tar smeknamnet och lägger till färg nummer 4 mellan de två `<>`. `˜c` tar bort färgen.

## Tangenter

Det här är en lista på snabbtangenter och kommandotangenter som är tillgängliga med &ksirc;.

## Tangentbindningar

Tangentbindning | Åtgärd
&Ctrl;N | Öppnar ett nytt kanalfönster eller frågefönster.
&Ctrl;Q | Avsluta
&Ctrl;Enter | Börja ett meddelande till den person som senast skickade dig ett meddelande.
&Ctrl;&Shift;Enter | Börja ett meddelande till den näst senaste person som skickade dig ett meddelande.
&Ctrl;K | Börja färgkod med ett nummer. Text som du skriver efter det här kommer att färgläggas.
&Ctrl;U | Börja eller sluta stryka under text. Text efter den första förekomsten av det här blir understruken tills du skriver in snabbtangenten igen.
&Ctrl;I | Börja eller sluta kursiv text. Text efter den första förekomsten av det här blir kursiverad tills du skriver in snabbtangenten igen.
&Ctrl;B | Börja eller sluta fetstil. Text efter den första förekomsten av det här skrivs med fetstil tills du skriver in snabbtangenten igen.
&Ctrl;R | Börja eller sluta omvänd text. Text efter den första förekomsten av det här blir omvänd text tills du skriver in snabbtangenten igen.
TAB | Försöker fylla i ett smeknamn för någon i kanalen, baserat på texten som du skrev in. Du känner säkert till det här från din kommandorad, även om det inte nödvändigtvis fungerar exakt på samma sätt. Se nick-completion.

## Tack till och licenser

&ksirc; copyright 1997-2002, &ksirc;-utvecklarna.

Delar av dokumentationen, copyright 1997, Andrew Stanley Jones

Dokumentationen uppdaterad för &kde; 3.0 av Philip Rodrigues phil.rod@ntlworld.com

Översättning Stefan Asserhäll stefan.asserhall@telia.com

&underFDL; &underGPL;

## Installation

### Var man skaffar &ksirc;

&install.intro.documentation;

### Kompilering och installation

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