# &ksirc;-håndbogen

Andrew Stanley-Jones

    asj@chowtown.cban.com

Philip Rodrigues

    phil.rod@ntlworld.com

1997 Andrew Stanley-Jones
2001 2002 Philip Rodrigues
&erik.kjaer.pedersen.role;
2002-04-17
1.02.01
&FDLNotice;

Dette dokument beskriver &ksirc; 1.2.1, &kde;:s &irc;-klienten.

KDE KSirc irc Internet-relay chat

## Indledning

&ksirc; er den forvalgte &irc;-klient i &kde;. Den understøtter script-håndtering med Perl og har meget som virker sammen med &mirc;, til generel brug.

## Brug af &ksirc;

### Hvis du ikke har brugt &irc; tidligere...

Enkelt udtrykt er &irc; en chat-protokol, som defineres af officielle Internetstandarder, med mulighed for at sløse uanede timer af dit liv væk. For at bruge &irc; skal du være tilsluttet en server, og derefter gå med i en kanal (som svarer til et chat-rum).

For at blive forbundet til en server, åbnes &ksirc; og Forbindelser Ny server... vælges eller der trykkes på F2. I dialogen som vises, vælges en gruppe fra den venstre dropned-boks og derefter en server fra dropned-boksen i midten. Porten som vises til højre, er næsten altid 6667. Et nyt vindue dukker op som viser meddelelser som sendes af serveren til klienten. Når disse meddelelser er færdige med at rulle forbi, skal du vælge din kanal. For at få en liste over tilgængelige kanaler vist, skriv ``/list``. For at gå med i en kanal, skriv: ``/join` #kanalnavn`. For at forlade en kanal, skrives blot ``/part``.

Dette er det grundlæggende, for mere detaljeret information, læs videre...

### &ksirc;, det basale

#### Servere

&ksirc; tillader dig at være forbundet til et vilkårligt antal servere. For at blive tilsluttet en server, vælges Forbindelser Ny server eller der trykkes på F2. Forbindelsesdialogen vises, og du kan vælge en Gruppe, og derefter en Server, og desuden en Port at sluttes til.

Klik blot på Forbind når du er klar, så vil et nyt vindue vises for serveren. Du kan holde rede på de servere som du er tilsluttet i &ksirc;s Serverkontrol-vindue.

Du kan få hjælp med de fleste &irc;-kommandoer ved at skrive `/help kommandonavn`. Kun at skrive `/help` giver en liste over tilgængelige kommandoer.

#### Kanaler

Du kan blive forbundet til kanaler med den normale ``/join` #kanalnavn`, ved at vælge Forbindelser Deltag i kanal... eller ved at trykke på F3.

Kanaler som du er tilsluttet vises i vinduet Serverkontrol under serveren som de hører til. For at forlade en kanal, kan du skrive `/part`, vælge Kanal Luk eller tryk på &Ctrl;W.

#### Kanal-valgmuligheder

Menuen Kanal, som er tilgængelig i alle kanalvinduer, indeholder nogle nyttige muligheder:

&Ctrl;S Gem til logfil...

  Gemmer indholdet af kanalen til en fil.

Tidsstempel

  Hvis valgt, indledes hver ting som siges i kanalen med tiden det siges, på formen [TT:MM:SS].

&Alt;C T ASCII-tabel

  Viser en tabel med ASCII-tegn, hvor du kan vælge alle tegn som du behøver.

&Alt;C P Lydsignal ved ændring

  Hvis aktiveret, så afgiver &ksirc; et lydsignal så snart noget siges i en kanal.

#### Bruger-tilvalg

I en kanal, vises brugerlisten længst til højre. Et højreklik på et alias på listen viser en menu med valgmuligheder, hvor de fleste er selvforklarende:

Opdatér aliasser

  Sender en meddelelse til serveren for at bede om listen over brugerne på kanalen. Dette sikrer at listen med aliasser er opdateret.

Følg

  Følger brugeren til hvilken kanal han nu går til.

Hold op med at følge

  Holder op med at følge brugeren.

Hvem er dette

  Sender en &CTCP; hvem er dette forespørgsel til brugeren, som giver information om brugeren, blandt andet hans værtsmaskinenavn og hvilken server han er tilsluttet.

Ping

  Sender en &CTCP;-ping til brugeren, for at afgøre hans ekkotid.

Version

  Sender en &CTCP;-versionsforespørgsel til brugeren, for at afgøre hvilker program han anvender.

Misbrug

  Misbruger brugeren på en af mange morsomme måder.

Følgende kommandoer er kun tilgængelige hvis du er administrator for kanalen:

Spark ud

  Fjerner brugeren fra kanalen.

Forbyd

  Forbyder brugeren fra at gå med i kanalen.

Fjern forbud

  Fjerner forbudet mod at brugeren går med i kanalen.

Operatør

  Giver brugeren administratorrettigheder.

Fjern rettigheder

  Fjerner administratorrettigheder for brugeren.

## Indstilling af &ksirc;

### Oversigt over indstillinger

&ksirc;s indstillingsdialog er tilgængelig fra Tilvalg Indstillinger i &ksirc;s vindue Serverkontrol.

### Fanebladet Generelt

#### Vinduestilstand

SDI-tilstand (gammel opførsel)

  Gør at &ksirc; bruger en enkel grænsefladesmodel, hvor hver ny kanal eller `/query` vindue har sit eget separate vindue.

Faneblads-MDI-tilstand (XChat)

  Gør at &ksirc; bruger en multipel grænseflademodel, med en stil som ligner XChat, hvor hver ny kanal eller `/query` vindue har et faneblad i et enkelt hovedvindue i &ksirc;. Hvert vindue kan lægges øverst ved at klikke på dets faneblad, og du kan skifte faneblad med &Shift;Venstre pil og &Shift;Højre pil.

#### Fanebladet Generelt

Opret vindue automatisk

  Hvis dette er markeret, åbner &ksirc; automatisk et nyt vindue for hver bruger som sender kommandoen `/msg` til dig. Hvis det ikke er markeret, vises al tekst som sendes til dig med `/msg` i det nuværende vindue og du kan bruge `/query brugernavn` for at oprette et vindue for at chatte med den bruger.

Alias-komplettering

  Hvis dette er markeret, aktiveres alias-komplettering. Alias-komplettering virker som følger:

  1. Indtast de første bogstaver i en brugers alias.

  2. Tryk på TAB. Teksten som du skrev ind kompletteres til at stemme med brugernavnet, inklusive ændringer af store og små bogstaver om nødvendigt. For eksempel `phi<TAB>` bliver til `PhilRod` hvis der findes en bruger som kaldes PhilRod på kanalen.

  3. Hvis mere end et alias på kanalen svarer til teksten som du har skrevet ind, vælges første navn på listen. Ved at trykke på TAB flere gange vises følgende navne på listen. Hvis for eksempel brugerne PhilA og PhilRod findes på kanalen, og du skriver `phi<TAB>`, så kompletteres teksten først til `PhilA`, og hvis du trykker på TAB igen, ændres den til `PhilRod`.

Vis emne i titel

  Viser emnet for den nuværende kanal i vinduets navnelist. Hvis det ikke er markeret, så vises kun emnet inde i vinduet.

Tidstempling

  Indleder hver ting som siges i kanalen med tiden det siges, på formen [TT:MM:SS].

Lydsignal ved bekræftelse

  Hvis dette er markeret, høres et lydsignal hver gang en brugere på din `/notify` liste kobler op på &irc;-serveren som du er tilsluttet.

Popop-farvevælger

  Hvis dette er markeret, vises et popop-vindue hvor du kan vælge farve på teksten når du trykker på &Ctrl;K. Hvis ikke, så skal du indtaste farvekoder manuelt. Se også .

Gå med igen automatisk

  Går automatisk med i kanaler igen hvis forbindelsen blev afbrudt.

Længde vinduehistorik

  Gemmer op til så mange linjer tekst fra hvert vindue, for at lade dig gå tilbage og se hvad der allerede blev sagt.

#### Tapet-indstilling

Under fanebladet Tapet, kan du ændre billedet som vises i baggrunden på &ksirc;-vinduet. Du kan indtaste navnet på filen som skal bruges i tekstboksen, eller søge efter filer med knappen til højre for tekstboksen. Billedfiler som bruges skal have formatet &GIF;, JPEG eller PNG. En forhåndsvisning af billedet vises til højre for dialogen.

### Fanebladet Opstart

Her kan du indstille &ksirc;s opstartsindstillinger.

#### Navneindstillinger

Alias

  Sætter dit &irc;-alias.

Alternativt alias

  Angiv alias som skal bruges hvis dit førstevalg allerede bruges af en anden bruger.

Rigtigt navn

  Dit rigtige navn, som returneres ved en `/whois` forespørgsel om dig.

#### Underrettelseliste

Her kan du indtaste en liste med brugere som du vil tilføje i din `/notify` liste ved opstart. Du bliver informeret når nogen af brugerne i listen er opkoblede.

### Fanebladet Farve

Her kan du indstille in farvebrugen i &ksirc;.

#### Indstilling af chat-farve

Her kan du angive farver for hvert type tekst. Et klik på farveknappen til højre for navnet på teksttypen viser en farvevalgsdialog, hvor du kan vælge farven som du ønsker at teksttypen skal vises med.

#### Alias-farver

Forgrund og Baggrund angiver farver for forgrunden og baggrunden for brugeres alias i chat-vinduet. Valgmuligheden Farvelæg dit alias angiver farven for alle meddelelser på en kanal som indeholder dit alias.

#### Farvekoder

Her kan du angive om &ksirc; tillader egne farvekoder (se ) og desuden om &mirc;-farvekoder tillades.

## Farver i &ksirc;

&ksirc; følger de farvesammensætninger som bruges af &mirc; med en mindre ændring for mere kraftfuld egen brug.

    <fg> == forgrund
    <bg> == baggrund
    [] == valgfri

### Kompatibilitet med &mirc;

Format:

- `0x03<fg>[,<bg>]` angiver forgrunden og baggrunden

- `0x03` nulstiller til det forvalgte for den linje

### Specifikt for &ksirc;

Format:

- `˜<fg>[,<bg>]` angiver forgrunden og baggrunden

- `˜c` nulstiller til det forvalgte

- `˜b` vælger fed type

- `˜u` vælger understregning

- `˜i` vælger kursiv type

- `˜r` vælger omvendt tekst

Hvorfor ændrede jeg &ksirc; så at det bruger ˜ i stedet for 0x03 (&Ctrl;C)? Ja, det er svært at bruge 0x03 i scripter og ikke alle C-funktioner synes at kunne lide det. `˜bogstav` tillader også flere kommandoer uden at forstyrre &mirc;s fremtidige ændringer.

### Farvenummer

1. hvid

2. sort

3. blå

4. grøn

5. rød

6. brun

7. violet

8. orange

9. gul

10. lysegrøn

11. cyan

12. lysecyan

13. lyseblå

14. lyserød

15. grå

16. lysegrå

### Send fed type, understreget, omvendt tekst og farver

Du kan bruge følgende genvejstaster til at indsætte styrekoder i teksten:

- &Ctrl;B for fed type

- &Ctrl;U for understreget tekst

- &Ctrl;R for omvendt tekst

- &Ctrl;K for farvet tekst

- &Ctrl;O for almindelig tekst

### Eksempel

For at understrege et enkelt ord i en sætning:

- Skriv &Ctrl;U

- Indtast ordet

- Skriv &Ctrl;U igen

Kun teksten som omfattes af start- og slutkoderne påvirkes. Du kan bruge denne metode med alle andre kontrolkoder også.

Styrekoden &Ctrl;K er noget anderledes eftersom den lader dig angive et farvenummer. For at farvelægge et enkelt ord i en sætning:

- Skriv &Ctrl;K

- Skriv et tal mellem 0 og 15

- Skriv ordet

- Skriv &Ctrl;K igen

Hvis du også vil ændre baggrundsfarven for et ord, må du skrive to numre adskilte med et kommategn i stedet for kun et nummer. Det første nummer er tekstfarven, det andet baggrundsfarven. Farverne går fra 0 til 15, og indekset findes i foregående afsnit.

Du kan lade tekst blive omfattet af flere styrekoder, så du kan for eksempel have et understreget, farvet ord med fed type.

## Filtre

### Filterregler og hvordan man laver dem

Hvis du ikke kan forstå dette, så vent lidt. Jeg vil bygge en behagelig filterbygger hvor du kan klikke dig igennem. Med det kan tage en smule tid inden det kommer så langt.

Filtret forsøger at finde en streng som matcher, og derefter bruge Fra og Til til at udskifte. Strengen som matcher, fra og til er samtlige regulære udtryk i Perl. Reglerne evalueres i aftagende rækkefølge. Den øverste regel evalueres først, derefter den næst øverste, osv. Alle strenge evalueres som følger:

`$navn` ekspanderes til miljøvariablen `navn`. Dette gøres med det samme når du indsætter reglen, og ændres ikke derefter. Derfor er det formodentlig af begrænset værdi.

`$$navn` udskiftes med variablen `$navn` i Perl når matchningen gøres. Dette kan være en delstreng som `$1`, `$2` i udskiftningsstrengen, eller normale variabler som er tilgængelige i sirc (såsom `$nick`, `$channel`, etc.).

`˜navn˜` Indsættes i begyndelsen af en linje en og kun en gang, sender tekstlinjen til vinduet som hedder navn. Hvis vinduet ikke findes, sendes linjen til det seneste vindue som havde fokus. Det findes flere specielle vindue, som alle indledes med et enkelt `!`-tegn:

`!default`

  Det nuværende forvalgte vindue. Eksisterer helt sikkert.

`!all`

  Send til alle vinduer. Dette ses ikke i alle vinduer, afhængig af hvordan teksten tolkes. Kanalvinduer viser for eksempel ikke en `/part` eller `/quit` hvis alias ikke findes i kanalen.

`!discard`

  kasserer teksten.

Resten af udtrykket håndteres som et normalt regulært udtryk i Perl. En god forståelse af manualsiden for `perl` er helt klart en god hjælp, og en grundlæggende forståelse af regulære udtryk er helt nødvendig.

### Eksempel:

1. Du vil ændre alle boren fra boren til BoreN

       Match: .*
       Fra: boren
       Til: BoreN

   Ganske ligetil, match alt, udskift derefter boren med BoreN.

2. Du vil matche alt med boren i sig og sende det til vinduet som hedder boren

       Match: boren
       Fra: ˆ
       Til: ˜boren˜

   Leder efter boren. Hvis det findes, udskiftes begyndelsen af strengen (ˆ) mod ˜boren˜.

3. Selv om det foregående eksempel virker, hvis strengen allerede har `˜et_vindue˜` i sig, har du nu to `˜boren˜˜et_vindue˜...` Så du kan gøre sådan her i stedet for.

       Match: boren
       Fra: ^(?:˜\S+˜)
       Til: ˜boren˜

   O.k., fra-linjen er lidt mere kompliceret. Den betyder: match 0 eller 1 kopi af `˜\S+˜`. Dette er en tilde, et eller flere tegn som ikke er blanke tegn, og derefter en tilde til. Den paranoide kan bruge `(*:˜\S+˜)`, som betyder: match 0 eller flere kanaldirektiver hvis tidligere regler ikke virker som de skal.

4. KILL-meddelelser fra en server plejer at være lange, grimme, irriterende, osv. En grundlæggende meddelelse på dalnet ser sådan her ud:

       *** 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 er `+s` får du masser af dem, og du ønsker ikke at se dem alle flyve forbi på skærmen. Jeg vil lave tre regler for at håndtere dem en del af gangen. Du vil kunne gøre det med færre regler, men dette viser dig den grundlæggende regelstruktur, i rolige trin, og hvordan flere regler kan bruges til at tolke en meddelelse. Det første skridt er at fjerne delen med `Path:` i meddelelsen:

       Match: ^\*\*\*.* KILL message for.*
       Fra:  Path: \S+
       Til: .

   Strengen som matcher leder efter en meddelelse som begynder med `***`, alle `*` skal citeres med `\` eftersom de når de er alene, betyder 0 eller flere af det foregående tegn. `.*` betyder: match alt til du finder `KILL message for`. Dette lader os undgå at indtaste `-- Received...` osv. Det afsluttende `.*` betyder: match alt til slutningen af linjen. (behøves ikke, tror jeg)

   Fra-linjen betyder: udskift " Path: " og alle tegn som ikke er blanke tegn med til-linjen. Til-linjen er tegnet `"."`, derfor bliver hele søgestien et enkelt punkt.

   Nu ser meddelelsen sådan her ud:

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

   Bemærk det nye tegn `"."` efter `NickServ`?

5. O.k., meddelelsen er meget renere, men en KILL fra NickServ er ikke egentlig så vigtig, så lad os sende den videre til vinduet `!discard`.

       Match: ^\*\*\*.*KILL message.*\(NickServ Enforcement\)
       Fra: ^(?:˜\S+˜)
       Til:  ˜!discard˜

   Reglen som matcher søger efter KILL-meddelelsen og forsikrer sig om at den er fra NickServ. Bemærk at både `\(` og `\)` bruges i regulære udtryk, derfor skal vi citere dem. Dette ligner meget hvad vi sagde to eksempler tidligere.

6. Nu har vi bortfiltreret alle KILL fra NickServ, men meddelelsen er stadigvæk ganske svær at læse ved at kun kaste et blik på den. Så lad os ændre rækkefølge til noget lignende:

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

       Match: \*\*\*.*KILL message
       Fra: \*\*\*.*for (.*?) from (.*?)\. \((.*?)\).*
       Til: *** [KILL] $$2 killed $$1 ($$3)

   O.k., strengen som matcher leder efter `***nogenting KILL message`. Vi kan ikke bruge `ˆ` eftersom vi netop kan have tillagt `˜<vindue>˜`.

   Fra-linjen er lidt mere interessant. `"for (.*?) "` leder efter ordet "for" fulgt af lidt tekst. `.*?` betyder: match intet eller mere af hvad som helst andet end en nylinje, men det er ikke grådigt. Reglen er at stoppe når den første stopbetingelse findes, ikke det sidste. Med andre ord matcher det alt indtil et mellemrum findes. De omgivende `()` betyder: gem indeholdet. Hvert () gemmer værdien som matches i `$nummer`, hvor `nummer` begynder med 1 for den første delstreng, osv. I dette tilfælde, bliver `$1` alias/informationen for personen det drejer sig om. `$2` udfyldes senere med navnet på den som gjorde KILL. Mellem `()` finder vi grunden. Her bliver `(` og `\(` noget forvirrende. Husk at `\(` matcher selve tegnet `'('`.

7. Hvordan du farvelægger dit liv.

   O.k., så du vil tilføje lidt farve til &ksirc;. Se afsnittet om farve for information om farver, men her er en filterregel som farvelægger alias mellem `<NICK>` på hver linje:

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

   Tager alias og tilføjer farve nummer 4 mellem de to `<>`. `˜c` fjerner farven.

## Taster

Dette er en liste med genvejstaster og kommandotaster som er tilgængelige under &ksirc;.

Tastebindinger

Tastebinding | Handling
--- | ---
&Ctrl;N | Åbner et nyt kanalvindue eller forespørgselsvindue.
&Ctrl;Q | Afslut
&Ctrl;Enter | Begynd på en meddelelse til den person som sidst sendte dig en meddelelse.
&Ctrl;&Shift;Enter | Begynd på en meddelelse til den næstsidste person som sendte dig en meddelelse.
&Ctrl;K | Begynd farvekode med et nummer. Tekst som du skriver efter dette bliver farvelagt.
&Ctrl;U | Begynd eller afslut understregning af tekst. Tekst efter den første forekomst af dette bliver understreget indtil du indskriver genvejstasten igen.
&Ctrl;I | Begynde eller afslut kursiv tekst. Tekst efter den første forekomst af dette bliver i kursiv indtil du indskriver genvejstasten igen.
&Ctrl;B | Begynd eller afslut fed type. Tekst efter den første forekomst af dette skrives med fed type indtil du indskriver genvejstasten igen.
&Ctrl;R | Begynd eller afslut omvendt tekst. Tekst efter den første forekomst af dette bliver omvendt tekst indtil du indskriver genvejstasten igen.
Tabulator | Forsøger at fuldstændiggøre et alias for en i kanalen, baseret på teksten som du indskrev. Du kender sikkert til dette fra din kommandolinje, selvom det ikke nødvendigtvis virker nøjagtig på samme måde. Se .

## Medvirkende og licens

&ksirc; ophavsret 1997-2002, &ksirc;-udviklerne.

Dele af dokumentationen, ophavsret 1997, Andrew Stanley Jones

Dokumentationen opdateret for &kde; 3.0 af Philip Rodrigues phil.rod@ntlworld.com

&erik.kjaer.pedersen.credit; &underFDL; &underGPL;

## Installation

### Hvor får man fat på &ksirc;

&install.intro.documentation;

### Kompilering og installation

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