commit bd593bfd5546a39e1e2d3bcf921f19af497565fa parent 60ed810b8c9d65e847298116e835f1856496d353 Author: Xiaodong Xu <[email protected]> Date: Sun May 20 12:31:49 +0800 Add irssi configuration Diffstat:
.irssi/default.theme | | | 465 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
.irssi/scripts/autorun/nickcolor.pl | | | 156 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
.irssi/scripts/autorun/notify.pl | | | 57 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
.irssi/scripts/autorun/wildpokemon.pl | | | 47 | +++++++++++++++++++++++++++++++++++++++++++++++ |
.muttrc | | | 14 | ++++++++------ |
diff --git a/.irssi/default.theme b/.irssi/default.theme @@ -0,0 +1,465 @@ +####################################################################### +# +# xchat.theme for irssi - http://waxman.org/irssi/xchat.theme (xchat.png) +# +# xchat.theme, Public Beta, 1.5.1 2004/08/06 +# +# Copyright 2004 Dave Waxman +# +# Please report any bugs to [email protected] +# +# For best results it is suggested you do the following: +# /set show_nickmode_empty on +# /set hide_server_tag on +# /set timestamp %H:%M:%S +# /set indent 28 +# +# This theme is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This theme is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this theme; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +####################################################################### + + +# default foreground color (%w) - -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 = { "[]=" = "%b$*%n"; }; + +abstracts = { + + # text to insert at the beginning of each non-message line + line_start = ""; + + # timestamp styling, nothing by default + timestamp = "%K[%n$0-%K]%n"; + + # 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 = "%K[%n$*%K]%n"; + + # server name is printed + server = "%_$*%_"; + + # some kind of comment is printed + comment = "$*"; + + # reason for something is printed (part, quit, kick, ..) + reason = "{comment $*}"; + + # highlighted nick/host is printed (joins) + channick_hilight = "%W$*%w"; + chanhost_hilight = "{nickhost %c$*%w}"; + + # nick/host is printed (parts, quits, etc.) + channick = "%w$*%w"; + chanhost = "{nickhost $*}"; + + # highlighted channel name is printed + channelhilight = "%n$*%n"; + + # ban/ban exception/invite list mask is printed + ban = "%c$*%n"; + + # Actions + + action_core = " %m * %K|%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}%W:%c$1%n "; + + # private action sent by others + pvtaction = "%G (*) $*%n "; + pvtaction_query = "{action $*}"; + + # public action sent by others + pubaction = "{action $*}"; + + # wallops + wallop = "%b$*%n: "; + wallop_nick = "%w$*"; + wallop_action = "%W * $*%n "; + + # DCC + dcc = " %w-%c-%C- %K|%G $*%n"; + dccfile = "%_$*%_"; + + # DCC chat, own msg/action + dccownmsg = "%K[%r$0%b($1-%b)%w%K] "; + dccownnick = "%R$*%n"; + dccownquerynick = "%G$*%n"; + dccownaction = "{action $*}"; + dccownaction_target = "{action_core $0}%W:%c$1%n "; + + # DCC chat, others + dccmsg = "%K[%G$1-%b(%g$0%b)%w%K]%n "; + dccquerynick = "%G$*%w"; + dccaction = "%W (*dcc*) $*%w %|"; + + ## + ## statusbar + ## + + # default background for all statusbars. You can also give + # the default foreground color for statusbar items. + sb_background = "%n%n"; + + # background for prompt / input line + sb_prompt_bg = "%w"; + # background for info statusbar + sb_info_bg = "%8"; + + # text at the beginning of statusbars. sb-item already puts + # space there,so we don't use anything by default. + sbstart = "%K-("; + # text at the end of statusbars. Use space so that it's never + # used for anything. + sbend = "%K)-"; + + topicsbstart = "{sbstart $*}"; + topicsbend = "{sbend $*}"; + + prompt = "%K[%w$tag%K/%m$cumode%c$*%K]%n "; + + + sb = " %m%K[%w$*%K]%m%n"; + sbmode = "%K(%n+%C$*%K)%n"; + sbaway = " %K(%MzZzZ%K)"; + sbservertag = "%n:$0 (change with ^X)"; + + # activity in statusbar + + # ',' separator + sb_act_sep = "%K$*"; + # 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-%w"; + + indent_default = " %K|%n "; +}; +formats = { + "fe-text" = { + lastlog_too_long = " %w-%c-%C- %K| %W/LASTLOG %nwould print %C$0 %nlines. Use the -force option to print all of them."; + lastlog_count = " %w-%c-%C- %K| %W/LASTLOG %C$0 $nlines"; + lastlog_start = " %w-%c-%C- %K| %nBegining of LASTLOG:"; + lastlog_end = " %w-%c-%C- %K| %nEnd of LASTLOG"; + lastlog_separator = " %w-%c-%C- %K| %c---"; + refnum_not_found = " %w-%c-%C- %K| %RERROR: %nWindow number %C{hilight $0] %ndoes not exist"; + window_too_small = " %w-%c-%C- %K| %RERROR: %nNot enough room to resize this window"; + cant_hide_last = " %w-%c-%C- %K| %RERROR: %nYou can't hide the last window"; + cant_hide_sticky_windows = " %w-%c-%C- %K| %RError: %nYou can't hide sticky windows"; + cant_show_sticky_windows = " %w-%c-%C- %K| %RError: %nYou can't show sticky windows"; + window_not_sticky = " %w-%c-%C- %K| %WWindow: %nWindow is not sticky"; + window_set_sticky = " %w-%c-%C- %K| %WWindow: %nWindow set sticky"; + window_unset_sticky = " %w-%c-%C- %K| %WWindow: %nWindow set not sticky"; + window_info_sticky = " %w-%c-%C- %K| %WWindow: %nWindow Sticky : $0"; + Window_info_scroll = " %w-%c-%C- %K| %WWindow: %nWindow Scroll : $0"; + paste_warning = " %w-%c-%C- %K| %rWARNING: %nTrying to paste %C$0%n lines to %W$1%n."; + paste_prompt = "%RPress Ctrl-K to continue, Ctrl-C to abort."; + }; + "fe-common/core" = { + line_start_irssi = ""; + join = " %w-%c-%C> %K|%n {channick_hilight $0} {chanhost_hilight $1} has joined %c{channel $2}"; + part = " %w<%c-%C- %K|%n {channick_hilight $0} {chanhost_hilight $1} has left %c{channel $_$2$_} %K(%n{reason $3}%K)"; + kick = " %w<%c-%C- %K|%n {nick $2} has kicked {channick_hilight $0} %nfrom %c{channel $_$1$_} %K(%n{reason $3}%K)"; + quit = " %w<%c-%C- %K|%n {channick_hilight $0} %K[%c$1%K] %nhas quit %K(%n{reason $2}%K)"; + names = " %w-%c-%C- %K|%C Users on $0:"; + names_prefix = " %w-%c-%C- %K| "; + names_nick_op = "%K[%C$0%n$1-%K] "; + names_nick_halfop = "%K[%c$0%n$1-%K] "; + names_nick_voice = "%K[%c$0%n$1-%K] "; + names_nick = "%K[%n$0$1%K] "; + endofnames = " %w-%c-%C- %K| %nUsers %c$1 %nnicks %K[%c$2 %nops, %c$3 %nhalfops, %c$4 %nvoices, %c$5 %nnormal%K]"; + quit_once = "{channel $3} {channick $0} {chanhost $1} %K(%n{reason $2}%K)%n {channel $_$2$_}"; + nick_changed = " %w-%c-%C- %K| %W$0 %nis now known as %C$1"; + chanmode_change = " %w-%c-%C- %K| %W{nickhilight $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]"; + channel_mode = " %w-%c-%C- %K| %W{nickhilight $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]"; + topic = " %w-%c-%C- %K| %nTopic for {channelhilight $0} is $1"; + new_topic = " %w-%c-%C- %K| %W{nick $0} %nhas changed the topic to: %C$2"; + topic_unset = " %w-%c-%C- %K| %nTopic unset by {nick $0} on {channel $1}"; + daychange = " %w-%c-%C- %K| %nDay changed to %%d %%b %%Y"; + your_nick_changed = " %w-%c-%C- %K| %nYou're now known as %W$1"; + + pubmsg = "%b<%w$2\00307$[-11]0%b>%K | %n$1"; + own_msg_private_query = "%m<%W$[-12]2%m> %K| %n$1"; + msg_private_query = "%b<%w$[-12]0%b>%K | %n$2"; + own_msg = "%m<%W$2$[-11]0%m>%K | %n$1"; + own_msg_private = "%G>%w$[-12]0%G<%K |%n $1-"; + pubmsg_me = "{pubmsgmenick $2{menick $[-11]0}}%K| %n$1"; + pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-11]0}{msgchannel $1}}%K | %n$2"; + pubmsg_hilight = "{pubmsghinick $0 $3 $[-11]1}%K| %n$2"; + pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-11]1{msgchannel $2}}%K| %n$3"; + pubmsg_channel = "{pubmsgnick {pubnick $[-11]0}{msgchannel $1}}%K | %n$2"; + + # pubmsg = "{pubmsgnick $2 {pubnick \00304$0}}$1"; + talking_with = " %w-%c-%C- %K| %nYou are now talking with %W$0"; + refnum_too_low = " %w-%c-%C- %K| %WWindow: %nWindow number must be greater than 1"; + error_server_sticky = " %w-%c-%C- %K| %WWindow: %nWindow's server is sticky, use -unsticky option to change"; + set_server_sticky = " %w-%c-%C- %K| %WWindow: %nWindow's server set sticky"; + unset_server_sticky = " %w-%c-%C- %K| %WWindow: %nWindow's server set not sticky"; + window_name_not_unique = " %w-%c-%C- %K| %WWindow: %nWindow names must be unique"; + window_level = " %w-%c-%C- %K| %WWindow: %nWindow level is now %C$0"; + window_set_immortal = " %w-%c-%C- %K| %WWindow: %nWindow set immortal"; + window_unset_immortal = " %w-%c-%C- %K| %WWindow: %nbWindow set not immortal"; + window_immortal_error = " %w-%c-%C- %K| %WWindow: %nWindow is immortal"; + windowlist_header = " %w-%c-%C- %K| %nRef Name Active item Server Level"; + windowlist_line = " %w-%c-%C- %K| %n$[3]0 %|$[20]1 $[15]2 $[15]3 $4"; + windowlist_footer = ""; + windows_layout_saved = " %w-%c-%C- %K| %WWindow: %nLayout of windows saved"; + windows_layout_reset = " %w-%c-%C- %K| %WWindow: %nLayout of windows reset to defaults"; + window_info_header = ""; + window_info_footer = ""; + window_info_refnum = " %w-%c-%C- %K| %WWindow: %nWindow : %W$0"; + window_info_refnum_sticky = " %w-%c-%C- %K| %WWindow: %nWindow : %W{hilight #$0 (sticky)}"; + window_info_name = " %w-%c-%C- %K| %WWindow: %nName : $0"; + window_info_history = " %w-%c-%C- %K| %WWindow: %nHistory : $0"; + window_info_immortal = " %w-%c-%C- %K| %WWindow: %nImmortal: yes"; + window_info_size = " %w-%c-%C- %K| %WWindow: %nSize : $0x$1"; + window_info_level = " %w-%c-%C- %K| %WWindow: %nLevel : $0"; + window_info_server = " %w-%c-%C- %K| %WWindow: %nServer : $0"; + window_info_server_sticky = " %w-%c-%C- %K| %WWindow: %nServer : $0 (sticky)"; + window_info_theme = " %w-%c-%C- %K| %WWindow: %nTheme : $0$1"; + window_info_bound_items_header = " %w-%c-%C- %K| %WWindow: %nBounds : {hilight Name Server tag}"; + window_info_bound_item = " %K | %n : $[!30]0 $[!15]1 $2"; + window_info_bound_items_footer = ""; + window_info_items_header = " %w-%c-%C- %K| %WWindow: %nItems : {hilight Name Server tag}"; + window_info_item = " %w-%c-%C- %K| %WWindow: %n$[7]0: $[!30]1 $2"; + window_info_items_footer = ""; + looking_up = " %w-%c-%C- %K| %WServer: %nLooking up host %W$0"; + connecting = " %w-%c-%C- %K| %WConnecting to %W$0 %K(%C$1%K) %non port %C$2"; + connection_established = " %w-%c-%C- %K| %WServer:%n Connection to %W$0 %nestablished"; + cant_connect = " %w-%c-%C- %K| %WServer:%n Unable to connect to %W$0 %non port %C$1 %K(%C$2%K)"; + connection_lost = " %w-%c-%C- %K| %WServer:%n Connection lost to %W$0"; + lag_disconnected = " %w-%c-%C- %K| %WServer:%n No PONG reply from server %W$0 %nin %C$1 %nseconds, disconnecting"; + disconnected = " %w-%c-%C- %K| %WServer:%n Disconnected from %W$0 %K(%C$1%K)"; + server_quit = " %w-%c-%C- %K| %WServer:%n Disconnecting from server %W$0%n: %C$1"; + server_changed = " %w-%c-%C- %K| %WServer:%n Changed to %W{hilight $2} %nserver %C$1"; + unknown_server_tag = " %w-%c-%C- %K| %RERROR:%n Server tag %W$0 %nnot found"; + no_connected_servers = " %w-%c-%C- %K| %RERROR:%n Not connected to any servers"; + server_list = " %w-%c-%C- %K| %WServer:%n $0: $1:$2 ($3)"; + server_lookup_list = " %w-%c-%C- %K| %WServer:%n $0: $1:$2 ($3) (connecting...)"; + server_reconnect_list = " %w-%c-%C- %K| %WServer:%n $0: $1:$2 ($3) ($5 left before reconnecting)"; + server_reconnect_removed = " %w-%c-%C- %K| %WServer:%n Removed reconnection to server %W$0 %nport %C$1"; + server_reconnect_not_found = " %w-%c-%C- %K| %WServer:%n Reconnection tag %W{hilight $0} %ndoes not exist"; + setupserver_added = " %w-%c-%C- %K| %WServer:%n Server %W{hilight $0} %nsaved"; + setupserver_removed = " %w-%c-%C- %K| %WServer:%n Server %W{hilight $0} %nremoved"; + setupserver_not_found = " %w-%c-%C- %K| %WServer:%n Server %W{hilight $0} %ndoes not exist"; + your_nick = " %w-%c-%C- %K| %nYour nickname is %W$0"; + invite = " %w-%c-%C- %K| %W$0 %ninvites you to channel %W$1"; + not_invited = " %w-%c-%C- %K| %nYou have not been invited to a channel!"; + chanlist_header = " %w-%c-%C- %K| %WChannel: %nYou are on the following channels:"; + chanlist_line = " %w-%c-%C- %K| %WChannel: %C{hilight $0} (+$1) [$2]: $3"; + chansetup_not_found = " %w-%c-%C- %K| %WChannel: %nChannel %W{hilight $0} %ndoes not exist"; + chansetup_added = " %w-%c-%C- %K| %WChannel: %nChannel %W{hilight $0} %nsaved"; + chansetup_removed = " %w-%c-%C- %K| %WChannel: %nChannel %W{hilight $0} %nremoved"; + chansetup_header = " %w-%c-%C- %K| %WChannel Network Password Settings"; + chansetup_line = " %w-%c-%C- %K| %n{hilight $[15]0} $[10]1 $[10]2 $3"; + chansetup_footer = ""; + no_msgs_got = " %b{fq Error}%n | %bYou have not received a message from anyone yet"; + no_msgs_sent = " %b{fq Error}%n | %bYou have not sent a message to anyone yet"; + query_start = " %w-%c-%C- %K| %WQuery: %nStarting query with %W$0 %non %C$1"; + query_stop = " %w-%c-%C- %K| %WQuery: %nClosing query with %W$0"; + no_query = " %w-%c-%C- %K| %WQuery: %nNo query with %W$0"; + query_server_changed = " %w-%c-%C- %K| %WQuery: %nQuery with %W$0 %nchanged to %C$1"; + hilight_header = ""; + hilight_line = " %w-%c-%C- %K| %WHilight: %n$[-4]0 $1 $2 $3$4"; + hilight_footer = ""; + hilight_not_found = " %w-%c-%C- %K| %WHighlight: %nHilight item %C{hilight $0} %ndoes not exist"; + hilight_removed = " %w-%c-%C- %K| %WHilight: %nHighlight item %C{hilight $0} removed"; + alias_added = " %w-%c-%C- %K| %WAlias: %nAlias %W{hilight $0} %nadded"; + alias_removed = " %w-%c-%C- %K| %WAlias: %nAlias %W{hilight $0} %nremoved"; + alias_not_found = " %w-%c-%C- %K| %WAlias: %nAlias %W{hilight $0} %ndoes not exist"; + aliaslist_header = ""; + aliaslist_line = " %w-%c-%C- %K| %WAlias: %n$[10]0 $1"; + aliaslist_footer = ""; + no_away_msgs = " %w-%c-%C- %K| %WAwayLog: %nYou have no messages waiting"; + away_msgs = " %w-%c-%C- %K| %WAwayLog: %nYou have %C$1 %nmessages waiting:"; + command_unknown = " %w-%c-%C- %K| %RERROR: %nUnknown command %C{hilight $0}"; + command_ambiguous = " %w-%c-%C- %K| %RERROR: %nAmbiguous command %C{hilight $0}"; + option_unknown = " %w-%c-%C- %K| %RERROR: %nUnknown option %C{hilight $0}"; + option_ambiguous = " %w-%c-%C- %K| %RERROR: %nAmbiguous option %C{hilight $0}"; + option_missing_arg = " %w-%c-%C- %K| %RERROR: %nMissing required argument for %C{hilight $0}"; + not_enough_params = " %w-%c-%C- %K| %RERROR: %nNot enough parameters given"; + not_connected = " %w-%c-%C- %K| %RERROR: %nNot connected to server"; + not_joined = " %w-%c-%C- %K| %RERROR: %nNot joined to any channel"; + chan_not_found = " %w-%c-%C- %K| %RERROR: %nNot joined to this channel"; + chan_not_synced = " %w-%c-%C- %K| %RERROR: %nChannel not fully synchronized yet, try again after a while"; + illegal_proto = " %w-%c-%C- %K| %RERROR: %nCommand isn't designed for the chat protocol of the active server"; + not_good_idea = " %w-%c-%C- %K| %RERROR: %nDoing this is not a good idea. Add -YES if you really mean it"; + format_title = " %w-%c-%C- %K| %WFormat: %n{hilight $0}%n%: %w-%c-%C- %K| %WFormat: %n {hilight $1}"; + format_subtitle = " %w-%c-%C- %K| %WFormat: %n {hilight $0}"; + format_item = " %w-%c-%C- %K| %WFormat:%W $0 =%C \"$1\";"; + ignored = " %w-%c-%C- %K| %WIgnore: %nIgnoring %C{hilight $1} %nfrom %W{nick $0}"; + ignored_options = " %w-%c-%C- %K| %WIgnore: %nIgnoring %C{hilight $1} %nfrom %W{nick $0} ($2)"; + unignored = " %w-%c-%C- %K| %WIgnore: %nUnignored %W{nick $0}"; + ignore_not_found = " %w-%c-%C- %K| %W{nick $0} %nis not being ignored"; + ignore_no_ignores = " %w-%c-%C- %K| %nThere are no ignores"; + ignore_header = " %w-%c-%C- %K| %n%# Num Mask Type Options"; + ignore_line = " %w-%c-%C- %K| %n%#$[-4]0 $[32]1 $[10]2 $3 $4"; + ignore_footer = ""; + bind_header = " %w-%c-%C- %K| %n%#Key Action"; + bind_list = " %w-%c-%C- %K| %n%#$[!16]0 $1 $2"; + bind_footer = ""; + no_completions = " %w-%c-%C- %K| %nThere are no completions"; + completion_removed = " %w-%c-%C- %K| %nRemoved completion %W$0"; + completion_header = " %w-%c-%C- %K| %n%#Key Value Auto"; + completion_line = " %w-%c-%C- %K| %n%#$[10]0 $[!40]1 $2"; + completion_footer = ""; + theme_saved = " %w-%c-%C- %K| %nTheme saved to %W$0"; + theme_save_failed = " %w-%c-%C- %K| %RERROR:%n Error saving theme to %W$0: $1"; + theme_not_found = " %w-%c-%C- %K| %RERROR:%n Theme %W{hilight $0} %nnot found"; + theme_changed = " %w-%c-%C- %K| %nNow using theme %W{hilight $0} ($1)"; + unknown_chatnet = " %w-%c-%C- %K| %RERROR: %nUnknown chat network %W{hilight $0}"; + perl_error = " %w-%c-%C- %K| %RERROR: %n%RPerl error: $0"; + config_saved = " %w-%c-%C- %K| %WSaved configuration to file %C$0"; + config_reloaded = " %w-%c-%C- %K| %WReloaded configuration"; + config_modified = " %w-%c-%C- %K| %WConfiguration file was modified since irssi was last started - do you want to overwrite the possible changes?"; + set_title = " %w-%c-%C- %K| %WSET: %W{hilight $0}:"; + set_item = " %w-%c-%C- %K| %WSET:%W $0 %n= %C$1"; + set_unknown = " %w-%c-%C- %K| %WSET: %nUnknown setting {hilight $0}"; + set_not_boolean = " %w-%c-%C- %K| %WSET: %nSetting %C{hilight $0} %nis not boolean, use /SET"; + not_toggle = " %w-%c-%C- %K| %RERROR: %nValue must be either ON, OFF or TOGGLE"; + talking_in = " %b{fq Irssi}%n | %bYou are now talking in %W$0"; + not_in_channels = " %b{fq Channels}%n | %bYou are not on any channels"; + current_channel = " %b{fq Channels}%n | %bCurrent channel $0"; + }; + "fe-common/irc" = { + usermode_change = " %w-%c-%C- %K| %nMode change %C{mode $0}%n for user {nick $1}"; + ircnet_added = " %w-%c-%C- %K| %WIRCnet %W{hilight $0} %nsaved"; + ircnet_removed = " %w-%c-%C- %K| %WIRCnet %W{hilight $0} %nremoved"; + ircnet_not_found = " %w-%c-%C- %K| %WIRCnet %W{hilight $0} %ndoes not exist"; + ircnet_header = " %w-%c-%C- %K| %WIRCnets:"; + ircnet_footer = ""; + setupserver_header = " %w-%c-%C- %K| %WServer Port Network Settings"; + setupserver_line = " %w-%c-%C- %K| %n$[!20]0 $[5]1 $[10]2 $3"; + setupserver_footer = ""; + joinerror_toomany = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (You have joined too many channels)"; + joinerror_full = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is full)"; + joinerror_invite = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is invite only)"; + joinerror_banned = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (You are banned!)"; + joinerror_bad_key = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is keyword protected)"; + joinerror_bad_mask = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Bad channel mask)"; + joinerror_unavail = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is temporarily unavailable)"; + joinerror_duplicate = " %w-%c-%C- %K| %RERROR: %nCannot create channel %W$0%n, it already exists"; + joinerror_rejoin = " %w-%c-%C- %K| %RERROR: %nChannel %W$0%n is temporarily unavailable. Trying to rejoin automatically, use /RMREJOINS to abort."; + inviting = " %w-%c-%C- %K| %WInviting: %W$0 %nto %C$1"; + chanmode_change = " %w-%c-%C- %K| %W{nickhilight $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]"; + url = " %w-%c-%C- %K| %nHome page for channel %W$0 %nis at %C$1"; + bantype = " %w-%c-%C- %K| %nBan type set to $0"; + no_bans = " %w-%c-%C- %K| %nNo bans set in channel %C$0"; + banlist = " %w-%c-%C- %K| %n$[-2]0. $1: $2"; + banlist_long = " %w-%c-%C- %K| %n$[-2]0. $1: $2 (set by $3 $4 secs ago)"; + nick_away = " %w-%c-%C- %K| %W$0 %nis away: %C$1"; + no_such_nick = " %w-%c-%C- %K| %W{hilight $0}%n: no such nick/channel"; + nick_in_use = " %w-%c-%C- %K| %nNick %W$0%n is already in use"; + nick_unavailable = " %w-%c-%C- %K| %nNick %W$0%n is temporarily unavailable"; + your_nick_owned = " %w-%c-%C- %K| %nYour nick is owned by %W$3 %K(%C$1@$2%K)"; + notice_server = " %w-%c-%C- %K| %WServer: $n[$0] $1"; + kill = " %w-%c-%C- %K| %RKILLED!! %nYou were killed by %W$0 %C($1): $2 (Path: $3)"; + kill_server = " %w-%c-%C- %K| %RKILLED!! %nYou were killed by $0: $1 (Path: $2)"; + error = " %w-%c-%C- %K| %RERROR: %n$0"; + default_event = " %w-%c-%C- %K| %WServer:%n $1"; + default_event_server = " %w-%c-%C- %K| %n[$0] $2: $1"; + channel_mode = " %w-%c-%C- %K| %W{nick $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]"; + topic = " %w-%c-%C- %K| %nTopic for %W{channelhilight $0}%n is:%C $1"; + channel_created = " %w-%c-%C- %K| %nChannel %W$0 %nwas created on %c$1"; + no_topic = " %w-%c-%C- %K| %nNo topic set for {channelhilight $0}"; + topic_info = " %w-%c-%C- %K| %nTopic set by {nick $0} {nickhost $2} {comment $1}"; + away = " %w-%c-%C- %K| %nYou have been marked as being away"; + unaway = " %w-%c-%C- %K| %nYou are no longer marked as being away"; + whois = " %w-%c-%C- %K| %b[%n$0%b] %n($1@$2) %n: $3"; + whois_channels = " %w-%c-%C- %K| %b[%n$0%b] %n$1"; + whois_idle = " %w-%c-%C- %K| %b[%n$0%b] %n$1 days $2 hours $3 minet $4 secs"; + whois_server = " %w-%c-%C- %K| %b[%n$0%b] %n$1 [$2]"; + whois_idle_signon = " %w-%c-%C- %K| %b[%w$0%b] %nIdle%w $1 days $2 hours $3 minutes $4 seconds, Signon $5"; + whois_oper = " %w-%c-%C- %K| %b[%n$0%b]%n $1 $2 $3 $4"; + whois_ip = " %w-%c-%C- %K| %b[%n$0%b]%n IP: $1"; + end_of_whois = " %w-%c-%C- %K| %b[%n$0%b] %nEnd of WHOIS List"; + whois_away = " %w-%c-%C- %K| %b[%n$0%b] %nis Away: %|$1"; + whois_registered = " %w-%c-%C- %K| %b[%n$0%b] %nhas registered this nick"; + whowas = " %w-%c-%C- %K| %b[%n$0%b]%n WAS ($1@$2) : $3"; + end_of_whowas = " %w-%c-%C- %K| %b[%n$0%b] %nEnd of WHOWAS List"; + who = " %w-%c-%C- %K| %b[%n$1%b]%n %n$4@$5 ($6) [Server: $7, $3 Hops]"; + end_of_who = " %w-%c-%C- %K| %b[%n$0%b] %nEnd of WHO list"; + whois_not_found = " %w-%c-%C- %K| %b[%n$0%b]%n No such nick"; + notice_public = "%W-%m$[-12]{0}%W- %K| %b(%m$1%b)%n $2"; + notice_private = "%b-%M$[-12]{0}%b- %K| %b(%M$1%b)%n $2"; + own_notice = "%G>%W$[-12]0%G< %K| %n$1-"; + channel_synced = " %w-%c-%C- %K| %nChannel %W{channel $0} %nwas synced in %C{hilight $1} %nseconds"; + netsplit = " %w<%c-%C- %K| %RNetsplit:%W $0 %R<-> %W$1 %nquits: %C$2"; + netsplit_more = " %w<%c-%C- %K| %RNetsplit: %W$0%R <-> %W$1 %nquits: %C$2 %n(+$3 more)"; + netsplit_join = " %w-%c-%C> %K| %gNetsplit Over%n - Joins: %C$0"; + netsplit_join_more = " %w-%c-%C> %K| %nJoins: %n$0 (+$1 more)"; + no_netsplits = " %w-%c-%C- %K| %nThere are no net splits"; + netsplits_header = " %w-%c-%C- %K| %n%C%#Nick Channel Server Splitted server"; + netsplits_line = " %w-%c-%C- %K| %n%#$[15]0 $[10]1 $[20]2 $[20]3"; + netsplits_footer = ""; + server_chanmode_change = " %w-%c-%C- %K| %W$2%n sets modes %K[%n$0 $1%K]%n"; + ctcp_reply = " %w-%c-%C- %K| %nGot %C$0 %nreply from %W$1: %C$2"; + ctcp_reply_channel = " %w-%c-%C- %K| %nGot %C$0 %nreply from %W$1 %nin channel %c$3: $2"; + ctcp_ping_reply = " %w-%c-%C- %K| %nGot %CPING %nresponse from %W$0: %c$1.$[-3.0]2 %nseconds"; + ctcp_requested = " %w-%c-%C- %K| %nGot %C$2 %nrequest from %W$0 %n($1) to $4: $3"; + ctcp_requested_unknown = " %w-%c-%C- %K| %nGot unknown %C$2%n request from %c$0 %n($1) to %n$4: $3"; + own_ctcp = " %w-%c-%C- %K| %nSending %WCTCP %C$1 %nto %c$0: $2"; + }; + "fe-common/perl" = { + script_not_found = " %w-%c-%C- %K| %rScript: %W{hilight $0} %nnot found"; + script_not_loaded = " %w-%c-%C- %K| %rScript: %W{hilight $0} is not loaded"; + script_loaded = " %w-%c-%C- %K| %rScript: %nLoded script %W{hilight $0}"; + script_unloaded = " %w-%c-%C- %K| %rScript: %nUnloaded script %W{hilight $0}"; + no_scripts_loaded = " %w-%c-%C- %K| %rScript: %nNo scripts are loaded"; + script_list_header = " %w-%c-%C- %K| %rScript Path"; + script_list_line = " %w-%c-%C- %K| %n$[!20]0 $1"; + script_list_footer = ""; + script_error = " %w-%c-%C- %K| %rScript: ERROR %n in script %W{hilight $0}:"; + }; + + "fe-common/irc/notifylist" = { + notify_join = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C($1@$2) [$3] %nhas connected to %C$4"; + notify_part = " %w-%c-%C- %K| %WNotify: %W{hilight $0}%n has disconnected from %C$4"; + notify_away = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C[$5] ($1@$2) [$3] %nis now away: %C$4"; + notify_unaway = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C($1@$2) [$3] %nis no longer away on %C$4"; + notify_unidle = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C($1@$2) [$3] %njust stopped idling on %C$5"; + notify_online = " %w-%c-%C- %K| %WNotify: %WOnline: $0: {hilight $1}"; + notify_offline = " %w-%c-%C- %K| %WNotify: %WOffline: $0"; + notify_list = " %w-%c-%C- %K| %n#$0: $1 $2 $3"; + notify_list_empty = " %w-%c-%C- %K| %WNotify: %nThe notify list is empty"; + }; +}; diff --git a/.irssi/scripts/autorun/nickcolor.pl b/.irssi/scripts/autorun/nickcolor.pl @@ -0,0 +1,156 @@ +use strict; +use Irssi; +use vars qw($VERSION %IRSSI); +$VERSION = "1"; +%IRSSI = ( + authors => "Timo Sirainen, Ian Peters", + contact => "tss\@iki.fi", + name => "Nick Color", + description => "assign a different color for each nick", + license => "Public Domain", + url => "http://irssi.org/", + changed => "2002-03-04T22:47+0100" +); + +# hm.. i should make it possible to use the existing one.. +Irssi::theme_register([ + 'pubmsg_hilight', '{pubmsghinick $0 $3 $1}$2' +]); + +my %saved_colors; +my %session_colors = {}; +my @colors = qw/2 3 4 5 6 7 9 10 11 12 13/; + +sub load_colors { + open COLORS, "$ENV{HOME}/.irssi/saved_colors"; + + while (<COLORS>) { + # I don't know why this is necessary only inside of irssi + my @lines = split "\n"; + foreach my $line (@lines) { + my($nick, $color) = split ":", $line; + $saved_colors{$nick} = $color; + } + } + + close COLORS; +} + +sub save_colors { + open COLORS, ">$ENV{HOME}/.irssi/saved_colors"; + + foreach my $nick (keys %saved_colors) { + print COLORS "$nick:$saved_colors{$nick}\n"; + } + + close COLORS; +} + +# If someone we've colored (either through the saved colors, or the hash +# function) changes their nick, we'd like to keep the same color associated +# with them (but only in the session_colors, ie a temporary mapping). + +sub sig_nick { + my ($server, $newnick, $nick, $address) = @_; + my $color; + + $newnick = substr ($newnick, 1) if ($newnick =~ /^:/); + + if ($color = $saved_colors{$nick}) { + $session_colors{$newnick} = $color; + } elsif ($color = $session_colors{$nick}) { + $session_colors{$newnick} = $color; + } +} + +# This gave reasonable distribution values when run across +# /usr/share/dict/words + +sub simple_hash { + my ($string) = @_; + chomp $string; + my @chars = split //, $string; + my $counter; + + foreach my $char (@chars) { + $counter += ord $char; + } + + $counter = $colors[$counter % 11]; + + return $counter; +} + +# FIXME: breaks /HILIGHT etc. +sub sig_public { + my ($server, $msg, $nick, $address, $target) = @_; + my $chanrec = $server->channel_find($target); + return if not $chanrec; + my $nickrec = $chanrec->nick_find($nick); + return if not $nickrec; + my $nickmode = $nickrec->{op} ? "@" : $nickrec->{voice} ? "+" : ""; + + # Has the user assigned this nick a color? + my $color = $saved_colors{$nick}; + + # Have -we- already assigned this nick a color? + if (!$color) { + $color = $session_colors{$nick}; + } + + # Let's assign this nick a color + if (!$color) { + $color = simple_hash $nick; + $session_colors{$nick} = $color; + } + + $color = "0".$color if ($color < 10); + $server->command('/^format pubmsg %b<%w$2'.chr(3).$color.'$[-11]0%b>%K | %n$1'); +} + +sub cmd_color { + my ($data, $server, $witem) = @_; + my ($op, $nick, $color) = split " ", $data; + + $op = lc $op; + + if (!$op) { + Irssi::print ("No operation given"); + } elsif ($op eq "save") { + save_colors; + } elsif ($op eq "set") { + if (!$nick) { + Irssi::print ("Nick not given"); + } elsif (!$color) { + Irssi::print ("Color not given"); + } elsif ($color < 2 || $color > 14) { + Irssi::print ("Color must be between 2 and 14 inclusive"); + } else { + $saved_colors{$nick} = $color; + } + } elsif ($op eq "clear") { + if (!$nick) { + Irssi::print ("Nick not given"); + } else { + delete ($saved_colors{$nick}); + } + } elsif ($op eq "list") { + Irssi::print ("\nSaved Colors:"); + foreach my $nick (keys %saved_colors) { + Irssi::print (chr (3) . "$saved_colors{$nick}$nick" . + chr (3) . "1 ($saved_colors{$nick})"); + } + } elsif ($op eq "preview") { + Irssi::print ("\nAvailable colors:"); + foreach my $i (2..14) { + Irssi::print (chr (3) . "$i" . "Color #$i"); + } + } +} + +load_colors; + +Irssi::command_bind('color', 'cmd_color'); + +Irssi::signal_add('message public', 'sig_public'); +Irssi::signal_add('event nick', 'sig_nick'); diff --git a/.irssi/scripts/autorun/notify.pl b/.irssi/scripts/autorun/notify.pl @@ -0,0 +1,57 @@ +use strict; +use Irssi; +use vars qw($VERSION %IRSSI); + +$VERSION = "1.0"; +%IRSSI = ( + authors => 'Cloudef'. + name => 'notify.pl', + description => 'The better notify script', + license => 'WTFPL', +); + +sub notify { + my ($server, $summary, $message) = @_; + + $summary =~ s/\\/\\\\/g; + $message =~ s/\\/\\\\/g; + $SIG{CHLD} = 'IGNORE'; + if(fork() == 0) + { + close(STDOUT); + close(STDIN); + close(STDERR); + + my(@args) = ('-t', 6000, $summary, $message); + system('/usr/bin/notify-send', @args); + exit(0); + } +} + +sub print_text_notify { + my ($dest, $text, $stripped) = @_; + my $server = $dest->{server}; + + return if (!$server || !($dest->{level} & MSGLEVEL_HILIGHT)); + my $summary = $dest->{target}; + notify($server, $summary, $stripped); +} + +sub message_private_notify { + my ($server, $msg, $nick, $address) = @_; + + return if (!$server); + notify($server, $nick, $msg); +} + +sub dcc_request_notify { + my ($dcc, $sendaddr) = @_; + my $server = $dcc->{server}; + + return if (!$dcc); + notify($server, "DCC ".$dcc->{type}." request", $dcc->{nick}); +} + +Irssi::signal_add('print text', 'print_text_notify'); +Irssi::signal_add('message private', 'message_private_notify'); +Irssi::signal_add('dcc request', 'dcc_request_notify'); diff --git a/.irssi/scripts/autorun/wildpokemon.pl b/.irssi/scripts/autorun/wildpokemon.pl @@ -0,0 +1,47 @@ +# Put in ~/.irssi/scripts + +use Irssi; +use strict; +use vars qw($VERSION %IRSSI); +$VERSION = "0.1"; +%IRSSI = ( + authors => "Jari Vetoniemi", + name => "Wild Pokemon", + description => "Replace JOIN with 'Wild <username> appears!' and PART with 'Wild <username> fainted! + It's also possible to edit the theme style for QUITS/JOINS/PARTS, if you don't want script.", + license => "GPLv2 or later", + url => "http://irssi.org/", +); + +sub msg_join { + my ($server, $channel, $nick) = @_; + $server->print( $channel, " %m * %K|%W %B-%n!%B-%G Wild %Y$nick %Gappears!", MSGLEVEL_JOINS); + Irssi::signal_stop(); +} + +sub msg_part { + my ($server, $channel, $nick, $address, $reason) = @_; + if($reason) { + $server->print( $channel, " %m * %K|%W %B-%n!%B-%G Wild %Y$nick %Gfainted! %W[$reason]", MSGLEVEL_PARTS); + } else { + $server->print( $channel, " %m * %K|%W %B-%n!%B-%G Wild %Y$nick %Gfainted!", MSGLEVEL_PARTS); + } + Irssi::signal_stop(); +} + +sub msg_quit { + my ($server, $nick, $address, $reason) = @_; + foreach my $channel ($server->channels()) + { + if($channel->nick_find($nick)) + { + msg_part($server, $channel->{name}, $nick, $address, $reason); + } + } + Irssi::signal_stop(); +} + +Irssi::signal_add( { 'message join' => \&msg_join, + 'message part' => \&msg_part, + 'message quit' => \&msg_quit, + } ); diff --git a/.muttrc b/.muttrc @@ -1,6 +1,6 @@ # # author : Xu Xiaodong <[email protected]> -# modified : 2012 May 19 +# modified : 2012 May 20 # source ~/.gmailrc @@ -13,21 +13,23 @@ set editor = "vim" set from = "[email protected]" set realname = "Xu Xiaodong" + set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" - -set imap_check_subscribed +mailboxes = "+INBOX" +set postponed = "+[GMail]/Drafts" set hostname = gmail.com set mail_check = 120 set timeout = 300 set imap_keepalive = 300 -set postponed = "+[GMail]/Drafts" -set record = "+[GMail]/Sent Mail" -set move = no +unset record +unset move set include +set delete +set quit set sort = 'threads' set sort_aux = 'reverse-last-date-received'