irssi
This is an old revision of the document!
Table of Contents
IrSSi
Best Command line irc client.
Few simple things before you start using.
Common IRC commands
To register your nick on IRC
/msg nickserv register PASSWORD EMAIL
To verify your password
/msg nickserv identify PASSWORD
List Channel
/list
Join Channel
/join #<channel_name>
list all user
/who #<channel_name>
Give OP to all user
/op -YES *
IrSSi Settings
Environment File
~/.irssi/config
Save environment
/save
How to change theme on irssi
/set theme easyeye
Set DCC download folder
/set dcc_download_path /home/username
Set file permission after download
/set dcc_file_create_mode 660
NOTE : For security do not set mod with (x)
My Environment
- | ~/.irssi/config
servers = ( { address = "irc.stealth.net"; chatnet = "IRCnet"; port = "6668"; }, { address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; }, { address = "irc.undernet.org"; chatnet = "Undernet"; port = "6667"; }, { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; }, { address = "irc.quakenet.org"; chatnet = "QuakeNet"; port = "6667"; use_ssl = "no"; ssl_verify = "no"; autoconnect = "yes"; } ); chatnets = { IRCnet = { type = "IRC"; max_kicks = "4"; max_msgs = "5"; max_whois = "4"; max_query_chans = "5"; }; EFNet = { type = "IRC"; max_kicks = "4"; max_msgs = "3"; max_whois = "1"; }; Undernet = { type = "IRC"; max_kicks = "1"; max_msgs = "3"; max_whois = "30"; }; DALnet = { type = "IRC"; max_kicks = "4"; max_msgs = "3"; max_whois = "30"; }; QuakeNet = { type = "IRC"; max_kicks = "1"; max_msgs = "3"; max_whois = "30"; } }; channels = ( { name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; }, { name = "silc"; chatnet = "silc"; autojoin = "No"; }, { name = "#linux"; chatnet = "QuakeNet"; 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 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:$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://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 = "Ketan"; user_name = "ketan"; nick = "ketan"; awaylog_level = "MSGS HILIGHT"; awaylog_file = "~/irc/away.log"; }; "fe-text" = { actlist_sort = "refnum"; }; "fe-common/core" = { theme = "thirdeye"; autolog = "yes"; autolog_path = "~/irc/%Y/$tag/$0.%m-%d.log"; autolog_level = "ALL -CRAP -CLIENTCRAP -CTCPS"; completion_auto = "yes"; BEEP_WHEN_AWAY = "yes"; window_auto_change = "yes"; }; }; hilights = ( { text = "nick"; nick = "yes"; word = "yes"; } ); logs = { };
- | ~/.irssi/default.theme
# When testing changes, the easiest way to reload the theme is with /RELOAD. # This reloads the configuration file too, so if you did any changes remember # to /SAVE it first. Remember also that /SAVE overwrites the theme file with # old data so keep backups :) # TEMPLATES: # The real text formats that irssi uses are the ones you can find with # /FORMAT command. Back in the old days all the colors and texts were mixed # up in those formats, and it was really hard to change the colors since you # might have had to change them in tens of different places. So, then came # this templating system. # Now the /FORMATs don't have any colors in them, and they also have very # little other styling. Most of the stuff you need to change is in this # theme file. If you can't change something here, you can always go back # to change the /FORMATs directly, they're also saved in these .theme files. # So .. the templates. They're those {blahblah} parts you see all over the # /FORMATs and here. Their usage is simply {name parameter1 parameter2}. # When irssi sees this kind of text, it goes to find "name" from abstracts # block below and sets "parameter1" into $0 and "parameter2" into $1 (you # can have more parameters of course). Templates can have subtemplates. # Here's a small example: # /FORMAT format hello {colorify {underline world}} # abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; } # When irssi expands the templates in "format", the final string would be: # hello %G%Uworld%U%n # ie. underlined bright green "world" text. # and why "$0-", why not "$0"? $0 would only mean the first parameter, # $0- means all the parameters. With {underline hello world} you'd really # want to underline both of the words, not just the hello (and world would # actually be removed entirely). # COLORS: # You can find definitions for the color format codes in docs/formats.txt. # There's one difference here though. %n format. Normally it means the # default color of the terminal (white mostly), but here it means the # "reset color back to the one it was in higher template". For example # if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would # print yellow "foo" (as set with %Y) but "bar" would be green, which was # set at the beginning before the {foo} template. If there wasn't the %g # at start, the normal behaviour of %n would occur. If you _really_ want # to use the terminal's default color, use %N. ############################################################################# # default foreground color (%N) - -1 is the "default terminal color" default_color = "-1"; # print timestamp/servertag at the end of line, not at beginning info_eol = "false"; # these characters are automatically replaced with specified color # (dark grey by default) replaces = { "[]=" = "%K$*%n"; }; abstracts = { ## ## generic ## # text to insert at the beginning of each non-message line line_start = "%B-%W!%B-%n "; # timestamp styling, nothing by default timestamp = "$*"; # any kind of text that needs hilighting, default is to bold hilight = "%_$*%_"; # any kind of error message, default is bright red error = "%R$*%n"; # channel name is printed channel = "%_$*%_"; # nick is printed nick = "%_$*%_"; # nick host is printed nickhost = "[$*]"; # server name is printed server = "%_$*%_"; # some kind of comment is printed comment = "[$*]"; # reason for something is printed (part, quit, kick, ..) reason = "{comment $*}"; # mode change is printed ([+o nick]) mode = "{comment $*}"; ## ## channel specific messages ## # highlighted nick/host is printed (joins) channick_hilight = "%C$*%n"; chanhost_hilight = "{nickhost %c$*%n}"; # nick/host is printed (parts, quits, etc.) channick = "%c$*%n"; chanhost = "{nickhost $*}"; # highlighted channel name is printed channelhilight = "%c$*%n"; # ban/ban exception/invite list mask is printed ban = "%c$*%n"; ## ## messages ## # the basic styling of how to print message, $0 = nick mode, $1 = nick msgnick = "%K<%n$0$1-%K>%n %|"; # message from you is printed. "msgownnick" specifies the styling of the # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the # whole line. # Example1: You want the message text to be green: # ownmsgnick = "{msgnick $0 $1-}%g"; # Example2.1: You want < and > chars to be yellow: # ownmsgnick = "%Y{msgnick $0 $1-%Y}%n"; # (you'll also have to remove <> from replaces list above) # Example2.2: But you still want to keep <> grey for other messages: # pubmsgnick = "%K{msgnick $0 $1-%K}%n"; # pubmsgmenick = "%K{msgnick $0 $1-%K}%n"; # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n"; # ownprivmsgnick = "%K{msgnick $*%K}%n"; # privmsgnick = "%K{msgnick %R$*%K}%n"; # $0 = nick mode, $1 = nick ownmsgnick = "{msgnick $0 $1-}"; ownnick = "%W$*%n"; # public message in channel, $0 = nick mode, $1 = nick pubmsgnick = "{msgnick $0 $1-}"; pubnick = "%N$*%n"; # public message in channel meant for me, $0 = nick mode, $1 = nick pubmsgmenick = "{msgnick $0 $1-}"; menick = "%Y$*%n"; # public highlighted message in channel # $0 = highlight color, $1 = nick mode, $2 = nick pubmsghinick = "{msgnick $1 $0$2-%n}"; # channel name is printed with message msgchannel = "%K:%c$*%n"; # private message, $0 = nick, $1 = host privmsg = "[%R$0%K(%r$1-%K)%n] "; # private message from you, $0 = "msg", $1 = target nick ownprivmsg = "[%r$0%K(%R$1-%K)%n] "; # own private message in query ownprivmsgnick = "{msgnick $*}"; ownprivnick = "%W$*%n"; # private message in query privmsgnick = "{msgnick %R$*%n}"; ## ## Actions (/ME stuff) ## # used internally by this theme action_core = "%W * $*%n"; # generic one that's used by most actions action = "{action_core $*} "; # own action, both private/public ownaction = "{action $*}"; # own action with target, both private/public ownaction_target = "{action_core $0}%K:%c$1%n "; # private action sent by others pvtaction = "%W (*) $*%n "; pvtaction_query = "{action $*}"; # public action sent by others pubaction = "{action $*}"; ## ## other IRC events ## # whois whois = "%# $[8]0 : $1-"; # notices ownnotice = "[%r$0%K(%R$1-%K)]%n "; notice = "%K-%M$*%K-%n "; pubnotice_channel = "%K:%m$*"; pvtnotice_host = "%K(%m$*%K)"; servernotice = "%g!$*%n "; # CTCPs ownctcp = "[%r$0%K(%R$1-%K)] "; ctcp = "%g$*%n"; # wallops wallop = "%W$*%n: "; wallop_nick = "%n$*"; wallop_action = "%W * $*%n "; # netsplits netsplit = "%R$*%n"; netjoin = "%C$*%n"; # /names list names_prefix = ""; names_nick = "[%_$0%_$1-] "; names_nick_op = "{names_nick $*}"; names_nick_halfop = "{names_nick $*}"; names_nick_voice = "{names_nick $*}"; names_users = "[%g$*%n]"; names_channel = "%G$*%n"; # DCC dcc = "%g$*%n"; dccfile = "%_$*%_"; # DCC chat, own msg/action dccownmsg = "[%r$0%K($1-%K)%n] "; dccownnick = "%R$*%n"; dccownquerynick = "%W$*%n"; dccownaction = "{action $*}"; dccownaction_target = "{action_core $0}%K:%c$1%n "; # DCC chat, others dccmsg = "[%G$1-%K(%g$0%K)%n] "; dccquerynick = "%G$*%n"; dccaction = "%W (*dcc*) $*%n %|"; ## ## statusbar ## # default background for all statusbars. You can also give # the default foreground color for statusbar items. sb_background = "%4%w"; # default backround for "default" statusbar group #sb_default_bg = "%4"; # background for prompt / input line sb_prompt_bg = "%n"; # background for info statusbar sb_info_bg = "%8"; # background for topicbar (same default) #sb_topic_bg = "%4"; # text at the beginning of statusbars. sb-item already puts # space there,so we don't use anything by default. sbstart = ""; # text at the end of statusbars. Use space so that it's never # used for anything. sbend = " "; topicsbstart = "{sbstart $*}"; topicsbend = "{sbend $*}"; prompt = "[$*] "; sb = " %c[%n$*%c]%n"; sbmode = "(%c+%n$*)"; sbaway = " (%GzZzZ%n)"; sbservertag = ":$0 (change with ^X)"; sbnickmode = "$0"; # activity in statusbar # ',' separator sb_act_sep = "%c$*"; # normal text sb_act_text = "%c$*"; # public message sb_act_msg = "%W$*"; # hilight sb_act_hilight = "%M$*"; # hilight with specified color, $0 = color, $1 = text sb_act_hilight_color = "$0$1-%n"; };
irssi.1289405649.txt.gz · Last modified: 2020/08/10 02:30 (external edit)