Irssi

Från Dagispedia
Hoppa till:navigering, sök
Ljuvliga ansi!

Gudarnas mirkkklient.

Används med fördel tillsammans med screen. Man kan idle:a då!


(rapid håller på fylla på den här artikeln, stfu)


Screen

http://www.gnu.org/software/screen/

Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells. [snip] All windows run their programs completely independent of each other. Programs continue to run when their window is currently not visible and even when the whole screen session is detached from the users terminal.

Kort sagt, om vi kör vår klient genom screen kan vi låta den köra även när vi avslutat terminalsessionen mot vår skalserver. Screen klarar mycket mer, men detta är vad vi här kommer använda det till.

Screen version 4.00.02 (FAU) 5-Dec-03 användes för denna artikeln.

Lite viktiga kommandon för screen:

Från skalet:
Kommando Beskrivning
screen -h Visar hjälp för screen.
screen -S <namn> Skapar en session med namnet <namn>.
screen -ls Används för att lista screen-sessioner (se exempel nedan).
screen -r <pid/namn> Återkallar en detatched session.
screen -d <pid/namn> Detach en redan attached session.
screen -Rd <pid/namn> Reattach en redan attached session, men lite våldsammare!


Lista på sessioner:

rapid@skal:~$ screen -ls
There are screens on:
       7551.irssi      (Detached)
       9563.centericq  (Attached)
2 Sockets in /var/run/screen/S-rapid.

Här finns alltså en screen vid namn irssi med pid 7551 och en som heter centericq med pid 9563. För att kunna återuppta den senare skulle vi kunna skriva:

screen -Rd center

Det räcker alltså med en del av namnet.

I en screen:
Kommando Beskrivning
Ctrl-A Den knappkombination som signalerar 'screen command' som standard. Kan bytas och kallas därför <command> nedan.
<command> : Startar screens kommandoskal, :help vistar möjliga kommandon.
<command> d Detatch av aktuell screen.
<command> x Lås aktuell screen. Lösenord krävs för att återaktivera.


screen.rc

Filen ~/.screenrc används för att initiera screen med specifika inställningar, nedan finns ett exempel på hur filen kan se ut.

startup_message off
vbell off
escape ^Zz

Denna kommer slå av start-skärmen som visar information om screen vid skapandet av en session, slå av visuell signalering (skärmen blinkar vid beeps) samt byter <command> till Ctrl-Z


Annat

Du kan låta din screen låsas efter en viss tids inaktivitet, så du slipper göra det manuellt, eller hur Lo0?

<command> :idle 120 lockscreen

Skulle låsa den efter 120 sekunders inaktivitet. Detta går givetvis att göra i screenrc också.


PuTTY

Många använder PuTTY för att mirkka sig, som standard har inte putty visual bell aktiverat. Ändra detta i inställningarna under Terminal/Bell och kryssa i Visual bell i "Set the style of bell" om du inte vill ha ljud, eller ändra till Flashing under "Taskbar/captition indication of bell".

PuTTY 0.58 användes här.


Irssi

Nu är det hög tid att gå in på själva klienten, irssi. För denna artikel användes Irssi v0.8.10. På irssis hemsida finns förrutom dokumentation även themes och scripts, vilket förändrar klientens utseende och beteende.

För att starta irssi, skriv helt enkelt irssi i ett skal, förhoppningsvis hade du det installerat redan.

Interface

Skriv nere, läs uppe.

Stäng ett fönster med /wc Öppna en query med /q <nick>, stäng med /q

Navigering

Hoppa direkt till ett fönster med

Esc|Alt + <1 - 0, q - o>

eller

/window [nummer]

Du kan även bläddra genom fönsterna med

Ctrl + p, Ctrl + n

alternativt

Alt + vänster, högerpil

Är du ansluten till flera ircnät kan du bläddra genom dem med

Ctrl + X

Inställningar

Spara inställningar

För att spara inställningarna används

/layout save
/save

Den första sparar alla variabler vilket innebär aliases och samtliga inställningar förrutom fönsterkonfigurationen, vilket det andra kommandot hanterar.

Scrollback

För att få med sekunder i loggen

/format timestamp {timestamp %%H:%%M:%%S }

För att få 3 dagars scrollback

/set scrollback_time 3day

Hilights

För att hilighta på texten 'hest'

/hilight hest

För att lista aktuella hilights

/hilight

För att ta bort hilight på texten 'hest'

/dehilight hest

För att ändra färgen på hilights i kanaler till ljusrött

/set hilight_color %R

Beep

Följande kommer göra så att irssi piper till vid privata meddelanden samt rader i kanaler som hilightats.

/set beep_msg_level MSGS DCCMSGS HILIGHT
/set bell_beeps ON
/set beep_when_away ON
/set beep_when_window_active ON

Completion

Irssi stödjer kompletering av nicks, kommandon och parametrar, ett tryck på TAB så ordnar allting sig. Eller flera tryck.

Du kan även låta irssi korrigera dina felstavningar, lägg till med

/completion [-auto] <fel> <rätt>

ta bort med

/completion -delete "<fel>"

Nätverk

/network add <nätnamn>
/network add -nick <nick> <nätnamn>
/network remove <nätnamn>
/network list

Servrar

/server add <adress>
/server add -network <nätnamn> <adress>
/server add -auto -network <nätnamn> <adress> 
/server remove <adress>
/server list

Kanaler

/channel add <namn> <nätnamn>
/channel add -auto <namn> <nätnamn>
/channel remove <namn> <nätnamn>
/channel list


Script

För att enkelt kunna visa hilights, men bara de som visats sedan du senast visade dem:

/alias lh lastlog -hilight -new

För att lägga till alla nuvarande kanaler i autojoin (allt på en rad):

/alias ADDALLCHANNELS script exec foreach my \$channel (Irssi::channels()) 
{ Irssi::command("channel add -auto \$channel->{name} \$channel->{server}->{tag} \$channel->{key}")\;}

Allmänt

mIRC

mIRC är teh sucks.

Färger

Klart du ska ha lite färger! Texten är snodd från irssi.org

Irssi's colors that you can use in text formats, hilights, etc. :

                           text            text            background
   ---------------------------------------------------------------------
   %k      %K      %0      black           dark grey       black
   %r      %R      %1      red             bold red        red
   %g      %G      %2      green           bold green      green
   %y      %Y      %3      yellow          bold yellow     yellow
   %b      %B      %4      blue            bold blue       blue
   %m      %M      %5      magenta         bold magenta    magenta
   %p      %P              magenta (think: purple)
   %c      %C      %6      cyan            bold cyan       cyan
   %w      %W      %7      white           bold white      white
   %n      %N              Changes the color to "default color", removing
                           all other coloring and formatting. %N is always
			   the terminal's default color. %n is usually too,
			   except in themes it changes to "previous color",
			   ie. hello = "%Rhello%n" and "%G{hello} world"
			   would print hello in red, and %n would turn back
			   into %G making world green.
   %F                      Blinking on/off (think: flash)
   %U                      Underline on/off
   %8                      Reverse on/off
   %9      %_              Bold on/off
   %:                      Insert newline
   %|                      Marks the indentation position
   %#                      Monospace font on/off (useful with lists and GUI)
   %%                      A single %

 In .theme files %n works a bit differently. See default.theme
 for more information.


 MIRC colors that you can use when writing text to channel:

               foreground (fg)     background (bg)
   -------------------------------------------------------
    0          white               light gray   + blinking fg
    1          black               black
    2          blue                blue
    3          green               green
    4          light red           red          + blinking fg
    5          red                 red
    6          magenta (purple)    magenta
    7          orange              orange
    8          yellow              orange       + blinking fg
    9          light green         green        + blinking fg
    10         cyan                cyan         
    11         light cyan          cyan         + blinking fg
    12         light blue          blue         + blinking fg
    13         light magenta       magenta      + blinking fg
    14         gray                black        + blinking fg 
    15         light gray          light gray

 These colors may differ depending on your terminal. In particular
 the meaning for background may be the same as for the foreground
 (bright colors, no blinking), and orange often looks like brown or
 dark yellow.

 How to use these colors ('#' means a number as MIRC color code):
 
 <Ctrl>-b        set bold
 <Ctrl>-c#[,#]   set foreground and optionally background color
 <Ctrl>-o        reset all formats to plain text
 <Ctrl>-v        set inverted color mode
 <Ctrl>-_        set underline
 <Ctrl>-7        same as <Ctrl>-_
 
 To reset a mode set it again, f.e.
   <Ctrl-C>3<Ctrl-V>FOO<Ctrl-V>BAR
 creates black on green FOO followed by a green on black BAR

UTF-8

Du stör dig på all UTF-8 text och vill att irssi bara ska skicka text i Latin-1, och visa all inkommande text korrekt för dig, börja med följande:

/set recode_fallback = ISO-8859-15
/set recode_out_default_charset = ISO-8859-15
/set recode_transliterate = ON
/set recode_autodetect_utf8 = ON
/set recode = ON

Sen, om du har en Latin-1 klient:

/set term_charset = ISO-8859-15

Om du har en UTF-8 terminal:

/set term_charset = UTF-8


Lathund för autoconnect med autojoin

Ok, din skalserver dog, din irssi terminerades, du vill inte behöva joina alla kanaler igen. Usch, tvi, fy. Gör så här så slipper du:


1: Ställ in nätet, upprepa för alla nät.

/network add <nätnamn>

2: Ställ in en server för nätet och anslut till det, upprepa för alla nät enligt ovan.

/server add -auto -network <nätnamn> <adress>
/connect <nätnamn>

3: Har du fler servrar till näten, lägg in dem med (som du ser autoconnectas dom inte till)

/server add -network <nätnamn> <adress>

4: Gå in i kanalerna, repetera för varje nät och kanal.

/join -<nätnamn> <kanalnamn>

5: Låt irssi spara alla kanaler och alla andra inställningar

/ADDALLCHANNELS 
/layout save
/save