NASIL Irssi

From Lapis Wiki

Jump to: navigation, search

Irssi ile IRC

Irssi konsol tabanli IRC yazilimidir, ve konsol da calismayi sevenleri icin vazgecilemez bir programdir.

  • irssi kurulumu

Kullandigini paketyöneticisi ile irssi yi kurun.

#pacman -S irssi

#apt-get install irssi

#rpm -Ivh irssi_VERSION.rpm 

#emerge irssi 


  • Kullanici ve Server ayarlari

Daha programi baslatmadan önce ~/.irssi/config dosyasini düzenliyoruz. Bunun icin benim kullandigim dosyayi kullanabilirsiniz (degistirmeniz gerek yerlere asagida deginecegim)


Dosya: ~/irssi/config
servers = (
  { 
    address = "irc.eu.freenode.net";
    chatnet = "freenode";
    port = "6667";
  }
);

chatnets = {
  freenode = {
    autosendcmd = "/^msg Nickserv identify NICK_SIFRENIZ wait -freenode 800";
    type = "IRC";
  };
  freenode = { type = "IRC"; };
};

channels = (
  { 
    name = "#kanalismi1,#kanalismi2";
    chatnet = "freenode";
    autojoin = "yes";
  }
);

aliases = {
  J = "join";
  WJOIN = "join -window";
  WQUERY = "query -window";
  LEAVE = "part";
  BYE = "quit";
  EXIT = "quit";
  SIGNOFF = "quit";
  DESCRIBE = "action";
  DATE = "time";
  HOST = "userhost";
  LAST = "lastlog";
  SAY = "msg *";
  WI = "whois";
  WII = "whois $0 $0";
  WW = "whowas";
  W = "who";
  N = "names";
  M = "msg";
  T = "topic";
  C = "clear";
  CL = "clear";
  K = "kick";
  KB = "kickban";
  KN = "knockout";
  BANS = "ban";
  B = "ban";
  MUB = "unban *";
  UB = "unban";
  IG = "ignore";
  UNIG = "unignore";
  SB = "scrollback";
  UMODE = "mode $N";
  WC = "window close";
  WN = "window new hide";
  SV = "say Irssi $J ($V) - http://irssi.org/";
  GOTO = "sb goto";
  CHAT = "dcc chat";
  RUN = "SCRIPT LOAD";
  UPTIME = "eval exec - expr `date +%s` - \\$F | awk '{print \"Irssi uptime: \"int(\\\\\\$1/3600/24)\"d \"int(\\\\\\$1/3600%24)\"h \"int(\\\\\\$1/60%60)\"m \"int(\\\\\\$1%60)\"s\" }'";
  CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi";
  SBAR = "STATUSBAR";
  INVITELIST = "mode $C +I";
  Q = "QUERY";
  "MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
  EXEMPTLIST = "mode $C +e";
  ATAG = "WINDOW SERVER";
};

statusbar = {
  # formats:
  # when using {templates}, the template is shown only if it's argument isn't
  # empty unless no argument is given. for example {sb} is printed always,
  # but {sb $T} is printed only if $T isn't empty.

  items = {
    # start/end text in statusbars
    barstart = "{sbstart}";
    barend = "{sbend}";

    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:$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://irssi.org/help/";

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

  # there's two type of statusbars. root statusbars are either at the top
  # of the screen or at the bottom of the screen. window statusbars are at
  # the top/bottom of each split window in screen.
  default = {
    # the "default statusbar" to be displayed at the bottom of the window.
    # contains all the normal items.
    window = {
      disabled = "no";

      # window, root
      type = "window";
      # top, bottom
      placement = "bottom";
      # number
      position = "1";
      # active, inactive, always
      visible = "active";

      # list of items in statusbar in the display order
      items = {
        barstart = { priority = "100"; };
        time = { };
        user = { };
        window = { };
        window_empty = { };
        lag = { priority = "-1"; };
        act = { priority = "10"; };
        more = { priority = "-1"; alignment = "right"; };
        barend = { priority = "100"; alignment = "right"; };
      };
    };

    # 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"; };
      };
    };

    # 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"; };
      };
    };

    # topicbar
    topic = {
      type = "root";
      placement = "top";
      position = "1";
      visible = "always";
      items = {
        topicbarstart = { priority = "100"; };
        topic = { };
        topic_empty = { };
        topicbarend = { priority = "100"; alignment = "right"; };
      };
    };
  };
};
settings = {
  core = {
    real_name = "AD SOYAD";
    user_name = "KULLANICI_ISMI";
    nick = "KULLANDIGINIZ_KIMLIK";
  };
  "fe-common/core" = { autolog = "yes"; };
  "irc/core" = { alternate_nick = "KULLANDIGINIZ_2KIMLIK"; };
};

#herhangi bir kulaniciyi ignore etmek isterseniz bu sekilde ekliyebilirsiniz örn. huseyin kullaniciyi.
#fazlasini eklemek icin altsatira ayni sekilde yazin.
ignores = ( { mask = "NICK"; level = "ALL"; } );

Dikkat: degistirmeniz gereken bölümler server,kanal,ve user bölümleri (satir 3,4,5,10,11,19,20,187,188,189,192)

Simdi tek yapmamiz gereken sey bir alias olusturmak.

$ echo "alias irssi=\"irssi -c freenode\"" >> ~/.bashrc

(normal olarak bu aliasin yeterli olmasi lazim, eger olmazsa /etc/profile dosyanizin sonuna alias bölümü ekliyebilirsiniz

alias irssi="irssi -c freenode"

NOT: yukardaki alias ta kullanilan freenode benim kullandigim server, bunu config dosyasinda ve alias yazarken degistirin.

  • irssi yi calistirmak
 $irssi 

komutunu konsoldan vererek baslatiyoruz.

  • irssi kullanimi

Ayarlari yapip istedigimiz server/kanala girdiktan sonra

ALT+ 1,2,3,4 vs .vs tuslari ile kanal degistirip yazabiliriz.

[12:44] [huseyin(+ei)] [3:#kanalismi(+n)] [Act: 2]

[3:#kanalismi(+n)] su an icinde bulundugum kanal

[Act: 2] (aktif, mesaj gönderilen kanal) ALT+2 tusu ile o kanala gecebiliriz.


Biriyle özel konuşmak için

/q isim

Herhangi bir kanali kapatmak icin ise örn. kanal 2 icin

/window close 2

Kanalin Topic` ini okumak icin

/topic

Kanaldaki kullanicilari görmek icin

/names

Dosya transferi icin ise

/dcc send NICK /nerde/bu/dosya

Size gönderilen bir Dosya icin ise

/dcc get GÖNDEREN_NICK dosya

irssi ayarlarini görüntülemek icin ise ALT+1 (server penceresinde)

/set ile görüntülüyoruz

herhangi bir ayari aktif etmek icin ise

/set secenek on/PATH/degerler olarak degistirip


log dosyasi ~/irclogs/ dizinine yaziliyor (herkese log tutmasini tavsiye ederim)

eger log tutmak istemiyorsaniz:

/set autog off ile iptal edip /save ile config dosyaniza yazdirabilirsiniz

Irssi de script kullanmak icin önce scriptleri

~/.irssi/scripts/ altina yerlestirin ve sonra

/script load script.pl ile scripti yükleyin

İndirdiğiniz temaları ~/.irssi/ altına koyduktan sonra şu şekilde seçebilirsiniz

/set theme temaismi

Arzunuza göre tüm ayarlari yaptiktan sonra

/save ile config dosyanin yazilmasini sagliyoruz.

Yardimlarinda dolayi revlo ve bluepixel e tesekkür ederim

Huseyin Kaya