This shows you the differences between two versions of the page.
irssi [2010/11/10 16:14] k2patel |
irssi [2020/08/10 02:35] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== IrSSi ====== | ||
- | Best Command line irc client. | ||
- | Few simple things before you start using. | ||
- | |||
- | ==== Common IRC commands ==== | ||
- | == To register your nick on IRC == | ||
- | <code bash> | ||
- | /msg nickserv register PASSWORD EMAIL | ||
- | </code> | ||
- | == To verify your password == | ||
- | <code bash> | ||
- | /msg nickserv identify PASSWORD | ||
- | </code> | ||
- | == List Channel == | ||
- | <code bash> | ||
- | /list | ||
- | </code> | ||
- | == Join Channel == | ||
- | <code bash> | ||
- | /join #<channel_name> | ||
- | </code> | ||
- | == list all user == | ||
- | <code bash> | ||
- | /who #<channel_name> | ||
- | </code> | ||
- | == Give OP to all user == | ||
- | <code bash> | ||
- | /op -YES * | ||
- | </code> | ||
- | |||
- | ==== IrSSi Settings ==== | ||
- | |||
- | == Environment File == | ||
- | <code bash> | ||
- | ~/.irssi/config | ||
- | </code> | ||
- | |||
- | == Save environment == | ||
- | <code bash> | ||
- | /save | ||
- | </code> | ||
- | |||
- | == How to change theme on irssi == | ||
- | <code bash> | ||
- | /set theme easyeye | ||
- | </code> | ||
- | == Set DCC download folder == | ||
- | <code bash> | ||
- | /set dcc_download_path /home/username | ||
- | </code> | ||
- | == Set file permission after download == | ||
- | <code bash> | ||
- | /set dcc_file_create_mode 660 | ||
- | </code> | ||
- | NOTE : For security do not set mod with (x) | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ==== My Environment ==== | ||
- | <code bash | ~/.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 = { }; | ||
- | </code> | ||
- | |||
- | <code bash | ~/.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"; | ||
- | }; | ||
- | </code> |