Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am using irssi client for IRC chat and I would like to know how to configure the ~/.irssi/config file so that I can put in my username and password (I have a registered Nick in the IRC). Also I'd like to know if I can configure it to open multiple terminals(as in gnome-terminal windows) to connect to different channels like #ubuntu, #ubuntu-in and so on. Or should I alias the command with different parameters so as to connect to different channels from different terminals.

share|improve this question

2 Answers 2

up vote 31 down vote accepted

You've asked a lot of questions in one, but I'll help you with as many of them as I can.

First, you need to add your IRC server of choice - fire up irssi, and type the following:

/server add -auto -network Freenode irc.freenode.net 6667

That will add the Freenode IRC network to your IRSSI config, and will automatically connect when you run irssi.

/network add -nick <your-nick> Freenode

That will add your nick to the new Freenode network, and will automatically use that nick whenever connecting to the network.

/channel add -auto #ubuntu Freenode

That will make you join #ubuntu on Freenode everytime you run irssi.

Assuming you have your nick registered, you can do this to identify automatically:

/network add -autosendcmd "/msg nickserv identify password ;wait 2000" Freenode

You can switch between channels with Alt-2, Alt-3, etc, with each channel being Alt-Number

If you're interested, here is my ~/.irrsi/config file:

servers = (
  { address = "irc.ubuntu.com"; chatnet = "Ubuntu"; port = "8001"; },
  #There is actually very little difference between irc.ubuntu.com
  # and irc.freenode.net - irc.u.c is just a redirect
  {
    address = "irc.freenode.net";
    chatnet = "Freenode";
    port = "6667";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  }
);
# I'm a freenode user all the way man
chatnets = {
  Freenode = {
    type = "IRC";
    nick = "changeme";
    autosendcmd = "/msg nickserv identify <password removed> ;wait 2000";
  };
};

# Channels I hang out in a lot. Change these to your own.
channels = (
  { name = "#2buntu"; 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";
  CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; 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";
  UNSET = "set -clear";
  RESET = "set -default";
};

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:$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 --";
  };

  # 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 = "Unknown"; user_name = "<your_user_name>"; nick = "<your_nick>"; };
  "fe-text" = { actlist_sort = "refnum"; };
};

If you're someone who likes to add all sorts of cool functionality, then you should take a look at the irssi scripts site - there are all sorts of little gems there.

share|improve this answer
    
Thanks for the quick reply. Awesome answer! Totally working and helped me understand irssi commands better as well! –  nitstorm Sep 15 '11 at 14:34
    
@nitstorm You're welcome! Glad to help. :) –  jrg Sep 15 '11 at 15:52
    
How do you msg? I cant' seem to use the msg command in Irssi :( –  streetlight Feb 14 at 13:32
1  
@streetlight I just do "/msg username message", and it opens up a new tab. –  jrg Feb 14 at 15:29
    
Sorry, yeah that helps. Didn't get a hang of the windows system yet. Thanks! –  streetlight Feb 14 at 16:07

If you start irssi in Ubuntu, it create a default configuration file in ~/.irssi/config already containing your data taken from system (nick and ident set to your username and realname to your Full Name).

There is the connection to freenode network already setup, just write /connect Ubuntu, then /join #ubuntu, and repeat for other favorite channels.

You can switch between channel with Alt-2, Alt-3, etc.

You can change nick with /nick nitstorm once connected to server, or change globally, executing the command /set nick nitstorm, then /save to modify permanently your config file. The same way you can change real_name and user_name with /set.

You can add autojoin channels with

/channel add -auto #ubuntu Ubuntu

(see /help channel for help).

You could also modify the config file by hand, but is better to execute commands to modify it inside irssi, then save the configuration.

You terminate your sessione with /quit.

share|improve this answer
    
Thanks for the quick response. A very nice answer :) –  nitstorm Sep 15 '11 at 14:32

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.