Näin teet irssistä kauniin

04.12.2013: HUOM! LUE TÄMÄ ENSIN! Teeman hallinta on siirretty aikapäiviä sitten githubiin kokonaisuudessaan. Tämän sivun ohjeet ovat vanhentuneet, älä käytä niitä! Käytä sen sijaan githubin ohjeita. Sieltä saat ladattua myös uusimmat versiot päivityksineen. Kiitän. Huudella saa kyllä privassa rolle @ quakenet, vastaan mahdollisuuksien mukaan.

27.01.2013: Teema on siirretty githubiin!
26.01.2013: Opas päivitetty ja pitäisi toimia suoraan! Pahoittelut mahdollisista ongelmista! Toivottavasti toimii! Kysy rolle @ quakenet, jos ei toimi!
27.11.2010: Weed 3.6 ulkona.
26.11.2010: Weed 3.5 julkaistu!

Paljon on minulta kyselty irssin teemaamisesta, kun olen siinä kuulemma hyvä. Olen tehnyt teemoja noin tusinan verran, ja joitakin vanhoja löytyy myös irssi.orgin teemasivulta. Irssin teemasivua ei kuitenkaan päivitetä, ja noistakin on tullut joo uudet versiot. Teemojen uusimmat versiot voit ladata osoitteesta peikko.us/projects/irssi-themes (paitsi weed, joka on siis ajan tasalla githubissa).

Monen on vaikea uskoa että Linuxin tekstipohjaisesta IRC-clientistä irssistä saisi hienon näköisen. Oletusteema on mielestäni äärimmäisen karu. Siinä ei muuta väriä harmaiden ja valkoisten lisäksi ole oikeastaan kuin sinistä tilarivillä. Tämä opas keskittyy lähinnä, miten irssistä saa tämän näköisen (weed.theme):

Kuva Weed-irssi-teemasta

Tämän ohjeen suorittamiseen tarvitset perustietämyksen seuraavista asioista:

  1. Shelli/Linux-ympäristön käyttäytyminen (komentoja ei tarvitse osata)
  2. Irssi
  3. Screenin ajaminen

Jos yksi tai useampi ylläolevista meni yli hilseen, tämä opas ei ole sinulle. Sinun ei tarvitse tietää ylläolevista sen enempää kuin että osaat käyttää asioita joissa niitä tarvitset.

Envy-teema

Jos nyt ensin kuitenkin lämmiteltäisiin ja opeteltaisiin teemojen asentamista, ihan huvikseen. Moni on tykännyt myös vihreästä Envy -teemastani, joka toimii ilman erityisempiä säätöjä. Joten lämmittelynä asennetaan se nyt ensin. Skippaa pari kappaletta eteenpäin, jos haluat suoraan Weedin.

Oletuksenahan irssi näyttää jotakuinkin tältä (sinulla se saattaa näyttää hieman erilaiselta, esimerkiksi ilman läpinäkyvyyttä ja erilaisella fontilla, jos käytät Windowsia tai Macia. Vain Linuxissa, Macissa ja Windowsin puttytray-ohjelmassa taustan läpinäkyvöiminen on mahdollista):

Kuva irssistä

Aiemmin olemme hakeneet teeman wget-komennolla .irssi/themes -hakemistoon. En jaksa nyt jokaista pientä vaihetta näyttää kuvankaappauksella, joten kysy kanavalla neuvoa teemojen lataamisessa, jos et vielä osaa. Yhdellä komennolla se kuitenkin tapahtuu näin (ei irssi-ikkunassa, vaan komentorivillä!):

cd ~/.irssi/ && sleep 2 && wget http://peikko.us/projects/irssi-themes/envy/envy.theme && sleep 2 && mv ~/.irssi/envy-v5.1.theme ~/.irssi/envy.theme

Nyt teematiedosto envy.theme on irssikansiossasi.

Seuraavaksi voitkin käynnistää teeman kirjoittamalla irssiin (ei komentoriville!): /set theme envy, jolloin teema vaihtuu välittömästi. Sitten vielä testailemaan, eli itse ajoin /connect quakenet ja /join #pulina, mutta sinä varmaankin olitkin jo kanavilla, joten irkkiin yhdistämisen uudelleen voit unohtaa tässä tapauksessa :-) tässä vielä kuva envy-teemasta:

Kuva Envy-irssi-teemasta

Weed-teema

Nyt näit miten helppoa tämä on, joten mennäänpä itse asiaan. Ensin haetaan Weed-teema samalla tavalla, tällä komentorimpsulla (kaiken voi toki tehdä myös komento kerrallaan, mutta nopeutetaan hieman asioita):

cd ~/.irssi/ && sleep 2 && wget https://www.pulina.fi/irssi/weed.theme

Ja takaisin irssiin perinteisesti komennolla screen -dr, ja irssissä komento: /set theme weed. Irssin pitäisi näyttää nyt jotakuinkin tältä:

Kuva irssistä

Ei näytä vielä kovin hyvältä. Alapalkissa kaikki on yhteen pötköön, eikä mitään hienouksia ole. Vain raaka teema. Weed ei ole vain teema, se on paljon enemmän, ja vaatii siksi hieman laittoa.

Ensin laitetaan topic-palkki kuntoon. Timestamp kannattaa olla tunti:minuutti:sekunti-muodossa, joten kirjoitetaanpa

/set timestamp_format %H:%M:%S

Nyt pitäisi näkyä sekunnit.

Tämän jälkeen kaikista helpointa tämä kaikki on tehdä suoraan irssin config-tiedostosta, sillä en voi millään muistaa kaikkia niitä komentoja joita aikoinaan laittelin + osa oli pakko tehdä configgiin. Tätä ennen suosittelen varmuuskopioimaan vanhan configgisi, sillä en vastaa seurauksista! tällä tavoin varmistat sen että saat palautettua irssin sellaiseksi kuin se oli ennen muokkauksia. Varmuuskopioidaksesi, kirjoita komentorivillä

cp ~/.irssi/config ~/.irssi/config.varmuuskopio

Kirjoita irssissä /save tallentaaksesi nykyiset asetukset. Seuraavaksi mene komentoriville perinteisesti ctrl+A+D-näppäimiä käyttäen, ja kirjoita pico -w ~/.irssi/config. Jos komentoa ei lyödy, se tarkoittaa sitä että shellissäsi ei ole picoa asennettuna, joten kirjoita nano -w ~/.irssi/config. Jos nanoakaan ei löydy, shellisi on kuraa, ja joudut käyttämään vimiä (komento: vim ~/.irssi/config), jonka käyttöä en aio opettaa…

Jos ensimmäiset 2 riviä näyttävät tältä, olet oikeassa paikassa:

servers = (
  { address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },

Paina ctrl+W ja etsi hakusanalla

topicbarstart = "{topicsbstart}";

Asetusten pitäisi näyttää tältä:

    topicbarstart = "{topicsbstart}";
    topicbarend = "{topicsbend}";

    # treated "normally", you could change the time/user name to whatever
    time = "{sb $Z}";
    user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";

    # treated specially .. window is printed with non-empty windows,
    # window_empty is printed with empty windows
    window = "{sb $winref:$tag/$itemname{sbmode $M}}";
    window_empty = "{sb $winref{sbservertag $tag}}";
    prompt = "{prompt $[.15]itemname}";
    prompt_empty = "{prompt $winname}";
    topic = " $topic";
    topic_empty = " Irssi v$J - http://www.irssi.org";

    # all of these treated specially, they're only displayed when needed
    lag = "{sb Lag: $0-}";
    act = "{sb Act: $0-}";
    more = "-- more --";
  };

Korvaa punainen kohta kokonaisuudessaan tällä (se onnistuu valitsemalla poistettavat rivit ja painamalla ctrl+K muutaman kerran (alkaen riviltä jolla on ”#treated ”normally […]” siten että kaikki punaisella maalaamani rivit ovat poistettu (”# there’s two type […]” asti). Sitten vain ctrl+Insert liittääksesi, tai Windows-puttyssa hiiren oikea click):

    # treated "normally", you could change the time/user name to whatever
    time = "%K {sb %G$Z}%K {sbaway $A} %g$topic%K";
    user = "{sb {sbnickmode $cumode}{sbmode $usermode}}";

    # treated specially .. window is printed with non-empty windows,
    # window_empty is printed with empty windows
    
    window = "";
    #window_empty = "{sb %C{sbservertag $tag}}%n";   
    window_empty = "{sb $winref/{sbservertag $tag}}";
    #prompt = "$winref%K/{prompt $[.15]itemname}";
    prompt = "";
    prompt_empty = "{prompt $winname}";
    topic = " $topic"; 
    topic_empty = " Irssi v$J - http://irssi.org/help/";

    # all of these treated specially, they're only displayed when needed
    lag = "{sb Lag: $0-}";
    act = "{sb $0-}";
    more = "-- %Yhöpöhöpöläpäläpä%n --";
  };

Tallenna varmuuden vuoksi tässä vaiheessa painamalla ctrl+O. Nyt topic-palkin värit ja asetukset ovat kuosissa, ja päästään kunnolla vauhtiin :-). Paina ctrl+W:tä ja etsi:

window_inact = {

Löydät tällaisen kohdan:

    # statusbar to use in inactive split windows
    window_inact = {
      type = "window";
      placement = "bottom";
      position = "1";
      visible = "inactive";
      items = {
        barstart = { priority = "100"; };
        window = { };
        window_empty = { };
        more = { priority = "-1"; alignment = "right"; };
        barend = { priority = "100"; alignment = "right"; };
      };
      disabled = "yes";
    };

Sinulla ylläoleva näkyy ilman tuota vihreää. Lisää vihreä teksti juuri tuohon kohtaan, ja tämä vaihe on valmis.

Seuraavaksi tulemme kohtaan prompt. Jos et erota sitä, etsi ctrl+W:llä taas

prompt = {

Jolloin löytyy tällainen:

    # we treat input line as yet another statusbar :) It's possible to
    # add other items before or after the input line item.
    prompt = {
      type = "root";
      placement = "bottom";
      # we want to be at the bottom always
      position = "100";
      visible = "always";  
      items = {
        prompt = { priority = "-1"; };
        prompt_empty = { priority = "-1"; };
        # treated specially, this is the real input line.
        input = { priority = "10"; };
      };
    };

Korvaa yllä punaisella merkityt tällä:

      position = "1"; 
      visible = "active";  
      items = {
        input = { };
      };
    };

Nyt tulee ehkä isoin osuus. Tässä kohtaa jäsentelen kaikki palkit oikeille paikoilleen, ja teen viimeisiä silauksia. Etsi

topic = {

ja löydät tällaisen pätkän:

    # topicbar
    topic = {
      type = "root";
      placement = "top";
      position = "1";
      visible = "always";
      items = {
        topicbarstart = { priority = "100"; };
        topic = { };
        topic_empty = { };
        topicbarend = { priority = "100"; alignment = "right"; };
      };
    };
  };
};

Korvaa koko pätkä tällä:

    # topicbar
    topic = {
      type = "root";
      placement = "top";
      position = "2";
      visible = "always";
      items = {
        topicbarstart = { priority = "100"; };
        topic = { };
        topic_empty = { };
        topicbarend = { priority = "100"; alignment = "right"; };
      };
      disabled = "yes";
    };
    window_add = { items = { }; disabled = "yes"; };
    add = { disabled = "yes"; };
    delete = { disabled = "yes"; };
    prompt_empty = { position = "0"; disabled = "yes"; };
    #   rollestatus = { items = {  = { }; }; disabled = "yes"; };
    #   status = { items = { }; disabled = "yes"; };
    #   rollstatus = { disabled = "yes"; };
    asd = {
      position = "0";
      placement = "bottom";
      items = { };
      disabled = "yes"; 
    };
    topic_empty = { disabled = "yes"; };
    remove = { items = { }; disabled = "yes"; };
    channels = { items = { chanact = { }; }; disabled = "yes"; };
    statusbar = {
        
      #rollen statusbar:
      
      items = {
        #           barstart = "--------------";
        erotin = {
          items = { barstart = "asdasd--------------"; };
          priority = "100";
          alignment = "left";
          disabled = "no";
          placement = "bottom";
          position = "0";
        };
      };
    };
      
    
    "-before" = { disabled = "yes"; };
    aw1_0 = { position = "0"; disabled = "yes"; };
    empty = { placement = "bottom"; position = "0"; disabled = "yes"; };
    awl_0 = {
      items = {
        barstart = { priority = "100"; };
        usercount = { };
        awl_0 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
  };
};

Tämän pitäisi päättyä juuri ennen settings = { -asetuksia. Ole tarkkana. Muutosten jälkeen tallenna ctrl+O:lla, ja poistu ctrl+X:llä.

Koska Weed ei ole mikä tahansa teema, se käyttää paljon erilaisia scriptejä näyttääkseen hyvältä. Scripti on irssin toiminnallinen laajennus, ja monet scriptit tekevät ihmeitä irssin ulkoasulle.

Kaikki Weedin käyttämät scriptit saat tällä yhdellä ja ainoalla komennolla:

mkdir -p ~/.irssi/scripts && cd ~/.irssi/scripts && sleep 2 && wget https://www.pulina.fi/irssi/modified-scripts/weed-fin-awl.pl && sleep 1 && wget https://www.pulina.fi/irssi/modified-scripts/weed-fin-nickcolor.pl && sleep 1 && wget https://www.pulina.fi/irssi/modified-scripts/weed-fin-nicklist.pl && sleep 1 && wget https://www.pulina.fi/irssi/modified-scripts/weed-fin-trackbar.pl && sleep 1 && wget https://www.pulina.fi/irssi/modified-scripts/weed-fin-usercount.pl && mv weed-fin-awl.pl awl.pl && mv weed-fin-nickcolor.pl nickcolor.pl && nv weed-fin-nicklist.pl nicklist.pl && mv weed-fin-trackbar.pl trackbar.pl && mv weed-fin-usercount.pl usercount.pl

Seuraavaksi menemme irssiin ja toivomme parasta. Ensin kirjoitetaan /reload joka lataa muokkaamamme config-tiedoston. Nyt sinulla on melkein valmis tuunattu irssi, jonka pitäisi näyttää tältä:

Kuva irssistä

Teema ei näytä ihan siltä miltä pitäisi, koska palkit eivät suoraan conffista asetu, joten joitakin asetuksia täytyy vielä tehdä irssiin + ajaa scriptit ja niiden asetukset. Helpointa ja nopeinta tämä on tässä tapauksessa tehdä luomalla asennuskomento näin:

/alias asenna /statusbar window placement top;/statusbar topic disable;/run awl.pl;

…ja sen jälkeen kirjoittamalla yksinkertaisesti: /asenna. Awl (hieno palikka-kanavapalkki) tarvitsee vielä asetukset, sillä se on oletuksena suttua (”[1=1](status)” tai vastaavaa…). Se korjaantuu näillä asetuksilla:

/set awl_all_disable OFF
/set awl_automode sbar
/set awl_block 20
/set awl_columns 1
/set awl_display_key %K%0$H $N %N
/set awl_display_key_active %1 %W$C %N
/set awl_display_nokey %K%0$H $N %N
/set awl_display_nokey_active %1 %W$C %N
/set awl_height_adjust 1
/set awl_hide_data 0
/set awl_maxlines 9
/set awl_placement bottom
/set awl_position 0
/set awl_prefer_name ON
/set awl_sbar_maxlength ON
/set awl_separator %N %N
/set awl_sort refnum

Edit 23.11.2010: Jos topicin vieressä näkyy häiritsevä aktiivisuuspalkki (numeroita vierekkäin jotka näyttävät jos kanavalla on toimintaa), saat ruman palkin poistettua komennolla:

/statusbar window remove act

Pekafulla oli hyvä pointti: Awl-aktiivisuuspalkin väriä voi muuttaa muuttamalla yllä punaisella merkittyä kohtaa kyseisestä komennosta. Värit ovat %0=musta, %1=punainen, %2=vihreä, %3=keltainen, %4=sininen, %5=pinkki, %6=sinivihreä, %7=valkoinen. Tällä komennolla:

/set awl_display_key_active %4 %W$C %N

Valinnaisia scriptejä ovat mm. trackbar.pl (/run trackbar.pl, näet viivan alla uudet keskustelut), nicklist.pl (/run nicklist.pl ja /nicklist screen, näet oikealla puolella tyylikkään mirc-tyylisen käyttäjälistan), nickcolor.pl (/run nickcolor.pl, näet jokaisen nickin omalla värillään), ja usercount.pl (/run usercount.pl, /alias usercount /sbar awl_0 add -before awl_0 -alignment left usercount ja /usercount, näyttää kanavalla olijoiden määrän). Jos usercount ei jostain syystä näy (esim olet tappanut irssi-prosessin jostain kumman syystä) voit aina ladata sen uudestaan aliaksellamme /usercount.

Nyt awl on valmis ja lopputulos ainakin minulla täysin tämän oppaan mukaan alusta loppuun testattuna näyttää tältä (suurensin hieman ikkunaa kokonaisuuskuvan vuoksi, aiemmissa kuvankaappauksissa pidin ikkunaa pienempänä jotta näyttäisi tässä oppaassa nätimmältä :-) ):

Kuva Weed-irssi-teemasta

Huom! Linuxilla värit ovat oletuksena melko hyvät, ainakin gnome-terminalissa (joka on suurimmassa osassa gnomella varustetussa Linuxissa oletuksena Tango-värityksellä, johon minun väripalettini perustuu). Alta voit kopioida värit itsellesi vaikkapa Windowsilla ColorPicillä ja Linuxilla gcolorilla alta olevasta kuvasta. Mustat ovat kuitenkin tärkeimpiä: Tumma musta: #1C1C1C, ja vaalea musta: #555753. Windowsin PuTTyssa ei tarvitse muuttaa muuta kuin ANSI Black koodiin 25 25 25.

Kuva Weed-väripaletista

Kuten sanoin jo aiemmin, Linuxissa taustan läpinäkyvyyttä voi usein säädellä oletuksena, mutta Windowsissa se on vain muutamalla ohjelmalla mahdollista, kuten puttytraylla. Hyvä läpinäkyvyys on väliltä 222-255.

Teemaan ja asetuksiin voi tehdä omia viilauksia miten lystää. Toisaalta siinä tulee vastaan aina tietysti se että jotain täytyy irssin configuroinnista sekä scriptaamisesta tietää. jBauerin ehdotus oli kuitenkin hyvä. Jos haluat @ ja + -merkkien näkyvän nickien edessä (jonka olen teemasta ottanut pois…), tee seuraavasti:

Komentoriviltä:

pico -w ~/.irssi/weed.theme

Ja etsi seuraavaa (ctrl+W):

msgnick = "$0$1- %|";

Jolloin löydät:

  msgnick = "$0$1- %|";
  ownmsgnick = "{msgnick %G$1%K%_|}%w";
  ownnick = "$*";
  pubmsgnick = "{msgnick %r$1%K%_|}%w";
  pubnick = "$*";
  pubmsgmenick = "%G>%K{msgnick $1-%R|}%0%W";
  menick = "$*%n";
  # $0 = hilightin väri, $1 = mode, $2 = nick
  pubmsghinick = "%G>%K{msgnick $2-%R|}%0%W";

Korvaa ylläoleva osa tällä:

  msgnick = "$0$1- %|";  
  ownmsgnick = "{msgnick %Y$0%G$1-%K%_|}%w";
  ownnick = "$*";
  pubmsgnick = "{msgnick %Y$0%r$1-%K%_|}%w";
  pubnick = "$*";
  pubmsgmenick = "%G>%K{msgnick %Y$0%K$1-%R|}%0%W";
  menick = "$*%n";
  # $0 = hilightin väri, $1 = mode, $2 = nick
  pubmsghinick = "%G>%K{msgnick %Y$1 %K$2-%R|}%0%W";

Väri on keltainen, mutta sitä voit muutella muokkaamalla teematiedoston äsken muutettua pätkää, ja korvaamalla %Y (merkattu punaisella ylläolevaan koodiin) ennen modemuuttujaa eli $0:aa (paitsi viimeisessä kohdassa ”pubmsghinick” se on $1) jollain toisella värillä. Vihreä on %G, valkoinen %W, tummanharmaa %K, punainen %R ja niin edelleen.

Jos haluat että myös joineista, quiteista, ja parteista ilmoitetaan alapalkissa vihreänä, paa irssissä:

/set activity_msglevel JOINS PARTS QUITS PUBLIC

Teema mobiilissa

Weed on suunniteltu Nokian E90:lle, ja muille vastaavan kokoisille kommunikaattoreille. Teema ei oikein mahdu pieninäyttöiseen puhelimeen, joten suosittelen silloin käyttämään envyä (opas tämän artikkelin alussa), tai jotain muuta teemaa.

Pieninäyttöisillä puhelimilla teema toimii joten kuten pienellä tekstillä ja kun nicklistin ottaa pois komennolla /nicklist off. Normaalilla tekstillä ja nicklistillä ei mahdu…

Weedin kustomointien kanssa tavalliset teemat eivät näy oikein, joten jos haluat käyttää taas normiteemoja sinun täytyy palauttaa config varmuuskopiosta (kai muistit ottaa varmuuskopion?), kirjoittamalla komentorivillä:

rm -r ~/.irssi/config && mv ~/.irssi/config.varmuuskopio ~/.irssi/config

Ja sitten takaisin irssiin ja /reload. Jos jostain syystä unohdit varmuuskopioida, ainoana keinona on joko tehdä tämän oppaan ohjee takaperin (korvata configin muokkaukset alkuperäisillä), mikä on hieman haastavaa… tai sitten poistaa config ja käynnistää irssi uudelleen, jolloin menetät kaikki asetuksesi (serverit, kanavat, ulkoasuasetukset, nick/nimet, ym).

Jos teemassa jostain syystä bugaa ääkköset, järjestelmäsi käyttää eri merkistökoodausta kuin millä teema on koodattu. Asian saat todennäköisimmin ratkaistua tällä komennolla:

iconv -f utf-8 -t iso-8859-1 ~/.irssi/weed.theme > ~/.irssi/weed-iso.theme && rm -r ~/.irssi/weed.theme && mv ~/.irssi/weed-iso.theme ~/.irssi/weed.theme

Muista /save aina lopuksi! Jos haluat säilyttää logien teeman oletuksena, kannattaa asettaa /set log_theme default.

Se oli sitten lyhykäisyydessään siinä. Toivottavasti kaikki meni sinullakin kuin piti. Tämä opas oli pitkä, joten en yhtään ihmettele jos tuli typoja tai jotain meni väärin. Kerrothan kummassakin tapauksessa; jos olet saanut tämän oppaan avulla weedin pelaamaan, tai jos yritys on kaatunut johonkin vaiheeseen. Toistan: Kommentoi jos kokeilit! :-) Yritän auttaa mahdollisissa ongelmissa. Eipä tässä sitten muuta kuin irkkailemisiin!

ps. Jos käytät weediä, muista kiittää irkkailemalla #pulina:lla :-)

rolle

Tämän sivuston ja sen kanavan perustaja, ja ylläpitäjä, ystävällinen hevi-ihminen, elokuvafriikki joka harrastaa vapaa-aikanaan perhe-elämää ja tietokoneita.