mirror of
https://github.com/captn3m0/dotfiles.git
synced 2024-09-28 22:22:51 +00:00
[irssi] Adds some of my irssi config
This commit is contained in:
parent
cd684d3ea8
commit
fe91bcb7cf
294
files/irc/.irssi/default.theme
Normal file
294
files/irc/.irssi/default.theme
Normal file
@ -0,0 +1,294 @@
|
||||
# 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-%n!%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 = "%_$*%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 = "%_$*%n";
|
||||
|
||||
# private message in query
|
||||
privmsgnick = "{msgnick %R$*%n}";
|
||||
|
||||
##
|
||||
## Actions (/ME stuff)
|
||||
##
|
||||
|
||||
# used internally by this theme
|
||||
action_core = "%_ * $*%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 = "%_ (*) $*%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 = "%_$*%n: ";
|
||||
wallop_nick = "%n$*";
|
||||
wallop_action = "%_ * $*%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 = "%_$*%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 = "%_ (*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";
|
||||
};
|
497
files/irc/.irssi/envy.theme
Normal file
497
files/irc/.irssi/envy.theme
Normal file
@ -0,0 +1,497 @@
|
||||
# ___ ___ ___ ___
|
||||
# /\ \ /\__\ /\__\ |\__\
|
||||
# /::\ \ /::| | /:/ / |:| |
|
||||
# /:/\:\ \ /:|:| | /:/ / |:| |
|
||||
# /::\~\:\ \ /:/|:| |__ /:/__/ ___ |:|__|__
|
||||
# /:/\:\ \:\__\ /:/ |:| /\__\ |:| | /\__\ /::::\__\
|
||||
# \:\~\:\ \/__/ \/__|:|/:/ / |:| |/:/ / /:/~~/~
|
||||
# \:\ \:\__\ |:/:/ / |:|__/:/ / /:/ /
|
||||
# \:\ \/__/ |::/ / \::::/__/ \/__/
|
||||
# \:\__\ /:/ / ~~~~
|
||||
# \/__/ \/__/ v. 3.6
|
||||
#
|
||||
# theme by rolle (rolle @ QuakeNet, rolle_ @ Ircnet)
|
||||
# http://rollemaa.org/
|
||||
#
|
||||
# you can find the most recent version here:
|
||||
# http://rolle.tux.fi
|
||||
|
||||
default_color = "-1";
|
||||
# Timestamp/servertag loppuun, ei alkuun
|
||||
info_eol = "false";
|
||||
replaces = { "[]=" = "$*"; };
|
||||
|
||||
abstracts = {
|
||||
line_start = "%K";
|
||||
timestamp = "%K$*%n";
|
||||
hilight = "$*";
|
||||
error = "$*";
|
||||
channel = "$*";
|
||||
nick = "$*";
|
||||
nickhost = "$*";
|
||||
server = "$*";
|
||||
comment = "$*";
|
||||
reason = "{comment $*}";
|
||||
mode = "{comment $*}";
|
||||
channick_hilight = "$*";
|
||||
chanhost_hilight = "{nickhost $*}";
|
||||
channick = "$*";
|
||||
chanhost = "{nickhost $*}";
|
||||
channelhilight = "$*";
|
||||
ban = "$*";
|
||||
# Kaikissa alemmissa: $0 = mode, $1 = nick
|
||||
msgnick = "$0$1- %|";
|
||||
ownmsgnick = "{msgnick %K<$0 %G$1-%K>}%n";
|
||||
ownnick = "$*";
|
||||
pubmsgnick = "{msgnick %K<$0 %W$1-%K>}%n";
|
||||
pubnick = "$*";
|
||||
pubmsgmenick = "{msgnick %K<$0 %P$1-%K>}%P";
|
||||
menick = "%P$*%n";
|
||||
# $0 = hilightin väri, $1 = mode, $2 = nick
|
||||
pubmsghinick = "{msgnick %K<$1 %P$2-%K>%P}";
|
||||
msgchannel = ":$*";
|
||||
# $0 = nick, $1 = hosti
|
||||
privmsg = "[$0($1-)] ";
|
||||
# $0 = "msg", $1 = target nick
|
||||
ownprivmsg = "[$0($1-)] ";
|
||||
ownprivmsgnick = "{msgnick $*}";
|
||||
ownprivnick = "%K<%G$*%K>%n";
|
||||
privmsgnick = "%K<%B$*%K>%n ";
|
||||
action_core = " %r>%y>%g> %c$0-";
|
||||
action = "{action_core $*} ";
|
||||
ownaction = "{action $*}";
|
||||
ownaction_target = "{action_core $*}:$1 ";
|
||||
pvtaction = " (>>>) $* ";
|
||||
pvtaction_query = "{action $*}";
|
||||
pubaction = "{action $*}";
|
||||
ownnotice = "[$0($1-)] ";
|
||||
notice = "%g$*%K -> %G";
|
||||
whois = "%# $[8]0 : $1-";
|
||||
pubnotice_channel = ":$*";
|
||||
pvtnotice_host = "($*)";
|
||||
servernotice = "%r!$* %n";
|
||||
ownctcp = "[$0($1-)] ";
|
||||
ctcp = "$*";
|
||||
wallop = "$*: ";
|
||||
wallop_nick = "$*";
|
||||
wallop_action = " * $* ";
|
||||
netsplit = "$*";
|
||||
netjoin = "%K::%g:%K $*";
|
||||
names_prefix = "%K";
|
||||
names_nick = "%K[$0$1-] ";
|
||||
names_nick_op = "%K{names_nick $*}";
|
||||
names_nick_halfop = "%K{names_nick $*}";
|
||||
names_nick_voice = "%K{names_nick $*}";
|
||||
names_users = "%K[$*]";
|
||||
names_channel = "%K$*";
|
||||
dcc = "$*";
|
||||
dccfile = "$*";
|
||||
dccownmsg = "[$0($1-)] ";
|
||||
dccownnick = "$*";
|
||||
dccownquerynick = "$*";
|
||||
dccownaction = "{action $*}";
|
||||
dccownaction_target = "{action_core $0}:$1 ";
|
||||
dccmsg = "[$1-($0)] ";
|
||||
dccquerynick = "$*";
|
||||
dccaction = " (*dcc*) $* %|";
|
||||
sb_background = "";
|
||||
sb_window_bg = "%n%2";
|
||||
sb_default_bg = "";
|
||||
sb_prompt_bg = "%0";
|
||||
sb_info_bg = "";
|
||||
sb_topic_bg = "%G";
|
||||
sbstart = "";
|
||||
sbend = " ";
|
||||
topicsbstart = "{sbstart $*}";
|
||||
topicsbend = "{sbend $*}";
|
||||
prompt = "%R!%G$*%K: ";
|
||||
sb = " %w/%W$*%w/%n";
|
||||
sbmode = "";
|
||||
sbaway = "%r>%n";
|
||||
sbservertag = "%W$0%n";
|
||||
sbnickmode = "";
|
||||
sb_act_sep = "%w$*%n";
|
||||
sb_act_text = "%G$*%n";
|
||||
sb_act_msg = "%G$*%n";
|
||||
sb_act_hilight = "%r($*)%n";
|
||||
sb_act_hilight_color = "%r$0$1-%n";
|
||||
};
|
||||
formats = {
|
||||
"fe-common/core" = {
|
||||
query_start = "%K:%K:%g:%K %gStarting query%K in {server $1} with {nick $0}";
|
||||
join = "%K::%g:%K {channick_hilight $0} [{chanhost_hilight $1}] has %gjoined%K {channel $2}";
|
||||
part = "%r:%K:: {channick $0} [{chanhost $1}] has %rleft%K {channel $2}";
|
||||
quit = "%r:%K:: {channick $0} [{chanhost $1}] has %rquit%k ({reason $2})";
|
||||
quit_once = "%r:%K:: {channick $0} [{chanhost $1}] has %rquit%K ({reason $2})";
|
||||
nick_changed = "%K:%y:%K: {channick_hilight $0} is %ynow known as%K {channick_hilight $1}";
|
||||
# own_msg = "{ownmsgnick $2 {ownnick $[-10]0}}$1";
|
||||
# own_msg_channel = "{ownmsgnick $3 {ownnick $[-10]0}{msgchannel $1}}$2";
|
||||
# pubmsg_me = "{pubmsgmenick $2 {menick $[-10]0}}$1";
|
||||
# pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-10]0}{msgchannel $1}}$2";
|
||||
# pubmsg_hilight = "{pubmsghinick $0 $3 $[-10]1}$2";
|
||||
# pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-10]1{msgchannel $2}}$3";
|
||||
# pubmsg = "{pubmsgnick $2 {pubnick \0030$0}}$1";
|
||||
# pubmsg_channel = "{pubmsgnick $3 {pubnick $[-10]0}{msgchannel $1}}$2";
|
||||
# line_start = "{line_start}";
|
||||
# line_start_irssi = "{line_start}{hilight Irssi} %W|%n ";
|
||||
line_start_irssi = "{line_start}";
|
||||
timestamp = "%K{timestamp $Z} ";
|
||||
# servertag = "$[-11]0 %W|%n ";
|
||||
servertag = "";
|
||||
daychange = "Day changed to %%d %%b %%Y %n";
|
||||
talking_with = "%r:%y:%g:%K You are now talking with {nick $0}";
|
||||
refnum_too_low = "%r:%K:: Window number must be greater than 1";
|
||||
error_server_sticky = "%r:%K:: Window's server is %rsticky%K and it cannot be changed without -unsticky option";
|
||||
set_server_sticky = "%K::%g:%K Window's server %gset sticky%K";
|
||||
unset_server_sticky = "%K::%g:%K Window's server isn't sticky anymore";
|
||||
window_name_not_unique = "%r:%K:: Window names must be unique";
|
||||
window_level = "%K::%g:%K Window level is now $0";
|
||||
windowlist_header = "Ref Name Active item Server Level";
|
||||
windowlist_line = "$[3]0 %|$[20]1 $[15]2 $[15]3 $4";
|
||||
windowlist_footer = "";
|
||||
windows_layout_saved = "%K::%g:%K Layout of windows is now %gremembered%K next time you start irssi";
|
||||
windows_layout_reset = "%K::%g:%K Layout of windows %greset%K to defaults";
|
||||
window_info_header = "";
|
||||
window_info_footer = "";
|
||||
window_info_refnum = "Window : {hilight #$0}";
|
||||
window_info_refnum_sticky = "Window : {hilight #$0 (sticky)}";
|
||||
window_info_name = "Name : $0";
|
||||
window_info_history = "History : $0";
|
||||
window_info_size = "Size : $0x$1";
|
||||
window_info_level = "Level : $0";
|
||||
window_info_server = "Server : $0";
|
||||
window_info_server_sticky = "Server : $0 (sticky)";
|
||||
window_info_theme = "Theme : $0$1";
|
||||
window_info_bound_items_header = "Bounds : {hilight Name Server tag}";
|
||||
window_info_bound_item = " : $[!30]0 $[!15]1 $2";
|
||||
window_info_bound_items_footer = "";
|
||||
window_info_items_header = "Items : {hilight Name Server tag}";
|
||||
window_info_item = " $[7]0: $[!30]1 $2";
|
||||
window_info_items_footer = "";
|
||||
looking_up = "%K::%g:%K %gLooking up%K {server $0}";
|
||||
connecting = "%K::%g:%K %gConnecting%K to {server $0} [$1] port {hilight $2}";
|
||||
connection_established = "%K::%g:%K Connection to {server $0} %gestablished%K";
|
||||
cant_connect = "%r:%K:: %rUnable to connect%K server {server $0} port {hilight $1} {reason $2}";
|
||||
connection_lost = "%r:%K:: %rConnection lost%K to {server $0}";
|
||||
lag_disconnected = "%r:%K:: %rNo PONG reply%K from server {server $0} in $1 seconds, disconnecting";
|
||||
disconnected = "%r:%K:: %rDisconnected%K from {server $0} {reason $1}";
|
||||
server_quit = "%r:%K:: %rDisconnecting%K from server {server $0}: {reason $1}";
|
||||
server_changed = "%K:%y:%K: %yChanged%K to {hilight $2} server {server $1}";
|
||||
unknown_server_tag = "%r:%K:: %rUnknown%K server tag {server $0}";
|
||||
no_connected_servers = "%r:%K:: %rNot connected%K to any servers";
|
||||
server_list = "{server $0}: $1:$2 ($3)";
|
||||
server_lookup_list = "{server $0}: $1:$2 ($3) (connecting...)";
|
||||
server_reconnect_list = "{server $0}: $1:$2 ($3) ($5 left before reconnecting)";
|
||||
server_reconnect_removed = "%K::%g:%K %gRemoved reconnection%K to server {server $0} port {hilight $1}";
|
||||
server_reconnect_not_found = "%r:%K:: Reconnection tag {server $0} %rnot found%K";
|
||||
setupserver_added = "%K::%g:%K Server {server $0} %gsaved%K";
|
||||
setupserver_removed = "%K::%g:%K Server {server $0} %gremoved%K";
|
||||
setupserver_not_found = "%r:%K:: Server {server $0} %rnot found%K";
|
||||
your_nick = "%r:%y:%g:%K Your nickname is {nick $0}";
|
||||
kick = "%r:%K:: {channick $0} was %rkicked%K from {channel $1} by {nick $2} ({reason $3})";
|
||||
invite = "%K:%y:%K: {channick_hilight $0} %yinvites%K you to {channel $1}";
|
||||
not_invited = "You have not been invited to a channel!";
|
||||
new_topic = "%K:%y:%K: {channick_hilight $0} %ychanged the topic%K of {channel $1} to: {hilight $2}";
|
||||
topic_unset = "%K:%y:%K: {channick_hilight $0} %yunset the topic%K on {channel $1}";
|
||||
your_nick_changed = "%K:%y:%K: You're %ynow known as%K {channick_hilight $1}";
|
||||
talking_in = "%r:%y:%g:%K You are now talking in {channel $0}";
|
||||
not_in_channels = "%r:%y:%g:%K You are not on any channels";
|
||||
current_channel = "%r:%y:%g:%K Current channel {channel $0}";
|
||||
names = "{names_users Users {names_channel $0}} {comment $1 total}";
|
||||
names_prefix = "{names_prefix $0}";
|
||||
names_nick_op = "{names_nick_op $0 $1}";
|
||||
names_nick_halfop = "{names_nick_halfop $0 $1}";
|
||||
names_nick_voice = "{names_nick_voice $0 $1}";
|
||||
names_nick = "{names_nick $0 $1}";
|
||||
endofnames = "%r:%y:%g:%K {channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normal}";
|
||||
chanlist_header = "%r:%y:%g:%K You are on the following channels:";
|
||||
chanlist_line = "{channel $[-9]0} %|+$1 ($2): $3";
|
||||
chansetup_not_found = "Channel {channel $0} not found";
|
||||
chansetup_added = "Channel {channel $0} saved";
|
||||
chansetup_removed = "Channel {channel $0} removed";
|
||||
chansetup_header = "Channel Network Password Settings";
|
||||
chansetup_line = "{channel $[15]0} %|$[10]1 $[10]2 $3";
|
||||
chansetup_footer = "";
|
||||
channel_move_notify = "{channel $0} is already joined in window $1, use \"/WINDOW ITEM MOVE $0\" to move it to this window";
|
||||
# own_msg_private = "{ownprivmsg msg $0}$1";
|
||||
# own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-9]2}}$1";
|
||||
# msg_private = "{privmsg $0 $1}$2";
|
||||
# msg_private_query = "{privmsgnick $[-9]0}$2";
|
||||
no_msgs_got = "%r:%y:%g:%K You have not received a message from anyone yet";
|
||||
no_msgs_sent = "%r:%y:%g:%K You have not sent a message to anyone yet";
|
||||
query_stop = "%r:%y:%g:%K Closing query with {nick $0}";
|
||||
no_query = "%r:%y:%g:%K No query with {nick $0}";
|
||||
query_server_changed = "%K:%y:%K: Query with {nick $0} %ychanged%K to server {server $1}";
|
||||
query_move_notify = "%r:%y:%g:%K Query with {nick $0} is already created to window $1, use \"/WINDOW ITEM MOVE $0\" to move it to this window";
|
||||
hilight_header = "%r:%y:%g:%K Highlights:";
|
||||
hilight_line = "$[-4]0 $1 $2 $3$4$5";
|
||||
hilight_footer = "";
|
||||
hilight_not_found = "%r:%K:: Highlight %rnot found%K: $0";
|
||||
hilight_removed = "%K::%g:%K Highlight %gremoved%K: $0";
|
||||
alias_added = "%K::%g:%K Alias $0 %gadded%K";
|
||||
alias_removed = "%K::%g:%K Alias $0 %gremoved%K";
|
||||
alias_not_found = "%r:%K:: %rNo such%K alias: $0";
|
||||
aliaslist_header = "%r:%y:%g:%K Aliases:";
|
||||
aliaslist_line = "$[10]0 $1";
|
||||
aliaslist_footer = "";
|
||||
log_opened = "%K::%g:%K Log file {hilight $0} %gopened%K";
|
||||
log_closed = "%K::%g:%K Log file {hilight $0} %gclosed%K";
|
||||
log_create_failed = "%r:%K:: %rCouldn't create%K log file {hilight $0}: $1";
|
||||
log_locked = "%r:%K:: Log file {hilight $0} is %rlocked%K, probably by another running Irssi";
|
||||
log_not_open = "%r:%K:: Log file {hilight $0} %rnot open%K";
|
||||
log_started = "%K::%g:%K %gStarted%K logging to file {hilight $0}";
|
||||
log_stopped = "%r:%K:: %rStopped%K logging to file {hilight $0}";
|
||||
log_list_header = "%r:%y:%g:%K Logs:";
|
||||
log_list = "$0 $1: $2 $3$4";
|
||||
log_list_footer = "";
|
||||
windowlog_file = "%K::%g:%K Window LOGFILE set to $0";
|
||||
windowlog_file_logging = "%r:%K:: %rCan't change%K window's logfile while log is on";
|
||||
no_away_msgs = "%r:%K:: %rNo new%K messages in awaylog";
|
||||
away_msgs = "%K::%g:%K {hilight $1} %gnew messages%K in awaylog:";
|
||||
module_header = "Module Type Submodules";
|
||||
module_line = "$[!20]0 $[7]1 $2";
|
||||
module_footer = "";
|
||||
module_already_loaded = "%r:%K:: Module {hilight $0/$1} already loaded";
|
||||
module_not_loaded = "%r:%K:: Module {hilight $0/$1} %ris not loaded%K";
|
||||
module_load_error = "%r:%K:: %rError%K loading module {hilight $0/$1}: $2";
|
||||
module_invalid = "%r:%K:: {hilight $0/$1} isn't Irssi module";
|
||||
module_loaded = "%K::%g:%K %gLoaded%K module {hilight $0/$1}";
|
||||
module_unloaded = "%r:%K:: %rUnloaded%K module {hilight $0/$1}";
|
||||
command_unknown = "%r:%K:: %rUnknown%K command: $0";
|
||||
command_ambiguous = "%r:%K:: %rAmbiguous%K command: $0";
|
||||
option_unknown = "%r:%K:: %rUnknown%K option: $0";
|
||||
option_ambiguous = "%r:%K:: %rAmbiguous%K option: $0";
|
||||
option_missing_arg = "%r:%K:: %rMissing%K required argument for: $0";
|
||||
not_enough_params = "%r:%K:: %rNot enough%K parameters given";
|
||||
not_connected = "%r:%K:: %rNot connected%K to server";
|
||||
not_joined = "%r:%K:: %rNot joined%K to any channel";
|
||||
chan_not_found = "%r:%K:: %rNot joined%K to such channel";
|
||||
chan_not_synced = "%r:%K:: Channel %rnot fully synchronized%K yet, try again after a while";
|
||||
illegal_proto = "%r:%K:: Command isn't designed for the chat protocol of the active server";
|
||||
not_good_idea = "%r:%K:: Doing this is %rnot a good idea%K. Add -YES if you really mean it";
|
||||
theme_saved = "%K::%g:%K Theme %gsaved%K to $0";
|
||||
theme_save_failed = "%r:%K:: %rError%K saving theme to $0: $1";
|
||||
theme_not_found = "%r:%K:: Theme {hilight $0} %rnot found%K";
|
||||
theme_changed = "%K:%y:%K: %yUsing%K now theme {hilight $0} ($1)";
|
||||
window_theme = "%K::%g:%K %gUsing%K theme {hilight $0} in this window";
|
||||
window_theme_default = "%r:%K:: %rNo theme is set%K for this window";
|
||||
window_theme_changed = "%K:%y:%K: %yUsing%K now theme {hilight $0} ($1) in this window";
|
||||
window_theme_removed = "%K::%g:%K %gRemoved%K theme from this window";
|
||||
format_title = "%:[{hilight $0}] - [{hilight $1}]%:";
|
||||
format_subtitle = "[{hilight $0}]";
|
||||
format_item = "$0 = $1";
|
||||
ignored = "%K::%g:%K %gIgnoring%K {hilight $1} from {nick $0}";
|
||||
unignored = "%K::%g:%K %gUnignored%K {nick $0}";
|
||||
ignore_not_found = "%K::%g:%K {nick $0} %gis not%K being ignored";
|
||||
ignore_no_ignores = "%r:%y:%g:%K There are no ignores";
|
||||
ignore_header = "%r:%y:%g:%K Ignorance List:";
|
||||
ignore_line = "$[-4]0 $1: $2 $3 $4";
|
||||
ignore_footer = "";
|
||||
unknown_chat_protocol = "%r:%K:: %rUnknown%K chat protocol: $0";
|
||||
unknown_chatnet = "%r:%K:: %rUnknown%K chat network: $0 (create it with /IRCNET ADD)";
|
||||
not_toggle = "%r:%K:: Value must be either ON, OFF or TOGGLE";
|
||||
perl_error = "%r:%K:: Perl %rerror%K: $0";
|
||||
bind_key = "$[!20]0 $1 $2";
|
||||
bind_unknown_id = "%r:%K:: %rUnknown%K bind action: $0";
|
||||
config_saved = "%K::%g:%K %gSaved%K configuration to file $0";
|
||||
config_reloaded = "%K::%g:%K %gReloaded%K configuration";
|
||||
config_modified = "%r:%y:%g:%K Configuration file was modified since irssi was last started - do you want to overwrite the possible changes?";
|
||||
glib_error = "{error GLib $0} $1";
|
||||
overwrite_config = "%r:%y:%g:%K Overwrite config (%gy%K/%rN%K)?";
|
||||
set_title = "[{hilight $0}]";
|
||||
set_item = "$0 = $1";
|
||||
set_unknown = "%r:%K:: %rUnknown%K setting $0";
|
||||
set_not_boolean = "%r:%K:: Setting {hilight $0} isn't boolean, use /SET";
|
||||
translation_not_found = "%r:%K:: %rError%K opening translation table file $0: $1";
|
||||
translation_file_error = "%r:%K:: %rError%K parsing translation table file $0";
|
||||
};
|
||||
"fe-common/irc/dcc" = {
|
||||
dcc_list_header = "{line_start_irssi}{dcc DCC connections:}";
|
||||
dcc_list_footer = "{line_start_irssi}{dcc ];}";
|
||||
# own_dcc = "{dccownmsg dcc {dccownnick $1}}$2";
|
||||
# own_dcc_action = "{dccownaction_target $0 $1}$2";
|
||||
# own_dcc_action_query = "{dccownaction $0}$2";
|
||||
# own_dcc_ctcp = "{ownctcp ctcp $0}$1 $2";
|
||||
# dcc_msg = "{dccmsg dcc $0}$1";
|
||||
# action_dcc = "{dccaction $0}$1";
|
||||
# action_dcc_query = "{dccaction $0}$1";
|
||||
# own_dcc_query = "{ownmsgnick {dccownquerynick $0}}$2";
|
||||
# dcc_msg_query = "{privmsgnick $0}$1";
|
||||
dcc_ctcp = "%K::%g:%K {dcc >>> DCC CTCP {hilight $1} %greceived%K from {hilight $0}: $2}";
|
||||
dcc_chat = "%K::%g:%K {dcc DCC CHAT from {nick $0} [$1 port $2]}";
|
||||
dcc_chat_channel = "%K::%g:%K {dcc DCC CHAT from {nick $0} [$1 port $2] %grequested%K in channel {channel $3}}";
|
||||
dcc_chat_not_found = "%K::%g:%K {dcc No DCC CHAT %gconnection open%K to {nick $0}}";
|
||||
dcc_chat_connected = "%K::%g:%K {dcc DCC CHAT connection with {nick $0} [$1 port $2] %gestablished%K}";
|
||||
dcc_chat_disconnected = "%r:%K:: {dcc DCC %rlost chat%K to {nick $0}}";
|
||||
dcc_send = "%K::%g:%K {dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes]}";
|
||||
dcc_send_channel = "%K::%g:%K {dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes] %grequested%K in channel {channel $5}}";
|
||||
dcc_send_exists = "%r:%K:: {dcc DCC %ralready sending%K file {dccfile $0} for {nick $1}}";
|
||||
dcc_send_not_found = "%r:%K:: {dcc DCC %rnot sending%K file {dccfile $1} to {nick $0}}";
|
||||
dcc_send_file_open_error = "%r:%K:: {dcc DCC %rcan't open%K file {dccfile $0}: $1}";
|
||||
dcc_send_connected = "%K::%g:%K {dcc DCC %gsending%K file {dccfile $0} for {nick $1} [$2 port $3]}";
|
||||
dcc_send_complete = "%K::%g:%K {dcc DCC %gsent%K file {dccfile $0} [{hilight $1}kB] for {nick $2} in {hilight $3} secs [{hilight $4kB/s}]}";
|
||||
dcc_send_aborted = "%r:%K:: {dcc DCC %raborted%K sending file {dccfile $0} for {nick $1}}";
|
||||
dcc_get_not_found = "%r:%K:: {dcc DCC no file offered by {nick $0}}";
|
||||
dcc_get_connected = "%K::%g:%K {dcc DCC %greceiving%K file {dccfile $0} from {nick $1} [$2 port $3]}";
|
||||
dcc_get_complete = "%K::%g:%K {dcc DCC %greceived%K file {dccfile $0} [$1kB] from {nick $2} in {hilight $3} secs [$4kB/s]}";
|
||||
dcc_get_aborted = "%r:%K:: {dcc DCC %raborted%K receiving file {dccfile $0} from {nick $1}}";
|
||||
dcc_unknown_ctcp = "%r:%K:: {dcc DCC unknown ctcp {hilight $0} from {nick $1} [$2]}";
|
||||
dcc_unknown_reply = "%r:%K:: {dcc DCC unknown reply {hilight $0} from {nick $1} [$2]}";
|
||||
dcc_unknown_type = "%r:%K:: {dcc DCC unknown type {hilight $0}}";
|
||||
dcc_invalid_ctcp = "%r:%K:: {dcc DCC received CTCP {hilight $0} with %rinvalid%K parameters from {nick $1}}";
|
||||
dcc_connect_error = "%r:%K:: {dcc DCC %rcan't connect%K to {hilight $0} port {hilight $1}}";
|
||||
dcc_cant_create = "%r:%K:: {dcc DCC %rcan't create%K file {dccfile $0}}";
|
||||
dcc_rejected = "%r:%K:: {dcc DCC $0 was %rrejected%K by {nick $1} [{hilight $2}]}";
|
||||
dcc_request_send = "%K::%g:%K {dcc DCC $0 %grequest sent%K to {nick $1}: $2";
|
||||
dcc_close = "{dcc DCC $0 close for {nick $1} [{hilight $2}]}";
|
||||
dcc_lowport = "{dcc Warning: Port sent with DCC request is a lowport ({hilight $0, $1}) - this isn't normal. It is possible the address/port is faked (or maybe someone is just trying to bypass firewall)}";
|
||||
dcc_list_line_chat = "%WChat ->%n {dcc $0 $1}";
|
||||
dcc_list_line_file = "%WFile ->%n {dcc $0 $1 : $2k of $3k ($4%%) - $5kB/s - $6}";
|
||||
};
|
||||
"fe-text" = {
|
||||
lastlog_too_long = "%r:%y:%g:%K /LASTLOG would print $0 lines. If you really want to print all these lines use -force option.";
|
||||
lastlog_count = "{hilight Lastlog}: $0 lines";
|
||||
lastlog_start = "{hilight Lastlog}:";
|
||||
lastlog_end = "{hilight End of Lastlog}";
|
||||
refnum_not_found = "%r:%K::%K Window number $0 %rnot found%K";
|
||||
window_too_small = "%r:%K::%K %rNot enough room%K to resize this window";
|
||||
cant_hide_last = "%r:%K::%K You %rcan't hide%K the last window";
|
||||
cant_hide_sticky_windows = "%r:%K::%K You %rcan't hide%K sticky windows (use /WINDOW STICK OFF)";
|
||||
cant_show_sticky_windows = "%r:%K::%K You %rcan't show%K sticky windows (use /WINDOW STICK OFF)";
|
||||
window_not_sticky = "%r:%K::%K Window %ris not%K sticky";
|
||||
window_set_sticky = "%K::%g:%K Window %gset%K sticky";
|
||||
window_unset_sticky = "%K::%g:%K Window %gis not%K sticky anymore";
|
||||
window_info_sticky = "Sticky : $0";
|
||||
window_scroll = "%K::%g:%K Window scroll mode is now $0";
|
||||
window_scroll_unknown = "%r:%K:: %rUnknown%K scroll mode $0, must be ON, OFF or DEFAULT";
|
||||
};
|
||||
"fe-common/irc" = {
|
||||
netsplit = "%r:%K:: %r{netsplit netsplit}%K %|{server $0} <-> {server $1} %rquits%K: $2";
|
||||
netsplit_more = "%r:%K:: %r{netsplit netsplit}%K %|{server $0} <-> {server $1} %rquits:%K $2 (+$3 more, use /NETSPLIT to show all of them)";
|
||||
netsplit_join = "%K::%g:%K %g{netjoin netsplit}%K - %|%gjoins:%K $0";
|
||||
netsplit_join_more = "%%K::%g:%K %g{netjoin netsplit}%K - %|over, %gjoins:%K $0 (+$1 more)";
|
||||
no_netsplits = "%r:%y:%g:%K There are no netsplits";
|
||||
netsplits_header = "Nick Channel Server Splitted server";
|
||||
netsplits_line = "$[9]0 $[10]1 $[20]2 $3";
|
||||
netsplits_footer = "";
|
||||
ircnet_added = "%K::%g:%K Ircnet $0 %gsaved%K";
|
||||
ircnet_removed = "%K::%g:%K Ircnet $0 %gremoved%K";
|
||||
ircnet_not_found = "%r:%K:: Ircnet $0 %rnot found%K";
|
||||
ircnet_header = "%r:%y:%g:%K Ircnets:";
|
||||
ircnet_line = "$0: $1";
|
||||
ircnet_footer = "";
|
||||
setupserver_header = "Server Port Network Settings";
|
||||
setupserver_line = "%|$[!20]0 $[5]1 $[10]2 $3";
|
||||
setupserver_footer = "";
|
||||
joinerror_toomany = "%r:%K:: Join %rfails%K: {channel $0} (You have joined to too many channels)";
|
||||
joinerror_full = "%r:%K:: Join %rfails%K: {channel $0} (Channel is full)";
|
||||
joinerror_invite = "%r:%K:: Join %rfails%K: {channel $0} (You must be invited)";
|
||||
joinerror_banned = "%r:%K:: Join %rfails%K: {channel $0} (You are banned)";
|
||||
joinerror_bad_key = "%r:%K:: Join %rfails%K: {channel $0} (Wrong channel key)";
|
||||
joinerror_bad_mask = "%r:%K:: Join %rfails%K: {channel $0} (Bad channel mask)";
|
||||
joinerror_unavail = "%r:%K:: Join %rfails%K: {channel $0} (Channel is temporarily unavailable)";
|
||||
joinerror_duplicate = "%r:%K:: Channel {channel $0} already exists - %rcannot create%K it";
|
||||
channel_rejoin = "%r:%K:: Channel {channel $0} is temporarily %runavailable%K. Setting up a rejoin, to not rejoin, use /rmrejoins.";
|
||||
inviting = "%K::%g:%K %gInviting%K {nick $0} to {channel $1}";
|
||||
channel_created = "%r:%y:%g:%K Channel {channel $0} created %_$1%_";
|
||||
url = "%r:%y:%g:%K Home page for {channelhilight $0}: $1";
|
||||
topic = "%r:%y:%g:%K Topic for {channel $0}: %_$1%_";
|
||||
no_topic = "%r:%y:%g:%K No topic set for %_$0%_";
|
||||
topic_info = "%r:%y:%g:%K Topic set by {channick_hilight $0} {mode $1}";
|
||||
chanmode_change = "%K:%y:%K: %ymode%K/{channel $0} [{mode $1}] by {nick $2}";
|
||||
server_chanmode_change = "%K::%g: {netsplit ServerMode}%K/{channelhilight $0}: {mode $1} by {nick $2}";
|
||||
channel_mode = "%K:%y:%K: %ymode%K/{channelhilight $0} [{mode $1}]";
|
||||
bantype = "%K:%y:%K: Ban type %ychanged%K to {channel $0}";
|
||||
no_bans = "%r:%y:%g:%K No bans in channel {channel $0}";
|
||||
banlist = "$0 - {channel $1}: ban {ban $2}";
|
||||
banlist_long = "$0 - {channel $1}: ban {ban $2} {comment by {nick $3}, $4 secs ago}";
|
||||
ebanlist = "{channel $0}: ban exception {ban $1}";
|
||||
ebanlist_long = "{channel $0}: ban exception {ban $1} {comment by {nick $2}, $3 secs ago}";
|
||||
no_invitelist = "%r:%y:%g:%K Invite list is empty in channel {channel $0}";
|
||||
invitelist = "{channel $0}: invite {ban $1}";
|
||||
no_such_channel = "%r:%K::%K {channel $0}: %rNo such%K channel";
|
||||
channel_change = "%K:%y:%K: %ymode%K/{channel $0} [{mode $1}]";
|
||||
channel_synced = "%r:%y:%g:%K Join to {channel $0} was synced in {hilight $1} secs";
|
||||
usermode_change = "%K:%y:%K: %ymode%K/{channel $0} [{mode $0}] by {channick_hilight $1}";
|
||||
user_mode = "%r:%y:%g:%K Your user mode is {mode $0}";
|
||||
away = "%K::%g:%K You have been %gmarked%K as being away";
|
||||
unaway = "%K::%g:%K You are %gno longer marked%K as being away";
|
||||
nick_away = "%r:%K::%K {nick $0} is %raway%K: $1";
|
||||
no_such_nick = "%r:%K::%K {nick $0}: %rNo such%K nick/channel";
|
||||
nick_in_use = "%r:%K::%K Nick {nick $0} is %ralready in use%K";
|
||||
nick_unavailable = "%r:%K::%K Nick {nick $0} is temporarily %runavailable%K";
|
||||
your_nick_owned = "%r:%K::%K Your nick is %rowned%K by {nick $3} {comment $1@$2}";
|
||||
whois = "%K:%K:%g:%K %g%U{nick $0}%U%K ({nickhost $1@$2})%:%r:%y:%g:%K ircname: $3";
|
||||
whowas = "%r:%y:%g:%K {nick $0} {nickhost $1@$2}%:%r:%y:%g:%K {whois ircname $3}";
|
||||
whois_idle = "%r:%y:%g:%K Idle: %|since $1 days $2 hours $3 mins $4 secs";
|
||||
whois_idle_signon = "%r:%y:%g:%K Idle: %|since $1 days $2 hours $3 mins $4 secs {comment Signed on: $5}";
|
||||
whois_server = "%r:%y:%g:%K Server: %|$1 {comment $2}";
|
||||
whois_oper = "%r:%y:%g:%K Info: %|{hilight $1}";
|
||||
whois_registered = "%r:%y:%g:%K Info: %|has registered this nick";
|
||||
whois_help = "%r:%y:%g:%K Info: %|available for help";
|
||||
whois_modes = "%r:%y:%g:%K Modes: %|{mode $1}";
|
||||
whois_realhost = "%r:%y:%g:%K Hostname: %|{hilight $1-}";
|
||||
whois_usermode = "%r:%y:%g:%K Usermode: %|{mode $1}";
|
||||
whois_channels = "%r:%y:%g:%K Channels: %|{channel $1}";
|
||||
whois_away = "%r:%y:%g:%K Away: %|$1";
|
||||
whois_special = "%r:%y:%g:%K Info: %|$1";
|
||||
whois_extra = "%r:%y:%g:%K Info: %|$1";
|
||||
end_of_whois = "%r:%K::%K %rEnd%K of WHOIS%K";
|
||||
end_of_whowas = "%r:%y:%g:%K End of WHOWAS";
|
||||
whois_not_found = "%r:%K::%K There is %rno such%K nick {channick_hilight $0}";
|
||||
who = "{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}";
|
||||
end_of_who = "%r:%y:%g:%K End of /WHO list";
|
||||
own_notice = "{ownnotice notice $0}$1";
|
||||
# own_action = "{nick $[-11]0}%n $1";
|
||||
# own_action_target = "{ownaction_target $0 $2}$1";
|
||||
own_ctcp = "{ownctcp ctcp $0}$1 $2";
|
||||
notice_server = "{servernotice $0}$1";
|
||||
notice_public = "{notice $0{pubnotice_channel $1}}$2";
|
||||
notice_private = "{notice $0{pvtnotice_host $1}}$2";
|
||||
# action_private = "{pvtaction $0}$2";
|
||||
# action_private_query = "{pvtaction_query $0}$2";
|
||||
# action_public = " {nick $[-11]0}%n $1";
|
||||
# action_public_channel = "{pubaction $0{msgchannel $1}}$2";
|
||||
ctcp_reply = "%K::%g:%K %gCTCP%K {hilight $0} reply from {channick_hilight $1}: $2";
|
||||
ctcp_reply_channel = "%K::%g:%K %gCTCP {hilight $0} reply%K from {channick_hilight $1} in channel {channel $3}: $2";
|
||||
ctcp_ping_reply = "%K::%g:%K %gCTCP {hilight PING} reply%K from {channick_hilight $0}: $1.$[-3.0]2 seconds";
|
||||
ctcp_requested = "%K::%g:%K %K{ctcp {hilight $0} {comment $1} %grequested%K {hilight $2} from {nick $3}}";
|
||||
ctcp_requested_unknown = "";
|
||||
online = "%r:%y:%g:%K Users online: {hilight $0}";
|
||||
pong = "%K::%g:%K PONG %greceived%K from $0: $1";
|
||||
wallops = "{wallop WALLOP {wallop_nick $0}} $1";
|
||||
action_wallops = "{wallop WALLOP {wallop_action $0}} $1";
|
||||
kill = "%r:%K:: You were %r{error killed}%K by {nick $0} {nickhost $1} {reason $2} {comment Path: $3}";
|
||||
kill_server = "%r:%K:: You were %r{error killed}%K by {server $0} {reason $1} {comment Path: $2}";
|
||||
error = "%r:%K:: %r{error ERROR}%K $0";
|
||||
unknown_mode = "%r:%K:: %rUnknown%K mode character $0";
|
||||
not_chanop = "%r:%K:: You're %rnot channel operator%K in {channel $0}";
|
||||
silenced = "%K::%g:%K %gSilenced%K {nick $0}";
|
||||
unsilenced = "%K::%g:%K %gUnsilenced%K {nick $0}";
|
||||
silence_line = "{nick $0}: silence {ban $1}";
|
||||
ask_oper_pass = "%r:%y:%g:%K Operator password:";
|
||||
};
|
||||
"fe-common/perl" = {
|
||||
script_not_found = "%r:%K:: Script {hilight $0} %rnot found%K";
|
||||
script_not_loaded = "%r:%K:: Script {hilight $0} %ris not%K loaded";
|
||||
script_loaded = "%K::%g:%K %gLoaded%K script {hilight $0}";
|
||||
script_unloaded = "%r:%K:: %rUnloaded%K script {hilight $0}";
|
||||
no_scripts_loaded = "%r:%y:%g:%K No scripts are loaded";
|
||||
script_list_header = "%r:%y:%g:%K Loaded scripts:";
|
||||
script_list_line = "$[!15]0 $1";
|
||||
script_list_footer = "";
|
||||
script_error = "{error %r:%K:: %rError%K in script {hilight $0}:}";
|
||||
};
|
||||
# "fe-common/irc/notifylist" = {
|
||||
# notify_join = "{nick $0} [$1@$2] [{hilight $3}] has joined to $4";
|
||||
# notify_part = "{nick $0} has left $4";
|
||||
# notify_away = "{nick $0} [$5] [$1@$2] [{hilight $3}] is now away: $4";
|
||||
# notify_unaway = "{nick $0} [$4] [$1@$2] [{hilight $3}] is now unaway";
|
||||
# notify_unidle = "{nick $0} [$5] [$1@$2] [{hilight $3}] just stopped idling";
|
||||
# notify_online = "On $0: {hilight $1}";
|
||||
# notify_offline = "Offline: $0";
|
||||
# notify_list = "$0: $1 $2 $3";
|
||||
# notify_list_empty = "The notify list is empty";
|
||||
# };
|
||||
};
|
||||
|
26
files/irc/.irssi/scripts/dispatch.pl
Normal file
26
files/irc/.irssi/scripts/dispatch.pl
Normal file
@ -0,0 +1,26 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Irssi;
|
||||
use Irssi::Irc;
|
||||
use vars qw($VERSION %IRSSI);
|
||||
|
||||
$VERSION = "0.0.2";
|
||||
%IRSSI = (
|
||||
authors => "Sebastian 'yath' Schmidt",
|
||||
contact => "yathen\@web.de",
|
||||
name => "Command dispatcher",
|
||||
description => "This scripts sends unknown commands to the server",
|
||||
license => "GNU GPLv2",
|
||||
changed => "Tue Mar 5 14:55:29 CET 2002",
|
||||
);
|
||||
|
||||
sub event_default_command {
|
||||
my ($command, $server) = @_;
|
||||
return if (Irssi::settings_get_bool("dispatch_unknown_commands") == 0
|
||||
|| !$server);
|
||||
$server->send_raw($command);
|
||||
Irssi::signal_stop();
|
||||
}
|
||||
|
||||
Irssi::settings_add_bool("misc", "dispatch_unknown_commands", 1);
|
||||
Irssi::signal_add_first("default command", "event_default_command");
|
55
files/irc/.irssi/scripts/hilightwin.pl
Normal file
55
files/irc/.irssi/scripts/hilightwin.pl
Normal file
@ -0,0 +1,55 @@
|
||||
#
|
||||
# Print hilighted messages & private messages to window named "hilight" for
|
||||
# irssi 0.7.99 by Timo Sirainen
|
||||
#
|
||||
# Modded a tiny bit by znx to stop private messages entering the hilighted
|
||||
# window (can be toggled) and to put up a timestamp.
|
||||
#
|
||||
|
||||
use strict;
|
||||
use Irssi;
|
||||
use POSIX;
|
||||
use vars qw($VERSION %IRSSI);
|
||||
|
||||
$VERSION = "0.04";
|
||||
%IRSSI = (
|
||||
authors => "Timo \'cras\' Sirainen, Mark \'znx\' Sangster",
|
||||
contact => "tss\@iki.fi, znxster\@gmail.com",
|
||||
name => "hilightwin",
|
||||
description => "Print hilighted messages to window named \"hilight\"",
|
||||
license => "Public Domain",
|
||||
url => "http://irssi.org/",
|
||||
changed => "Sun May 25 18:59:57 BST 2008"
|
||||
);
|
||||
|
||||
sub sig_printtext {
|
||||
my ($dest, $text, $stripped) = @_;
|
||||
|
||||
my $opt = MSGLEVEL_HILIGHT;
|
||||
|
||||
if(Irssi::settings_get_bool('hilightwin_showprivmsg')) {
|
||||
$opt = MSGLEVEL_HILIGHT|MSGLEVEL_MSGS;
|
||||
}
|
||||
|
||||
if(
|
||||
($dest->{level} & ($opt)) &&
|
||||
($dest->{level} & MSGLEVEL_NOHILIGHT) == 0
|
||||
) {
|
||||
my $window = Irssi::window_find_name('hilight');
|
||||
|
||||
if ($dest->{level} & MSGLEVEL_PUBLIC) {
|
||||
$text = $dest->{target}.": ".$text;
|
||||
}
|
||||
$text =~ s/%/%%/g;
|
||||
$window->print($text, MSGLEVEL_CLIENTCRAP) if ($window);
|
||||
}
|
||||
}
|
||||
|
||||
my $window = Irssi::window_find_name('hilight');
|
||||
Irssi::print("Create a window named 'hilight'") if (!$window);
|
||||
|
||||
Irssi::settings_add_bool('hilightwin','hilightwin_showprivmsg',1);
|
||||
|
||||
Irssi::signal_add('print text', 'sig_printtext');
|
||||
|
||||
# vim:set ts=4 sw=4 et:
|
447
files/irc/.irssi/scripts/lastfm.pl
Normal file
447
files/irc/.irssi/scripts/lastfm.pl
Normal file
@ -0,0 +1,447 @@
|
||||
# vim: set expandtab:
|
||||
use strict;
|
||||
use vars qw($VERSION %IRSSI);
|
||||
$VERSION = "5.8";
|
||||
%IRSSI = (
|
||||
authors => "Simon 'simmel' Lundström",
|
||||
contact => 'simmel@(freenode|quakenet|efnet) http://last.fm/user/darksoy',
|
||||
name => "lastfm",
|
||||
date => "20110125",
|
||||
description => 'A now-playing-script which uses Last.fm',
|
||||
license => "BSD",
|
||||
url => "http://soy.se/code/",
|
||||
);
|
||||
# USAGE
|
||||
# For details on how to use each setting, scroll down to the SETTINGS section.
|
||||
|
||||
# QUICK START
|
||||
# * First of all, you need the libwww/LWP package installed. The package in
|
||||
# your package system is probably called something with libwww and perl and/or
|
||||
# p5 in it.
|
||||
# * /set lastfm_user to the username that you are using on Last.fm
|
||||
# * Show with /np or %np<TAB> what song "lastfm_user" last scrobbled to Last.fm via /say. If "lastfm_use_action" is set, it uses /me.
|
||||
# * To see what another user on Last.fm is playing is also possible via /np <username> or %np(<username>).
|
||||
# The now-playing message is configurable via via "lastfm_output" (and lastfm_output_tab_complete when using %np, if not set it will use lastfm_output by default.). "lastfm_strftime" can be used to configure the display of date and time when the song was scrobbled.
|
||||
|
||||
# SETTINGS
|
||||
# NOTE: Do not set these options here, use /set <option> <value> in irssi!
|
||||
# These are just defaults and descriptions on what the options do.
|
||||
|
||||
# The username which you are using on Last.fm
|
||||
Irssi::settings_add_str("lastfm", "lastfm_user", "");
|
||||
|
||||
# The output that you want to use.
|
||||
# The substitution variables are:
|
||||
# %artist = Self explanatory
|
||||
# %album = Self explanatory
|
||||
# %name = Name of song*
|
||||
# %url = URL to song on Last.fm
|
||||
# %player = Player we are using to submit to Last.fm with. See setting "lastfm_get_player" below
|
||||
# %user = User that is playing, when /np <username> or %np(<username> is used
|
||||
# If "lastfm_output_tab_complete" is not defined, "lastfm_output" will be used instead.
|
||||
# Something bothered me for a long time and when something really starts to itch
|
||||
# I tend to want to do something about it. I'm /np:ing away displaying all sorts
|
||||
# of tracks to my friends until I get to a track which has no album information
|
||||
# on Last.fm and the output becomes really ugly "np: Kraftwerk-Aerodynamik
|
||||
# (Alex Gopher/Etienne de Crecy dynamik mix) ()". What's with that last ()!? Oh,
|
||||
# right we are using "np: %artist-%name (%album)" as "lastfm_output". Wouldn't
|
||||
# it be really cool if lastfm.pl knew when certain information from Last.fm
|
||||
# didn't exist and didn't display it? So thought I, so that's why I created a
|
||||
# conditional. It works that you have to put your tag (%album e.g.) within %()
|
||||
# e.g. "np: %artist-%name%( (%album))" and everything between %( and ) only gets
|
||||
# displayed if the tag inside actually exists! Cool, huh!?
|
||||
|
||||
# *) Name is used instead of, the more logical IMO, track since that is what Last.fm reports in their .xml file that we parse.
|
||||
Irssi::settings_add_str("lastfm", "lastfm_output", '%(%user is )np: %artist-%name');
|
||||
Irssi::settings_add_str("lastfm", "lastfm_output_tab_complete", '');
|
||||
|
||||
# If we should use /me instead of /say
|
||||
Irssi::settings_add_bool("lastfm", "lastfm_use_action", 0);
|
||||
|
||||
# If we should make the subtitution variable %player available which is very slow to fetch but nice to have.
|
||||
Irssi::settings_add_bool("lastfm", "lastfm_get_player", 0);
|
||||
|
||||
# Changelog#{{{
|
||||
|
||||
# 5.8 -- Tue Jan 25 16:11:29 CET 2011
|
||||
# * Ignore a closure warning
|
||||
|
||||
# 5.7 -- Mon Jan 24 16:39:06 CET 2011
|
||||
# * Fixed a bug where we forked when we still waited for a reply from last.fm
|
||||
|
||||
# 5.6 -- Sun Jul 18 13:16:38 CEST 2010
|
||||
# * Made substitution variable %user available when /np <username> or
|
||||
# %np(<username>) is used.
|
||||
# * Made some checks a bit more strict.
|
||||
|
||||
# 5.5 -- Mon Jul 12 19:04:26 CEST 2010
|
||||
# * Rewrote the whole error handling
|
||||
# * Fixed a bug where the error messages would be said and not printed.
|
||||
# * Fixed some minor bugs and removed some unneeded code.
|
||||
|
||||
# 5.4 -- Wed May 26 17:04:08 CEST 2010
|
||||
# * Last.fm updated their profile HTML so that the %player macro didn't work.
|
||||
# Thanks to Keith Ward for mentioning this and suggesting a fix.
|
||||
# * A minor fix which removes some debug messages when error reporting.
|
||||
|
||||
# 5.3 --
|
||||
# * I used POSIX::_exit() but I never did "use POSIX;". Leo Green, mortiis and
|
||||
# rissy reported this problem, thanks! This is an issue when you have a newer
|
||||
# version of Perl installed (>5.10)
|
||||
|
||||
# 5.2 -- Mon Nov 16 08:25:20 CET 2009
|
||||
# * When you remove a subroutine you should remove all calls to it..
|
||||
|
||||
# 5.1 -- Wed Nov 11 09:39:54 CET 2009
|
||||
# * Ok, I admit that using undocumented features in an API is bad, but come
|
||||
# on.. Anyway, fixed now, everything should work as it should and should
|
||||
# never break again (flw)...
|
||||
|
||||
# 5.0 -- Mon Nov 9 08:34:48 CET 2009
|
||||
# * Fixed a warning reported by mm_mannen and did a yet another clean up
|
||||
|
||||
# 4.9 -- Sat Nov 7 18:10:17 CET 2009
|
||||
# * Last.fm changed how their API behaved and that broke my code because
|
||||
# I'm a fool and I don't want to use an XML-lib because of your sake (so you
|
||||
# won't have to install yet another Perl-module). Thanks to supertobbe and
|
||||
# mm_mannen who saw and reported this!
|
||||
# * Fixed so that lastfm_get_player works again and made it say that it
|
||||
# doesn't work next time Last.fm changes their HTML.
|
||||
# * Removed the date support in lastfm_output and lastfm_output_tab_complete
|
||||
# since I use the API another way now.
|
||||
# * Removed cache. It was broken at times and I can't be arsed to debug it.
|
||||
# It's not that much faster but the complexity gets bigger. If someone REALLY
|
||||
# needs this, give me a shout.
|
||||
# * Removed, rewrote and cleaned up some parts of the script.
|
||||
|
||||
# 4.8 -- Sun May 10 10:11:29 CEST 2009
|
||||
# * Fixed a bug with the cache ('There are only two hard things in
|
||||
# Computer Science: cache invalidation and naming things' -Phil Karlton)
|
||||
# * Started using HTML::Entities for decoding all sorts of HTML-chars, it's
|
||||
# included in libwww anyway.
|
||||
|
||||
# 4.7 -- Tue Apr 8 13:37:11 CEST 2009
|
||||
# * Start using LWP::UserAgent instead of LWP::Simple and got rid of the idea to
|
||||
# start using my own HTTP-lib (it was finished, but..). I'm getting old ; P
|
||||
# * Made so that everything is cached and checks if the Last-Modified date when
|
||||
# getting information from Last.fm.
|
||||
# * Fixed some documentation bugs.
|
||||
|
||||
# 4.6 -- Wed Mar 18 19:45:11 CET 2009
|
||||
# * Fixed an changed behavour in irssi-trunk with the error handling (which I should replace anyway!).
|
||||
# * Added %player substitute variable that shows what application you are using to scrobble with. This is very slow, so I made it an option, "lastfm_get_player".
|
||||
# * Fixed print_raw once and for all (famous last words..) so now debug output looks really neat.
|
||||
# * Added an quick start which should help get going faster
|
||||
# * Fixed an issue where %np(lastfmusername) would not work.
|
||||
# * Fixed error mesages for %np(lastfmusername)
|
||||
# * Fixed an problem with irssi-svn where die's message have changed. Thanks tto jnpplf for reporting this.
|
||||
|
||||
# 4.5 -- Wed 1 Oct 2008 20:03:47 CEST
|
||||
# * Removed a debug output
|
||||
# * Fixed some datacorruption, references in Perl is hard! = (
|
||||
|
||||
# 4.4 -- Wed 1 Oct 2008 16:34:34 CEST
|
||||
# * Changed so that all the tab-commands use % instead of $ so that it's consistent through out the script.
|
||||
# * Ripped out my sprintf crap and made it more sane. You should use %artist, %album, etc in your nowplaying-setting now. Since sprintf is nolonger used I renamed that setting too.
|
||||
# * Made everything that you can set in "lastfm_output" tabable so now you can do %artist<TAB>.
|
||||
# %() in "lastfm_output" really works. It really didn't before.
|
||||
# * Fixed some issues with the date probably not working, but should now.
|
||||
# * Made the script check if Last.fm's scrobbler server is alive and kicking before we blame them.
|
||||
|
||||
# 4.3 -- Mon 21 Jul 2008 08:46:36 CEST
|
||||
# * Seem like I misunderstood the protocol. The date/time is only sent when we have scrobbled the track, not when we started to listen to it.
|
||||
|
||||
# 4.2 -- Tue 15 Jul 2008 15:40:08 CEST
|
||||
# Yay! Three new version within a day! (No, I'm not bored at work)
|
||||
# * Made /np username and $np(username) make username the prefix of np: yadayada or whatever your lastfm_sprintf or lastfm_sprintf_tab_complete is.
|
||||
|
||||
# 4.1 -- Tue 15 Jul 2008 15:23:03 CEST
|
||||
# Well, that version lasted long!
|
||||
# * Fixed a bug with /np not working.
|
||||
# * Fixed an issue where debug info would be printed even if lastfm_debug was off.
|
||||
|
||||
# 4.0 -- Tue 15 Jul 2008 10:17:51 CEST
|
||||
# * Fixing a sprintfng-bug which didn't display time if album was not set.
|
||||
# * Rewrote the whole script to use Last.fm's API which is very accurate. There is no need for $np! and /np! now, so I'm removing them.
|
||||
# * Cleaned up abit.
|
||||
|
||||
# 3.9 -- Fri 11 Jul 2008 21:49:20 CEST
|
||||
# * Fixing a few bugs noticed by supertobbe
|
||||
|
||||
# 3.8 -- Fri 11 Jul 2008 18:21:52 CEST
|
||||
# * Shaped up error handling and now all error messages are shown.
|
||||
# * Added a user configurable debug mode, good for sending in bugs and weird behaviour.
|
||||
# * Minor cleanup
|
||||
|
||||
# 3.7 -- Thu 22 May 2008 10:33:55 CEST
|
||||
# * Fixed so that /np! and $np! fetches the album title too. This is horribly slow and takes approx. 6s on very fast connection. Last.fm isnt very fast I'm afraid and this is not a good way to do it.
|
||||
# * Cleaned up a few places. Started to look at the error handling and it seems to be alot of work.
|
||||
|
||||
# 3.6 -- Tue Nov 13 15:22:37 CET 2007
|
||||
# * Fixed encoding so that it always the data into the charset that you have specified in "term_charset" which irssi also uses.
|
||||
|
||||
# 3.5 -- Mon Nov 12 11:50:46 CET 2007
|
||||
# * Fixed the regex for parsing Recently Listened Tracks so that it works when listening with the Lastfm client.
|
||||
|
||||
# 3.4 -- Fri Nov 9 00:23:40 CET 2007
|
||||
# * Added /np lastfmusername
|
||||
|
||||
# 3.3 -- Tue Nov 6 01:54:59 CET 2007
|
||||
# * Finally added conditional sprintf-syntax! Let's say you want to use 'np: %s-%s (%s)' as "lastfm_sprintf". If you use /np it works out fine and displays 'np: Boards of Canada-Energy Warning (Geogaddi)' but what if you use /np! then it displays 'np: Boards of Canada-Energy Warning ()' since /np! can't get the album information. Doesn't that look ugly? Meet conditional sprintf. Now set your "lastfm_sprintf" to 'np: %s-%s%( (%s))'. ' (%s)' will only be printed if we get a third value, the album name in this case. Smart, huh? Big thanks to rindolf, apeiron and Khisanth from #perl@freenode for help with scoping with global variables.
|
||||
# * Also added "lastfm_sprintf_tab_complete" which makes, if set, $np<TAB> use a different sprintf pattern than /np. Will default back to "lastfm_sprintf".
|
||||
|
||||
# 3.2 -- Wed Oct 24 23:07:01 CEST 2007
|
||||
# * I don't like dependencies and I really wonder why I lastfm depended on DateTime. I remember now that it was morning and I was really tired when I coded it. Anyway, it's removed now along with Socket and URI::Escape. I'll try to remove the dependency for libwww later on.
|
||||
|
||||
# 3.1 -- Sun Oct 21 22:52:36 CEST 2007
|
||||
# * Added /np! and $np! to use the "lastfm_be_accurate_and_slow" method without having to change the setting.
|
||||
|
||||
# 3.0 -- Fri Oct 19 14:26:03 CEST 2007
|
||||
# * Created a new setting "lastfm_be_accurate_and_slow" which makes lastfm.pl parse your profile page to check what song you are playing right now. But be warned, this is slow and horrible (like my code! ; ). But it works until Last.fm makes this data available through their Web Services. This disables the album and "scrobbled at" features of "lastfm_sprintf" so you have to adapt it if you don't want it to look weird. I'm working on a new implementation of printf which allows for conditions but it took more time than I thought and time is something that I don't have much of ='(
|
||||
|
||||
# 2.5 -- Tue Oct 9 11:29:56 CEST 2007
|
||||
# * Fixed the encoding issue by converting from Last.fms UTF-8 into Perls internal encoding. With $np<TAB> output will be looking UTF-8-in-latin1 if you don't have an UTF-8 enabled Terminal, but it will display correctly after you have sent it.
|
||||
|
||||
# 2.4 -- Mon Oct 8 16:08:09 CEST 2007
|
||||
# * Fixed an error in error reporting ; P Bug noticed by supertobbe = *
|
||||
# * I should make an more generic and better error reporting.
|
||||
|
||||
# 2.3 -- Sat Oct 6 16:38:34 CEST 2007
|
||||
# * Made /np a nonblocking operation. Irssi's fork handling is REALLY messy. Thanks to tss and tommie for inspiring me in their scripts. $np cannot be made nonblocking, I'm afraid (patches welcome).
|
||||
# * Cleaned up abit.
|
||||
|
||||
# 2.2 -- Sat Aug 18 02:20:44 CEST 2007
|
||||
# * Now you can use $np(darksoy) to see what I play (or someone else for that matter ; ).
|
||||
|
||||
# 2.1 -- Tue Jul 17 12:50:18 CEST 2007
|
||||
# * Now you can use $np or $nowplaying as a tab-completion too, but a warning here, this is a blocking action so irssi won't respond or be usable until it is finished or the timeout is hit.
|
||||
# * Abstracted it abit more so that it can be used in more ways, ex. for the reason above.
|
||||
|
||||
# 2.0 -- Fri Jun 29 10:38:32 CEST 2007
|
||||
# * Now you can show the time that the song was submitted in lastfm_sprintf. Added lastfm_strftime to configure how the date is presented.
|
||||
# * Added $lastfm and $lfm as tab-completions to your own Last.fm profile URL. Ripoff of Jured's guts.pl (http://juerd.nl/irssi/)
|
||||
|
||||
# 1.5 -- Sat May 12 03:30:24 CEST 2007
|
||||
# * Started using XML instead because we get more info from it, like album (but it's often wrong).
|
||||
|
||||
# 1.0 -- Thu Apr 12 16:57:26 CEST 2007
|
||||
# * Got fedup with no good Last.fm-based now playing scripts around.
|
||||
|
||||
# THANKS
|
||||
# Random individuals on #perl@freenode, could namedrop icke,
|
||||
# }}}
|
||||
|
||||
# TODO
|
||||
# You tell me!
|
||||
|
||||
# Move along now, there's nothing here to see.
|
||||
|
||||
sub DEBUG {
|
||||
Irssi::settings_add_bool("lastfm", "lastfm_debug", 0);
|
||||
Irssi::settings_get_bool("lastfm_debug");
|
||||
};
|
||||
|
||||
use warnings;
|
||||
no warnings 'closure';
|
||||
use Data::Dumper;
|
||||
use Encode;
|
||||
use HTML::Entities;
|
||||
use Irssi;
|
||||
use LWP::UserAgent;
|
||||
use POSIX;
|
||||
|
||||
my $pipe_tag;
|
||||
my $waiting_for_reply;
|
||||
my $api_key = "eba9632ddc908a8fd7ad1200d771beb7";
|
||||
my $fields = "(artist|name|album|url|player|user)";
|
||||
my $ua = LWP::UserAgent->new(agent => "lastfm.pl/$VERSION", timeout => 10);
|
||||
|
||||
sub lastfm_nowplaying {
|
||||
my ($content, $url, $response, $tag, $value, %data);
|
||||
my ($user_shifted, $is_tabbed, $nowplaying, $witem) = @_;
|
||||
my $user = $user_shifted || Irssi::settings_get_str("lastfm_user");
|
||||
$nowplaying ||= ((Irssi::settings_get_str("lastfm_output_tab_complete") ne "" && $is_tabbed) ? Irssi::settings_get_str("lastfm_output_tab_complete") : Irssi::settings_get_str("lastfm_output"));
|
||||
|
||||
my $command_message = ($is_tabbed) ? '%%np(username)' : '/np username';
|
||||
if ($user eq '') {
|
||||
return "ERROR: You must /set lastfm_user to a username on Last.fm or use $command_message";
|
||||
}
|
||||
|
||||
if ($nowplaying =~ /^%(lastfm|lfm)$/) {
|
||||
return "http://last.fm/user/$user/";
|
||||
}
|
||||
elsif ($nowplaying =~ /^%user$/) {
|
||||
return $user;
|
||||
}
|
||||
|
||||
$data{'user'} = $user if ($user_shifted);
|
||||
|
||||
$url = "http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=$user&api_key=$api_key&limit=1";
|
||||
print Dumper "Checking for scrobbles at: $url" if DEBUG;
|
||||
$response = $ua->get($url);
|
||||
$content = $response->content;
|
||||
|
||||
# TODO This should work, untested (fail more Last.fm! ; )
|
||||
if ($content =~ m!<lfm status="failed">.*<error .*?>([^<]+)!s) {
|
||||
return "ERROR: $1";
|
||||
}
|
||||
my @data = split('\n', $content);
|
||||
|
||||
if (!grep(m!<track nowplaying="true">!, @data)) {
|
||||
print Dumper \$response if DEBUG;
|
||||
print Dumper \$content if DEBUG;
|
||||
return "ERROR: You are not playing anything according to Last.fm. Check http://www.last.fm/user/$user and see if they turn up there, otherwise restart your scrobbler.";
|
||||
}
|
||||
|
||||
my $regex = qr!<$fields.*?(?:uts="(.*?)">.*?|>(.*?))</\1>!;
|
||||
|
||||
foreach my $data (@data) {
|
||||
if ($data =~ m!</track>!) {
|
||||
last;
|
||||
}
|
||||
elsif ($data =~ /$regex/) {
|
||||
($tag, $value) = ($1, (defined($2) ? $2 : $3));
|
||||
print Dumper \$tag, \$value, \$data if DEBUG;
|
||||
$data{$tag} = $value;
|
||||
}
|
||||
}
|
||||
|
||||
if (Irssi::settings_get_bool("lastfm_get_player")) {
|
||||
$url = "http://www.last.fm/user/$user";
|
||||
$content = $ua->get($url)->content;
|
||||
if ($content =~ m!<span class="source">(.*?)</span>!) {
|
||||
$_ = $1;
|
||||
s/<[^>]*>//mgs;
|
||||
$data{'player'} = $_;
|
||||
}
|
||||
else {
|
||||
print "Couldn't find the player even though lastfm_get_player was set" if DEBUG;
|
||||
}
|
||||
}
|
||||
|
||||
print Dumper \%data if DEBUG;
|
||||
print Dumper "Output pattern before: $nowplaying" if DEBUG;
|
||||
$nowplaying =~ s/(%\((.*?%(\w+).?)\))/($data{$3} ? $2 : "")/ge;
|
||||
print Dumper "Output pattern after: $nowplaying" if DEBUG;
|
||||
$nowplaying =~ s/%$fields/$data{$1}/ge;
|
||||
decode_entities($nowplaying);
|
||||
Encode::from_to($nowplaying, "utf-8", Irssi::settings_get_str("term_charset"));
|
||||
return $nowplaying;
|
||||
}
|
||||
|
||||
sub lastfm_blocking {
|
||||
my ($witem, $user) = @_;
|
||||
my $nowplaying = lastfm_nowplaying($user, undef, undef, $witem);
|
||||
lastfm_print($witem, $nowplaying);
|
||||
}
|
||||
|
||||
sub lastfm_forky {
|
||||
my ($witem, $user) = @_;
|
||||
if ($waiting_for_reply) {
|
||||
lastfm_print(Irssi::active_win(), "We are still waiting for Last.fm to return our results");
|
||||
return;
|
||||
}
|
||||
# pipe is used to get the reply from child
|
||||
my ($rh, $wh);
|
||||
pipe($rh, $wh);
|
||||
|
||||
# non-blocking host lookups with fork()ing
|
||||
my $pid = fork();
|
||||
if (!defined($pid)) {
|
||||
Irssi::print("Can't fork() - aborting");
|
||||
close($rh);
|
||||
close($wh);
|
||||
return;
|
||||
}
|
||||
|
||||
$waiting_for_reply = 1;
|
||||
|
||||
if ($pid > 0) {
|
||||
# parent, wait for reply
|
||||
close($wh);
|
||||
Irssi::pidwait_add($pid);
|
||||
$pipe_tag = Irssi::input_add(fileno($rh), INPUT_READ, \&pipe_input, [$witem, $rh]);
|
||||
return;
|
||||
}
|
||||
|
||||
my $text;
|
||||
eval {
|
||||
# child, do the lookup
|
||||
$text = lastfm_nowplaying($user);
|
||||
};
|
||||
|
||||
if (!$text) {
|
||||
$text = "ERROR: Error message: $!";
|
||||
}
|
||||
|
||||
eval {
|
||||
# write the reply
|
||||
print($wh $text);
|
||||
close($wh);
|
||||
};
|
||||
POSIX::_exit(1);
|
||||
}
|
||||
|
||||
|
||||
sub pipe_input {
|
||||
my ($witem, $rh) = @{$_[0]};
|
||||
my $text = <$rh>;
|
||||
close($rh);
|
||||
|
||||
Irssi::input_remove($pipe_tag);
|
||||
$pipe_tag = -1;
|
||||
undef $waiting_for_reply;
|
||||
|
||||
lastfm_print($witem, $text);
|
||||
}
|
||||
|
||||
sub lastfm_print {
|
||||
my ($witem, $text, $tabbed) = @_;
|
||||
# Fugly error handling
|
||||
if ($text =~ s/^ERROR: //) {
|
||||
Irssi::active_win()->print($text);
|
||||
return;
|
||||
}
|
||||
|
||||
if ($tabbed) {
|
||||
return $text;
|
||||
}
|
||||
elsif (defined $witem->{type} && $witem->{type} =~ /^QUERY|CHANNEL$/) {
|
||||
if (Irssi::settings_get_bool("lastfm_use_action")) {
|
||||
$witem->command("me $text");
|
||||
}
|
||||
else {
|
||||
$witem->command("say $text");
|
||||
}
|
||||
}
|
||||
else {
|
||||
Irssi::active_win()->print($text);
|
||||
}
|
||||
}
|
||||
|
||||
Irssi::command_bind('np', sub {
|
||||
my ($data, $server, $witem) = @_;
|
||||
$data =~ s/ .*//;
|
||||
$data ||= 0;
|
||||
if (DEBUG) {
|
||||
lastfm_blocking($witem, $data);
|
||||
}
|
||||
else {
|
||||
lastfm_forky($witem, $data);
|
||||
}
|
||||
}, 'lastfm');
|
||||
|
||||
Irssi::signal_add_last 'complete word' => sub {
|
||||
my ($complist, $window, $word, $linestart, $want_space) = @_;
|
||||
my $is_tabbed = 1;
|
||||
my $tab_fields = $fields;
|
||||
$tab_fields =~ s/\(/(nowplaying|np|lastfm|lfm|/;
|
||||
if ($word =~ /(\%(?:$tab_fields))\(?(\w+)?\)?/) {
|
||||
my ($nowplaying, $user) = ($1, $3);
|
||||
undef $nowplaying if ($nowplaying =~ /nowplaying|np/);
|
||||
$nowplaying = lastfm_nowplaying($user, $is_tabbed, $nowplaying);
|
||||
if (lastfm_print(Irssi::active_win(), $nowplaying, 1)) {
|
||||
push @$complist, "$nowplaying";
|
||||
}
|
||||
}
|
||||
};
|
611
files/irc/.irssi/scripts/nicklist.pl
Normal file
611
files/irc/.irssi/scripts/nicklist.pl
Normal file
@ -0,0 +1,611 @@
|
||||
# for documentation: see http://wouter.coekaerts.be/site/irssi/nicklist
|
||||
|
||||
use Irssi;
|
||||
use strict;
|
||||
use IO::Handle; # for (auto)flush
|
||||
use Fcntl; # for sysopen
|
||||
use vars qw($VERSION %IRSSI);
|
||||
$VERSION = '0.4.6';
|
||||
%IRSSI = (
|
||||
authors => 'Wouter Coekaerts',
|
||||
contact => 'coekie@irssi.org',
|
||||
name => 'nicklist',
|
||||
description => 'draws a nicklist to another terminal, or at the right of your irssi in the same terminal',
|
||||
license => 'GPLv2',
|
||||
url => 'http://wouter.coekaerts.be/irssi',
|
||||
changed => '29/06/2004'
|
||||
);
|
||||
|
||||
sub cmd_help {
|
||||
print ( <<EOF
|
||||
Commands:
|
||||
NICKLIST HELP
|
||||
NICKLIST SCROLL <nr of lines>
|
||||
NICKLIST SCREEN
|
||||
NICKLIST FIFO
|
||||
NICKLIST OFF
|
||||
NICKLIST UPDATE
|
||||
|
||||
For help see: http://wouter.coekaerts.be/site/irssi/nicklist
|
||||
|
||||
in short:
|
||||
|
||||
1. FIFO MODE
|
||||
- in irssi: /NICKLIST FIFO (only the first time, to create the fifo)
|
||||
- in a shell, in a window where you want the nicklist: cat ~/.irssi/nicklistfifo
|
||||
- back in irssi:
|
||||
/SET nicklist_heigth <height of nicklist>
|
||||
/SET nicklist_width <width of nicklist>
|
||||
/NICKLIST FIFO
|
||||
|
||||
2. SCREEN MODE
|
||||
- start irssi inside screen ("screen irssi")
|
||||
- /NICKLIST SCREEN
|
||||
EOF
|
||||
);
|
||||
}
|
||||
|
||||
my $prev_lines = 0; # number of lines in previous written nicklist
|
||||
my $scroll_pos = 0; # scrolling position
|
||||
my $cursor_line; # line the cursor is currently on
|
||||
my ($OFF, $SCREEN, $FIFO) = (0,1,2); # modes
|
||||
my $mode = $OFF; # current mode
|
||||
my $need_redraw = 0; # nicklist needs redrawing
|
||||
my $screen_resizing = 0; # terminal is being resized
|
||||
my $active_channel; # (REC)
|
||||
|
||||
my @nicklist=(); # array of hashes, containing the internal nicklist of the active channel
|
||||
# nick => realnick
|
||||
# mode =>
|
||||
my ($MODE_OP, $MODE_HALFOP, $MODE_VOICE, $MODE_NORMAL) = (0,1,2,3);
|
||||
# status =>
|
||||
my ($STATUS_NORMAL, $STATUS_JOINING, $STATUS_PARTING, $STATUS_QUITING, $STATUS_KICKED, $STATUS_SPLIT) = (0,1,2,3,4,5);
|
||||
# text => text to be printed
|
||||
# cmp => text used to compare (sort) nicks
|
||||
|
||||
|
||||
# 'cached' settings
|
||||
my ($screen_prefix, $irssi_width, @prefix_mode, @prefix_status, $height, $nicklist_width);
|
||||
|
||||
sub read_settings {
|
||||
($screen_prefix = Irssi::settings_get_str('nicklist_screen_prefix')) =~ s/\\e/\033/g;
|
||||
|
||||
($prefix_mode[$MODE_OP] = Irssi::settings_get_str('nicklist_prefix_mode_op')) =~ s/\\e/\033/g;
|
||||
($prefix_mode[$MODE_HALFOP] = Irssi::settings_get_str('nicklist_prefix_mode_halfop')) =~ s/\\e/\033/g;
|
||||
($prefix_mode[$MODE_VOICE] = Irssi::settings_get_str('nicklist_prefix_mode_voice')) =~ s/\\e/\033/g;
|
||||
($prefix_mode[$MODE_NORMAL] = Irssi::settings_get_str('nicklist_prefix_mode_normal')) =~ s/\\e/\033/g;
|
||||
|
||||
if ($mode != $SCREEN) {
|
||||
$height = Irssi::settings_get_int('nicklist_height');
|
||||
}
|
||||
my $new_nicklist_width = Irssi::settings_get_int('nicklist_width');
|
||||
if ($new_nicklist_width != $nicklist_width && $mode == $SCREEN) {
|
||||
sig_terminal_resized();
|
||||
}
|
||||
$nicklist_width = $new_nicklist_width;
|
||||
}
|
||||
|
||||
sub update {
|
||||
read_settings();
|
||||
make_nicklist();
|
||||
}
|
||||
|
||||
##################
|
||||
##### OUTPUT #####
|
||||
##################
|
||||
|
||||
### off ###
|
||||
|
||||
sub cmd_off {
|
||||
if ($mode == $SCREEN) {
|
||||
screen_stop();
|
||||
} elsif ($mode == $FIFO) {
|
||||
fifo_stop();
|
||||
}
|
||||
}
|
||||
|
||||
### fifo ###
|
||||
|
||||
sub cmd_fifo_start {
|
||||
read_settings();
|
||||
my $path = Irssi::settings_get_str('nicklist_fifo_path');
|
||||
unless (-p $path) { # not a pipe
|
||||
if (-e _) { # but a something else
|
||||
die "$0: $path exists and is not a pipe, please remove it\n";
|
||||
} else {
|
||||
require POSIX;
|
||||
POSIX::mkfifo($path, 0666) or die "can\'t mkfifo $path: $!";
|
||||
Irssi::print("Fifo created. Start reading it (\"cat $path\") and try again.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!sysopen(FIFO, $path, O_WRONLY | O_NONBLOCK)) { # or die "can't write $path: $!";
|
||||
Irssi::print("Couldn\'t write to the fifo ($!). Please start reading the fifo (\"cat $path\") and try again.");
|
||||
return;
|
||||
}
|
||||
FIFO->autoflush(1);
|
||||
print FIFO "\033[2J\033[1;1H"; # erase screen & jump to 0,0
|
||||
$cursor_line = 0;
|
||||
if ($mode == $SCREEN) {
|
||||
screen_stop();
|
||||
}
|
||||
$mode = $FIFO;
|
||||
make_nicklist();
|
||||
}
|
||||
|
||||
sub fifo_stop {
|
||||
close FIFO;
|
||||
$mode = $OFF;
|
||||
Irssi::print("Fifo closed.");
|
||||
}
|
||||
|
||||
### screen ###
|
||||
|
||||
sub cmd_screen_start {
|
||||
if (!defined($ENV{'STY'})) {
|
||||
Irssi::print 'screen not detected, screen mode only works inside screen';
|
||||
return;
|
||||
}
|
||||
read_settings();
|
||||
if ($mode == $SCREEN) {return;}
|
||||
if ($mode == $FIFO) {
|
||||
fifo_stop();
|
||||
}
|
||||
$mode = $SCREEN;
|
||||
Irssi::signal_add_last('gui print text finished', \&sig_gui_print_text_finished);
|
||||
Irssi::signal_add_last('gui page scrolled', \&sig_page_scrolled);
|
||||
Irssi::signal_add('terminal resized', \&sig_terminal_resized);
|
||||
screen_size();
|
||||
make_nicklist();
|
||||
}
|
||||
|
||||
sub screen_stop {
|
||||
$mode = $OFF;
|
||||
Irssi::signal_remove('gui print text finished', \&sig_gui_print_text_finished);
|
||||
Irssi::signal_remove('gui page scrolled', \&sig_page_scrolled);
|
||||
Irssi::signal_remove('terminal resized', \&sig_terminal_resized);
|
||||
system 'screen -x '.$ENV{'STY'}.' -X fit';
|
||||
}
|
||||
|
||||
sub screen_size {
|
||||
if ($mode != $SCREEN) {
|
||||
return;
|
||||
}
|
||||
$screen_resizing = 1;
|
||||
# fit screen
|
||||
system 'screen -x '.$ENV{'STY'}.' -X fit';
|
||||
# get size (from perldoc -q size)
|
||||
my ($winsize, $row, $col, $xpixel, $ypixel);
|
||||
eval 'use Term::ReadKey; ($col, $row, $xpixel, $ypixel) = GetTerminalSize';
|
||||
# require Term::ReadKey 'GetTerminalSize';
|
||||
# ($col, $row, $xpixel, $ypixel) = Term::ReadKey::GetTerminalSize;
|
||||
#};
|
||||
if ($@) { # no Term::ReadKey, try the ugly way
|
||||
eval {
|
||||
require 'sys/ioctl.ph';
|
||||
# without this reloading doesn't work. workaround for some unknown bug
|
||||
do 'asm/ioctls.ph';
|
||||
};
|
||||
|
||||
# ugly way not working, let's try something uglier, the dg-hack(tm) (constant for linux only?)
|
||||
if($@) { no strict 'refs'; *TIOCGWINSZ = sub { return 0x5413 } }
|
||||
|
||||
unless (defined &TIOCGWINSZ) {
|
||||
die "Term::ReadKey not found, and ioctl 'workaround' failed. Install the Term::ReadKey perl module to use screen mode.\n";
|
||||
}
|
||||
open(TTY, "+</dev/tty") or die "No tty: $!";
|
||||
unless (ioctl(TTY, &TIOCGWINSZ, $winsize='')) {
|
||||
die "Term::ReadKey not found, and ioctl 'workaround' failed ($!). Install the Term::ReadKey perl module to use screen mode.\n";
|
||||
}
|
||||
close(TTY);
|
||||
($row, $col, $xpixel, $ypixel) = unpack('S4', $winsize);
|
||||
}
|
||||
|
||||
# set screen width
|
||||
$irssi_width = $col-$nicklist_width-1;
|
||||
$height = $row-1;
|
||||
|
||||
# on some recent systems, "screen -X fit; screen -X width -w 50" doesn't work, needs a sleep in between the 2 commands
|
||||
# so we wait a second before setting the width
|
||||
Irssi::timeout_add_once(1000, sub {
|
||||
my ($new_irssi_width) = @_;
|
||||
system 'screen -x '.$ENV{'STY'}.' -X width -w ' . $new_irssi_width;
|
||||
# and then we wait another second for the resizing, and then redraw.
|
||||
Irssi::timeout_add_once(1000,sub {$screen_resizing = 0; redraw()}, []);
|
||||
}, $irssi_width);
|
||||
}
|
||||
|
||||
sub sig_terminal_resized {
|
||||
if ($screen_resizing) {
|
||||
return;
|
||||
}
|
||||
$screen_resizing = 1;
|
||||
Irssi::timeout_add_once(1000,\&screen_size,[]);
|
||||
}
|
||||
|
||||
|
||||
### both ###
|
||||
|
||||
sub nicklist_write_start {
|
||||
if ($mode == $SCREEN) {
|
||||
print STDERR "\033P\033[s\033\\"; # save cursor
|
||||
}
|
||||
}
|
||||
|
||||
sub nicklist_write_end {
|
||||
if ($mode == $SCREEN) {
|
||||
print STDERR "\033P\033[u\033\\"; # restore cursor
|
||||
}
|
||||
}
|
||||
|
||||
sub nicklist_write_line {
|
||||
my ($line, $data) = @_;
|
||||
if ($mode == $SCREEN) {
|
||||
print STDERR "\033P\033[" . ($line+1) . ';'. ($irssi_width+1) .'H'. $screen_prefix . $data . "\033\\";
|
||||
} elsif ($mode == $FIFO) {
|
||||
$data = "\033[m$data"; # reset color
|
||||
if ($line == $cursor_line+1) {
|
||||
$data = "\n$data"; # next line
|
||||
} elsif ($line == $cursor_line) {
|
||||
$data = "\033[1G".$data; # back to beginning of line
|
||||
} else {
|
||||
$data = "\033[".($line+1).";0H".$data; # jump
|
||||
}
|
||||
$cursor_line=$line;
|
||||
print(FIFO $data) or fifo_stop();
|
||||
}
|
||||
}
|
||||
|
||||
# recalc the text of the nicklist item
|
||||
sub calc_text {
|
||||
my ($nick) = @_;
|
||||
my $tmp = $nicklist_width-3;
|
||||
(my $text = $nick->{'nick'}) =~ s/^(.{$tmp})..+$/$1\033[34m~\033[m/;
|
||||
$nick->{'text'} = $prefix_mode[$nick->{'mode'}] . $text . (' ' x ($nicklist_width-length($nick->{'nick'})-1));
|
||||
$nick->{'cmp'} = $nick->{'mode'}.lc($nick->{'nick'});
|
||||
}
|
||||
|
||||
# redraw the given nick (nr) if it is visible
|
||||
sub redraw_nick_nr {
|
||||
my ($nr) = @_;
|
||||
my $line = $nr - $scroll_pos;
|
||||
if ($line >= 0 && $line < $height) {
|
||||
nicklist_write_line($line, $nicklist[$nr]->{'text'});
|
||||
}
|
||||
}
|
||||
|
||||
# nick was inserted, redraw area if necessary
|
||||
sub draw_insert_nick_nr {
|
||||
my ($nr) = @_;
|
||||
my $line = $nr - $scroll_pos;
|
||||
if ($line < 0) { # nick is inserted above visible area
|
||||
$scroll_pos++; # 'scroll' down :)
|
||||
} elsif ($line < $height) { # line is visible
|
||||
if ($mode == $SCREEN) {
|
||||
need_redraw();
|
||||
} elsif ($mode == $FIFO) {
|
||||
my $data = "\033[m\033[L". $nicklist[$nr]->{'text'}; # reset color & insert line & write nick
|
||||
if ($line == $cursor_line) {
|
||||
$data = "\033[1G".$data; # back to beginning of line
|
||||
} else {
|
||||
$data = "\033[".($line+1).";1H".$data; # jump
|
||||
}
|
||||
$cursor_line=$line;
|
||||
print(FIFO $data) or fifo_stop();
|
||||
if ($prev_lines < $height) {
|
||||
$prev_lines++; # the nicklist has one line more
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub draw_remove_nick_nr {
|
||||
my ($nr) = @_;
|
||||
my $line = $nr - $scroll_pos;
|
||||
if ($line < 0) { # nick removed above visible area
|
||||
$scroll_pos--; # 'scroll' up :)
|
||||
} elsif ($line < $height) { # line is visible
|
||||
if ($mode == $SCREEN) {
|
||||
need_redraw();
|
||||
} elsif ($mode == $FIFO) {
|
||||
#my $data = "\033[m\033[L[i$line]". $nicklist[$nr]->{'text'}; # reset color & insert line & write nick
|
||||
my $data = "\033[M"; # delete line
|
||||
if ($line != $cursor_line) {
|
||||
$data = "\033[".($line+1)."d".$data; # jump
|
||||
}
|
||||
$cursor_line=$line;
|
||||
print(FIFO $data) or fifo_stop();
|
||||
if (@nicklist-$scroll_pos >= $height) {
|
||||
redraw_nick_nr($scroll_pos+$height-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# redraw the whole nicklist
|
||||
sub redraw {
|
||||
$need_redraw = 0;
|
||||
#make_nicklist();
|
||||
nicklist_write_start();
|
||||
my $line = 0;
|
||||
### draw nicklist ###
|
||||
for (my $i=$scroll_pos;$line < $height && $i < @nicklist; $i++) {
|
||||
nicklist_write_line($line++, $nicklist[$i]->{'text'});
|
||||
}
|
||||
|
||||
### clean up other lines ###
|
||||
my $real_lines = $line;
|
||||
while($line < $prev_lines) {
|
||||
nicklist_write_line($line++,' ' x $nicklist_width);
|
||||
}
|
||||
$prev_lines = $real_lines;
|
||||
nicklist_write_end();
|
||||
}
|
||||
|
||||
# redraw (with little delay to avoid redrawing to much)
|
||||
sub need_redraw {
|
||||
if(!$need_redraw) {
|
||||
$need_redraw = 1;
|
||||
Irssi::timeout_add_once(10,\&redraw,[]);
|
||||
}
|
||||
}
|
||||
|
||||
sub sig_page_scrolled {
|
||||
$prev_lines = $height; # we'll need to redraw everything if he scrolled up
|
||||
need_redraw;
|
||||
}
|
||||
|
||||
# redraw (with delay) if the window is visible (only in screen mode)
|
||||
sub sig_gui_print_text_finished {
|
||||
if ($need_redraw) { # there's already a redraw 'queued'
|
||||
return;
|
||||
}
|
||||
my $window = @_[0];
|
||||
if ($window->{'refnum'} == Irssi::active_win->{'refnum'} || Irssi::settings_get_str('nicklist_screen_split_windows') eq '*') {
|
||||
need_redraw;
|
||||
return;
|
||||
}
|
||||
foreach my $win (split(/[ ,]/, Irssi::settings_get_str('nicklist_screen_split_windows'))) {
|
||||
if ($window->{'refnum'} == $win || $window->{'name'} eq $win) {
|
||||
need_redraw;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
####################
|
||||
##### NICKLIST #####
|
||||
####################
|
||||
|
||||
# returns the position of the given nick(as string) in the (internal) nicklist
|
||||
sub find_nick {
|
||||
my ($nick) = @_;
|
||||
for (my $i=0;$i < @nicklist; $i++) {
|
||||
if ($nicklist[$i]->{'nick'} eq $nick) {
|
||||
return $i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
# find position where nick should be inserted into the list
|
||||
sub find_insert_pos {
|
||||
my ($cmp)= @_;
|
||||
for (my $i=0;$i < @nicklist; $i++) {
|
||||
if ($nicklist[$i]->{'cmp'} gt $cmp) {
|
||||
return $i;
|
||||
}
|
||||
}
|
||||
return scalar(@nicklist); #last
|
||||
}
|
||||
|
||||
# make the (internal) nicklist (@nicklist)
|
||||
sub make_nicklist {
|
||||
@nicklist = ();
|
||||
$scroll_pos = 0;
|
||||
|
||||
### get & check channel ###
|
||||
my $channel = Irssi::active_win->{active};
|
||||
|
||||
if (!$channel || (ref($channel) ne 'Irssi::Irc::Channel' && ref($channel) ne 'Irssi::Silc::Channel' && ref($channel) ne 'Irssi::Xmpp::Channel') || $channel->{'type'} ne 'CHANNEL' || ($channel->{chat_type} ne 'SILC' && !$channel->{'names_got'}) ) {
|
||||
$active_channel = undef;
|
||||
# no nicklist
|
||||
} else {
|
||||
$active_channel = $channel;
|
||||
### make nicklist ###
|
||||
my $thisnick;
|
||||
foreach my $nick (sort {(($a->{'op'}?'1':$a->{'halfop'}?'2':$a->{'voice'}?'3':'4').lc($a->{'nick'}))
|
||||
cmp (($b->{'op'}?'1':$b->{'halfop'}?'2':$b->{'voice'}?'3':'4').lc($b->{'nick'}))} $channel->nicks()) {
|
||||
$thisnick = {'nick' => $nick->{'nick'}, 'mode' => ($nick->{'op'}?$MODE_OP:$nick->{'halfop'}?$MODE_HALFOP:$nick->{'voice'}?$MODE_VOICE:$MODE_NORMAL)};
|
||||
calc_text($thisnick);
|
||||
push @nicklist, $thisnick;
|
||||
}
|
||||
}
|
||||
need_redraw();
|
||||
}
|
||||
|
||||
# insert nick(as hash) into nicklist
|
||||
# pre: cmp has to be calculated
|
||||
sub insert_nick {
|
||||
my ($nick) = @_;
|
||||
my $nr = find_insert_pos($nick->{'cmp'});
|
||||
splice @nicklist, $nr, 0, $nick;
|
||||
draw_insert_nick_nr($nr);
|
||||
}
|
||||
|
||||
# remove nick(as nr) from nicklist
|
||||
sub remove_nick {
|
||||
my ($nr) = @_;
|
||||
splice @nicklist, $nr, 1;
|
||||
draw_remove_nick_nr($nr);
|
||||
}
|
||||
|
||||
###################
|
||||
##### ACTIONS #####
|
||||
###################
|
||||
|
||||
# scroll the nicklist, arg = number of lines to scroll, positive = down, negative = up
|
||||
sub cmd_scroll {
|
||||
if (!$active_channel) { # not a channel active
|
||||
return;
|
||||
}
|
||||
my @nicks=Irssi::active_win->{active}->nicks;
|
||||
my $nick_count = scalar(@nicks)+0;
|
||||
my $channel = Irssi::active_win->{active};
|
||||
if (!$channel || $channel->{type} ne 'CHANNEL' || !$channel->{names_got} || $nick_count <= Irssi::settings_get_int('nicklist_height')) {
|
||||
return;
|
||||
}
|
||||
$scroll_pos += @_[0];
|
||||
|
||||
if ($scroll_pos > $nick_count - $height) {
|
||||
$scroll_pos = $nick_count - $height;
|
||||
}
|
||||
if ($scroll_pos <= 0) {
|
||||
$scroll_pos = 0;
|
||||
}
|
||||
need_redraw();
|
||||
}
|
||||
|
||||
sub is_active_channel {
|
||||
my ($server,$channel) = @_; # (channel as string)
|
||||
return ($server && $server->{'tag'} eq $active_channel->{'server'}->{'tag'} && $server->channel_find($channel) && $active_channel && $server->channel_find($channel)->{'name'} eq $active_channel->{'name'});
|
||||
}
|
||||
|
||||
sub sig_channel_wholist { # this is actualy a little late, when the names are received would be better
|
||||
my ($channel) = @_;
|
||||
if (Irssi::active_win->{'active'} && Irssi::active_win->{'active'}->{'name'} eq $channel->{'name'}) { # the channel joined is active
|
||||
make_nicklist
|
||||
}
|
||||
}
|
||||
|
||||
sub sig_join {
|
||||
my ($server,$channel,$nick,$address) = @_;
|
||||
if (!is_active_channel($server,$channel)) {
|
||||
return;
|
||||
}
|
||||
my $newnick = {'nick' => $nick, 'mode' => $MODE_NORMAL};
|
||||
calc_text($newnick);
|
||||
insert_nick($newnick);
|
||||
}
|
||||
|
||||
sub sig_kick {
|
||||
my ($server, $channel, $nick, $kicker, $address, $reason) = @_;
|
||||
if (!is_active_channel($server,$channel)) {
|
||||
return;
|
||||
}
|
||||
my $nr = find_nick($nick);
|
||||
if ($nr == -1) {
|
||||
Irssi::print("nicklist warning: $nick was kicked from $channel, but not found in nicklist");
|
||||
} else {
|
||||
remove_nick($nr);
|
||||
}
|
||||
}
|
||||
|
||||
sub sig_part {
|
||||
my ($server,$channel,$nick,$address, $reason) = @_;
|
||||
if (!is_active_channel($server,$channel)) {
|
||||
return;
|
||||
}
|
||||
my $nr = find_nick($nick);
|
||||
if ($nr == -1) {
|
||||
Irssi::print("nicklist warning: $nick has parted $channel, but was not found in nicklist");
|
||||
} else {
|
||||
remove_nick($nr);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sub sig_quit {
|
||||
my ($server,$nick,$address, $reason) = @_;
|
||||
if ($server->{'tag'} ne $active_channel->{'server'}->{'tag'}) {
|
||||
return;
|
||||
}
|
||||
my $nr = find_nick($nick);
|
||||
if ($nr != -1) {
|
||||
remove_nick($nr);
|
||||
}
|
||||
}
|
||||
|
||||
sub sig_nick {
|
||||
my ($server, $newnick, $oldnick, $address) = @_;
|
||||
if ($server->{'tag'} ne $active_channel->{'server'}->{'tag'}) {
|
||||
return;
|
||||
}
|
||||
my $nr = find_nick($oldnick);
|
||||
if ($nr != -1) { # if nick was found (nickchange is in current channel)
|
||||
my $nick = $nicklist[$nr];
|
||||
remove_nick($nr);
|
||||
$nick->{'nick'} = $newnick;
|
||||
calc_text($nick);
|
||||
insert_nick($nick);
|
||||
}
|
||||
}
|
||||
|
||||
sub sig_mode {
|
||||
my ($channel, $nick, $setby, $mode, $type) = @_; # (nick and channel as rec)
|
||||
if ($channel->{'server'}->{'tag'} ne $active_channel->{'server'}->{'tag'} || $channel->{'name'} ne $active_channel->{'name'}) {
|
||||
return;
|
||||
}
|
||||
my $nr = find_nick($nick->{'nick'});
|
||||
if ($nr == -1) {
|
||||
Irssi::print("nicklist warning: $nick->{'nick'} had mode set on $channel->{'name'}, but was not found in nicklist");
|
||||
} else {
|
||||
my $nicklist_item = $nicklist[$nr];
|
||||
remove_nick($nr);
|
||||
$nicklist_item->{'mode'} = ($nick->{'op'}?$MODE_OP:$nick->{'halfop'}?$MODE_HALFOP:$nick->{'voice'}?$MODE_VOICE:$MODE_NORMAL);
|
||||
calc_text($nicklist_item);
|
||||
insert_nick($nicklist_item);
|
||||
}
|
||||
}
|
||||
|
||||
##### command binds #####
|
||||
Irssi::command_bind 'nicklist' => sub {
|
||||
my ( $data, $server, $item ) = @_;
|
||||
$data =~ s/\s+$//g;
|
||||
Irssi::command_runsub ('nicklist', $data, $server, $item ) ;
|
||||
};
|
||||
Irssi::signal_add_first 'default command nicklist' => sub {
|
||||
# gets triggered if called with unknown subcommand
|
||||
cmd_help();
|
||||
};
|
||||
Irssi::command_bind('nicklist update',\&update);
|
||||
Irssi::command_bind('nicklist help',\&cmd_help);
|
||||
Irssi::command_bind('nicklist scroll',\&cmd_scroll);
|
||||
Irssi::command_bind('nicklist fifo',\&cmd_fifo_start);
|
||||
Irssi::command_bind('nicklist screen',\&cmd_screen_start);
|
||||
Irssi::command_bind('nicklist screensize',\&screen_size);
|
||||
Irssi::command_bind('nicklist off',\&cmd_off);
|
||||
|
||||
##### signals #####
|
||||
Irssi::signal_add_last('window item changed', \&make_nicklist);
|
||||
Irssi::signal_add_last('window changed', \&make_nicklist);
|
||||
Irssi::signal_add_last('channel wholist', \&sig_channel_wholist);
|
||||
Irssi::signal_add_first('message join', \&sig_join); # first, to be before ignores
|
||||
Irssi::signal_add_first('message part', \&sig_part);
|
||||
Irssi::signal_add_first('message kick', \&sig_kick);
|
||||
Irssi::signal_add_first('message quit', \&sig_quit);
|
||||
Irssi::signal_add_first('message nick', \&sig_nick);
|
||||
Irssi::signal_add_first('message own_nick', \&sig_nick);
|
||||
Irssi::signal_add_first('nick mode changed', \&sig_mode);
|
||||
|
||||
Irssi::signal_add('setup changed', \&read_settings);
|
||||
|
||||
##### settings #####
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_screen_prefix', '\e[m ');
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_op', '\e[32m@\e[39m');
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_halfop', '\e[34m%\e[39m');
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_voice', '\e[33m+\e[39m');
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_normal', ' ');
|
||||
|
||||
Irssi::settings_add_int('nicklist', 'nicklist_width',11);
|
||||
Irssi::settings_add_int('nicklist', 'nicklist_height',24);
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_fifo_path', Irssi::get_irssi_dir . '/nicklistfifo');
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_screen_split_windows', '');
|
||||
Irssi::settings_add_str('nicklist', 'nicklist_automode', '');
|
||||
|
||||
read_settings();
|
||||
if (uc(Irssi::settings_get_str('nicklist_automode')) eq 'SCREEN') {
|
||||
cmd_screen_start();
|
||||
} elsif (uc(Irssi::settings_get_str('nicklist_automode')) eq 'FIFO') {
|
||||
cmd_fifo_start();
|
||||
}
|
79
files/irc/.irssi/scripts/notify.pl
Normal file
79
files/irc/.irssi/scripts/notify.pl
Normal file
@ -0,0 +1,79 @@
|
||||
##
|
||||
## Put me in ~/.irssi/scripts, and then execute the following in irssi:
|
||||
##
|
||||
## /load perl
|
||||
## /script load notify
|
||||
##
|
||||
|
||||
use strict;
|
||||
use Irssi;
|
||||
use vars qw($VERSION %IRSSI);
|
||||
use HTML::Entities;
|
||||
|
||||
$VERSION = "0.01";
|
||||
%IRSSI = (
|
||||
authors => 'Luke Macken, Paul W. Frields',
|
||||
contact => 'lewk@csh.rit.edu, stickster@gmail.com',
|
||||
name => 'notify.pl',
|
||||
description => 'Use libnotify to alert user to hilighted messages',
|
||||
license => 'GNU General Public License',
|
||||
url => 'http://lewk.org/log/code/irssi-notify',
|
||||
);
|
||||
|
||||
Irssi::settings_add_str('notify', 'notify_icon', 'gtk-dialog-info');
|
||||
Irssi::settings_add_str('notify', 'notify_time', '5000');
|
||||
|
||||
sub sanitize {
|
||||
my ($text) = @_;
|
||||
$text =~ s/\$/\\\$/g;
|
||||
$text =~ s/`/\\"/g;
|
||||
encode_entities($text);
|
||||
return $text;
|
||||
}
|
||||
|
||||
sub notify {
|
||||
my ($server, $summary, $message) = @_;
|
||||
|
||||
# Make the message entity-safe
|
||||
$summary = sanitize($summary);
|
||||
$message = sanitize($message);
|
||||
|
||||
my $cmd = "EXEC - notify-send" .
|
||||
" -i " . Irssi::settings_get_str('notify_icon') .
|
||||
" -t " . Irssi::settings_get_str('notify_time') .
|
||||
" -- '" . $summary . "'" .
|
||||
" '" . $message . "'";
|
||||
|
||||
$server->command($cmd);
|
||||
}
|
||||
|
||||
sub print_text_notify {
|
||||
my ($dest, $text, $stripped) = @_;
|
||||
my $server = $dest->{server};
|
||||
|
||||
return if (!$server || !($dest->{level} & MSGLEVEL_HILIGHT));
|
||||
my $sender = $stripped;
|
||||
$sender =~ s/^\<.([^\>]+)\>.+/\1/ ;
|
||||
$stripped =~ s/^\<.[^\>]+\>.// ;
|
||||
my $summary = $dest->{target} . ": " . $sender;
|
||||
notify($server, $summary, $stripped);
|
||||
}
|
||||
|
||||
sub message_private_notify {
|
||||
my ($server, $msg, $nick, $address) = @_;
|
||||
|
||||
return if (!$server);
|
||||
notify($server, "Private message from ".$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');
|
601
files/irc/.irssi/weed.theme
Normal file
601
files/irc/.irssi/weed.theme
Normal file
@ -0,0 +1,601 @@
|
||||
# __ __ ___ ___ ___
|
||||
# | T__T T / _] / _]| \
|
||||
# | | | | / [_ / [_ | \
|
||||
# | | | |Y _]Y _]| D Y
|
||||
# l ` ' !| [_ | [_ | |
|
||||
# \ / | T| T| |
|
||||
# \_/\_/ l_____jl_____jl_____j
|
||||
#
|
||||
# Beautiful X-Chat inspired irssi theme by rolle @ QuakeNet
|
||||
# http://roni.laukkarinen.info
|
||||
#
|
||||
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=~
|
||||
#
|
||||
# NOTE FOR FINNISH USERS:
|
||||
#
|
||||
# Jos olet suomalainen ja pidät teemasta, joini ihmeessä
|
||||
# kanavalle #pulina quakenetissä. Lisää tietoa kanavasta:
|
||||
# http://www.pulina.fi
|
||||
#
|
||||
# Ja jos tykkäsit, mikset sanoisi kiitokset privassa,
|
||||
# jotta tiedän että tätä käyttää joku :-)
|
||||
#
|
||||
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=~
|
||||
#
|
||||
# Inspired by X-Chat.
|
||||
# (not the xchat-irssi-theme: THE X-Chat-theme)
|
||||
#
|
||||
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=~
|
||||
#
|
||||
# IMPORTANT:
|
||||
#
|
||||
# Make sure this is the latest version and use the tutorial
|
||||
# provided in https://github.com/ronilaukkarinen/weed
|
||||
#
|
||||
# Without actions in the tutorial the theme WILL NOT WORK
|
||||
# PROPERLY!
|
||||
#
|
||||
# Always backup your ~/.irssi -folder before trying!
|
||||
#
|
||||
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=~
|
||||
|
||||
default_color = "-1";
|
||||
# Timestamp/servertag to the end, not first
|
||||
info_eol = "false";
|
||||
replaces = { "[]=" = "$*"; };
|
||||
|
||||
abstracts = {
|
||||
|
||||
# Disabling client crap
|
||||
# msglevel_clientcrap = "%p*%K | %W%K$*";
|
||||
|
||||
# For awaybar.pl
|
||||
sb_awaybar = " %1 {sb %W$0-} %N";
|
||||
|
||||
# For usercount.pl
|
||||
sb_usercount = " %0 {sb %G$0} %N ";
|
||||
sb_uc_ircops = "%r*$*";
|
||||
sb_uc_ops = "%Ro%K$*";
|
||||
sb_uc_halfops = "%Bho%b$*";
|
||||
sb_uc_voices = "%Gv%K$*";
|
||||
sb_uc_normal = "%w$*%K";
|
||||
sb_uc_space = " ";
|
||||
|
||||
line_start = "";
|
||||
timestamp = " %_$* ";
|
||||
hilight = "$*";
|
||||
error = "$*";
|
||||
channel = "$*";
|
||||
nick = "$*";
|
||||
nickhost = "$*";
|
||||
server = "$*";
|
||||
comment = "$*";
|
||||
reason = "{comment $*}";
|
||||
mode = "{comment $*}";
|
||||
channick_hilight = "$*";
|
||||
chanhost_hilight = "{nickhost $*}";
|
||||
channick = "$*";
|
||||
chanhost = "{nickhost $*}";
|
||||
channelhilight = "$*";
|
||||
ban = "$*";
|
||||
|
||||
# All of below: $0 = mode, $1 = nick
|
||||
msgnick = "$0$1- %|";
|
||||
ownmsgnick = "{msgnick %G$1%K%_|}%w";
|
||||
ownnick = "$*";
|
||||
|
||||
# v3.05-hilight is now on red background and white text
|
||||
# Can be seen better in communicator phone.
|
||||
# (if you liked the old fashioned hilight, comment out next lines below and enable the noted ones)
|
||||
#
|
||||
|
||||
pubmsgnick = "{msgnick %r$1%K%_|}%w";
|
||||
pubnick = "$*";
|
||||
pubmsgmenick = "%1%W{msgnick $1-|}";
|
||||
menick = "$*%n";
|
||||
# $0 = hilight color, $1 = mode, $2 = nick
|
||||
pubmsghinick = "%1%W{msgnick $2-|}";
|
||||
|
||||
# Got rid of on version 3.05:
|
||||
#
|
||||
#pubmsgnick = "{msgnick %r$1%K%_|}%w";
|
||||
#pubnick = "$*";
|
||||
#pubmsgmenick = "%G%K{msgnick $1-%R|}%0%W";
|
||||
#menick = "$*%n";
|
||||
#pubmsghinick = "%G%K{msgnick $2-%R|}%0%W";
|
||||
|
||||
msgchannel = ":$*";
|
||||
# $0 = nick, $1 = host
|
||||
#
|
||||
# msn-styled:
|
||||
#privmsg = "%:[$0($1-)]";
|
||||
privmsg = "[$0($1-)]";
|
||||
|
||||
#
|
||||
# $0 = "msg",
|
||||
# $1 = target nick
|
||||
#
|
||||
|
||||
#
|
||||
# msn-styled:
|
||||
#ownprivmsg = "%:%w[$0(%1-)]";
|
||||
ownprivmsg = "%w[$0(%1-)]";
|
||||
|
||||
ownprivmsgnick = "{msgnick $*}";
|
||||
|
||||
#
|
||||
# msn-styled privmsgs:
|
||||
#ownprivnick = "%B$*%K says:%:";
|
||||
#privmsgnick = "%r$*%K says:%:";
|
||||
ownprivnick = "%B$*%K%_|";
|
||||
privmsgnick = "%r$*%K%_|";
|
||||
action_core = " %C*%K | %C$0- ";
|
||||
action = "%C{action_core $*}%W";
|
||||
ownaction = "{action $*}";
|
||||
ownaction_target = "{action_core $*}:$1 ";
|
||||
pvtaction = " (>>>) $* ";
|
||||
pvtaction_query = "{action $*}";
|
||||
pubaction = "{action $*}";
|
||||
ownnotice = "[$0($1-)] ";
|
||||
notice = "$*";
|
||||
whois = "%# $[8]0 : $1-";
|
||||
pubnotice_channel = ":$*";
|
||||
# pvtnotice_host = "($*)";
|
||||
pvtnotice_host = "";
|
||||
servernotice = "%r!$* %K";
|
||||
ownctcp = "[$0($1-)] ";
|
||||
ctcp = "$*";
|
||||
wallop = "$*: ";
|
||||
wallop_nick = "$*";
|
||||
wallop_action = " * $* ";
|
||||
netsplit = "$*";
|
||||
netjoin = "$*";
|
||||
names_prefix = " %p*%K | ";
|
||||
names_nick = "$0$1- ";
|
||||
names_nick_op = "{names_nick $*}";
|
||||
names_nick_halfop = "{names_nick $*}";
|
||||
names_nick_voice = "{names_nick $*}";
|
||||
names_users = "$*";
|
||||
names_channel = "%K$*";
|
||||
dcc = "$*";
|
||||
dccfile = "$*";
|
||||
dccownmsg = "[$0($1-)] ";
|
||||
dccownnick = "$*";
|
||||
dccownquerynick = "$*";
|
||||
dccownaction = "{action $*}";
|
||||
dccownaction_target = "{action_core $0}:$1 ";
|
||||
dccmsg = "[$1-($0)] ";
|
||||
dccquerynick = "$*";
|
||||
dccaction = " (*dcc*) $* %|";
|
||||
sb_background = "%N";
|
||||
sb_window_bg = "%k%0";
|
||||
sb_default_bg = "%N";
|
||||
sb_prompt_bg = "%N";
|
||||
sb_info_bg = "%N";
|
||||
sb_topic_bg = "%N";
|
||||
sbstart = "";
|
||||
sbend = " ";
|
||||
topicsbstart = "{sbstart $*}";
|
||||
topicsbend = "{sbend $*}";
|
||||
#prompt = "%r$*%r: ";
|
||||
prompt = "";
|
||||
sb = "%K$*%K";
|
||||
sbmode = "";
|
||||
sbaway = "%raway!%n";
|
||||
sbservertag = "$0%K";
|
||||
sbnickmode = "";
|
||||
sb_act_sep = "%w$*%n";
|
||||
sb_act_text = "%K$*%n";
|
||||
sb_act_msg = "%2%W$*%n";
|
||||
sb_act_hilight = "%5%W $0%W$1-%n";
|
||||
sb_act_hilight_color = "%5%W$0%W$1-%n";
|
||||
};
|
||||
formats = {
|
||||
"fe-common/core" = {
|
||||
query_start = " %g*%K | %gStarting query%W on {server $1} w/ {nick $0}";
|
||||
join = " %g*%K | %K{channick_hilight $0} %gjoined%K {channel $2}";
|
||||
part = " %r*%K | %K{channick $0} %rleft%K {channel $2}";
|
||||
quit = " %r*%K | %K{channick $0} %rquit%k %w(%KReason: {reason $2}%w)";
|
||||
quit_once = " %r*%K | %K{channick $0} [{chanhost $1}] %rquit%K %w(%KReason: \012{reason $2}%w)";
|
||||
nick_changed = " %y*%K | %K{channick_hilight $0} %yis now known as%K {channick_hilight $1}";
|
||||
|
||||
own_msg = "{ownmsgnick $2 {ownnick $[-10]0}}%W$1";
|
||||
own_msg_channel = "{ownmsgnick $3 {ownnick $[-10]0}{msgchannel $1}}%w%_$2";
|
||||
pubmsg_me = "{pubmsgmenick $2 {menick $[-10]0}}%_$1";
|
||||
pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-10]0}{msgchannel $1}}$2";
|
||||
pubmsg_hilight = "{pubmsghinick $0 $3 $[-10]1}$2";
|
||||
pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-10]1{msgchannel $2}}$3";
|
||||
pubmsg = "{pubmsgnick $2 {pubnick $nickcolor$[-10]0}}$1";
|
||||
pubmsg_channel = "{pubmsgnick $3 {pubnick $[-10]0}{msgchannel $1}}$2";
|
||||
|
||||
# own_msg = "{ownmsgnick $2 {ownnick $[-10]0}}$1";
|
||||
# own_msg_channel = "{ownmsgnick $3 {ownnick $[-10]0}{msgchannel $1}}$2";
|
||||
#pubmsg_me = "{pubmsgmenick $2 {menick $[-9]0}}$1";
|
||||
# pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-10]0}{msgchannel $1}}$2";
|
||||
# pubmsg_hilight = "{pubmsghinick $0 $3 $[-10]1}$2";
|
||||
# pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-10]1{msgchannel $2}}$3";
|
||||
# pubmsg = "{pubmsgnick $2 {pubnick \0030$0}}$1";
|
||||
# pubmsg_channel = "{pubmsgnick $3 {pubnick $[-10]0}{msgchannel $1}}$2";
|
||||
# line_start = "{line_start}";
|
||||
# line_start_irssi = "{line_start}{hilight Irssi} %W|%n ";
|
||||
line_start_irssi = "%K{line_start}";
|
||||
timestamp = "%K%_{timestamp %_$Z} %W";
|
||||
# servertag = "$[-11]0 %W|%n ";
|
||||
servertag = "%K";
|
||||
daychange = " %K%_00:00:00%p * | Day changed! Still up? Today is %%d. %%b, Anno Domini %%Y.%n";
|
||||
talking_with = " %p*%K | %W%KYou are now having a conversation with {nick $0}.";
|
||||
refnum_too_low = " %r*%K | Window number must be greater than one.";
|
||||
error_server_sticky = " %r*%K | Window's server is %rsticky%K and it cannot be changed without -unsticky option";
|
||||
set_server_sticky = " %g*%K | Window's server %gset sticky%K";
|
||||
unset_server_sticky = " %g*%K | Window's server isn't sticky anymore";
|
||||
window_name_not_unique = " %r*%K | Window names must be unique";
|
||||
window_level = " %g*%K | Window level is now $0";
|
||||
windowlist_header = "Ref Name Active item Server Level";
|
||||
windowlist_line = "$[3]0 %|$[20]1 $[15]2 $[15]3 $4";
|
||||
windowlist_footer = "";
|
||||
windows_layout_saved = " %g*%K | Layout of windows is now %gremembered%K next time you start irssi";
|
||||
windows_layout_reset = " %g*%K | Layout of windows %greset%K to defaults";
|
||||
window_info_header = "";
|
||||
window_info_footer = "";
|
||||
window_info_refnum = "Window : {hilight #$0}";
|
||||
window_info_refnum_sticky = "Window : {hilight #$0 (sticky)}";
|
||||
window_info_name = "Name : $0";
|
||||
window_info_history = "History : $0";
|
||||
window_info_size = "Size : $0x$1";
|
||||
window_info_level = "Level : $0";
|
||||
window_info_server = "Server : $0";
|
||||
window_info_server_sticky = "Server : $0 (sticky)";
|
||||
window_info_theme = "Theme : $0$1";
|
||||
window_info_bound_items_header = "Bounds : {hilight Name Server tag}";
|
||||
window_info_bound_item = " : $[!30]0 $[!15]1 $2";
|
||||
window_info_bound_items_footer = "";
|
||||
window_info_items_header = "Items : {hilight Name Server tag}";
|
||||
window_info_item = " $[7]0: $[!30]1 $2";
|
||||
window_info_items_footer = "";
|
||||
looking_up = " %g*%K | %gLooking up%K {server $0}";
|
||||
connecting = " %g*%K | %gConnecting%K to {server $0} [$1] port {hilight $2}";
|
||||
connection_established = " %g*%K | Connection to {server $0} %gestablished%K";
|
||||
cant_connect = " %r*%K | %rUnable to connect%K server {server $0} port {hilight $1} {reason $2}";
|
||||
connection_lost = " %r*%K | %rConnection lost%K to {server $0}";
|
||||
lag_disconnected = " %r*%K | %rNo PONG reply%K from server {server $0} in $1 seconds, disconnecting";
|
||||
disconnected = " %r*%K | %rDisconnected%K from {server $0} {reason $1}";
|
||||
server_quit = " %r*%K | %rDisconnecting%K from server {server $0}: {reason $1}";
|
||||
server_changed = " %y*%K | %yChanged%K to {hilight $2} server {server $1}";
|
||||
unknown_server_tag = " %r*%K | %rUnknown%K server tag {server $0}";
|
||||
no_connected_servers = " %r*%K | %rNot connected%K to any servers";
|
||||
server_list = "{server $0}: $1:$2 ($3)";
|
||||
server_lookup_list = "{server $0}: $1:$2 ($3) (connecting...)";
|
||||
server_reconnect_list = "{server $0}: $1:$2 ($3) ($5 left before reconnecting)";
|
||||
server_reconnect_removed = " %g*%K | %gRemoved reconnection%K to server {server $0} port {hilight $1}";
|
||||
server_reconnect_not_found = " %r*%K | Reconnection tag {server $0} %rnot found%K";
|
||||
setupserver_added = " %g*%K | Server {server $0} %gsaved%K";
|
||||
setupserver_removed = " %g*%K | Server {server $0} %gremoved%K";
|
||||
setupserver_not_found = " %r*%K | Server {server $0} %rnot found%K";
|
||||
your_nick = " %p*%K | %W%KYour nickname is {nick $0}";
|
||||
kick = " %r*%K | {channick $0} was %rkicked%K from {channel $1} by {nick $2} ({reason $3})";
|
||||
invite = " %y*%K | {channick_hilight $0} %yinvites%K you to {channel $1}";
|
||||
not_invited = "You have not been invited to a channel!";
|
||||
new_topic = " %y*%K | {channick_hilight $0} %ychanged topic%W of {channel $1} to: {hilight $2}";
|
||||
topic_unset = " %y*%K | {channick_hilight $0} %yremoved the topic%W on {channel $1}";
|
||||
your_nick_changed = " %y*%K | You %yare now better known as%K nickname {channick_hilight $1}";
|
||||
talking_in = " %p*%K | %W%KYou are now on {channel $0}";
|
||||
not_in_channels = " %p*%K | %W%KYou are not on any channels";
|
||||
current_channel = " %p*%K | %W%KCurrent channel {channel $0}";
|
||||
names = " %p*%K | %W%K{names_users Users: {names_channel $0}}: {comment $1}";
|
||||
names_prefix = "%K{names_prefix $0}";
|
||||
names_nick_op = "%p{names_nick_op $0 $1}";
|
||||
names_nick_halfop = "%p{names_nick_halfop $0 $1}";
|
||||
names_nick_voice = "%p{names_nick_voice $0 $1}";
|
||||
names_nick = "%p{names_nick $0 $1}";
|
||||
endofnames = " %p*%K | {channel $0}: Total: {hilight $1} users ({comment {hilight $2} ops, {hilight $3} halfops, \012 %p*%K | {hilight $4} voiced, {hilight $5} normal users.})";
|
||||
chanlist_header = " %p*%K | %W%KYou are on the following channel:";
|
||||
chanlist_line = "{channel $[-9]0} %|+$1 ($2): $3";
|
||||
chansetup_not_found = "Channel {channel $0} not found";
|
||||
chansetup_added = "Channel {channel $0} saved";
|
||||
chansetup_removed = "Channel {channel $0} removed";
|
||||
chansetup_header = "Channel Network Password Settings";
|
||||
chansetup_line = "{channel $[15]0} %|$[10]1 $[10]2 $3";
|
||||
chansetup_footer = "";
|
||||
channel_move_notify = "{channel $0} is already joined in window $1, use \"/WINDOW ITEM MOVE $0\" to move it to this window";
|
||||
|
||||
# own_msg_private = "{ownprivmsg msg $0}$1";
|
||||
# own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-9]2}}$1";
|
||||
# msg_private = "{privmsg $0 $1}$2";
|
||||
# msg_private_query = "{privmsgnick $[-9]0}$2";
|
||||
|
||||
no_msgs_got = " %p*%K | %W%KYou have not received a message from anyone yet";
|
||||
no_msgs_sent = " %p*%K | %W%KYou have not sent a message to anyone yet";
|
||||
query_stop = " %p*%K | %W%KA conversation with {nick $0} is ended.";
|
||||
no_query = " %p*%K | %W%KNo query with {nick $0}";
|
||||
query_server_changed = " %y*%K | Query with {nick $0} %ychanged%K to server {server $1}";
|
||||
query_move_notify = " %p*%K | %W%KQuery with {nick $0} is already created to window $1, use \"/WINDOW ITEM MOVE $0\" to move it to this window";
|
||||
hilight_header = " %p*%K | %W%KHighlights:";
|
||||
hilight_line = "$[-4]0 $1 $2 $3$4$5";
|
||||
hilight_footer = "";
|
||||
hilight_not_found = " %r*%K | Highlight %rnot found%K: $0";
|
||||
hilight_removed = " %g*%K | Highlight %gremoved%K: $0";
|
||||
alias_added = " %g*%K | Alias $0 %gadded%K";
|
||||
alias_removed = " %g*%K | Alias $0 %gremoved%K";
|
||||
alias_not_found = " %r*%K | %rNo such%K alias: $0";
|
||||
aliaslist_header = " %p*%K | %W%KAliases:";
|
||||
aliaslist_line = "$[10]0 $1";
|
||||
aliaslist_footer = "";
|
||||
log_opened = " %g*%K | Log file {hilight $0} %gopened%K";
|
||||
log_closed = " %g*%K | Log file {hilight $0} %gclosed%K";
|
||||
log_create_failed = " %r*%K | %rCouldn't create%K log file {hilight $0}: $1";
|
||||
log_locked = " %r*%K | Log file {hilight $0} is %rlocked%K, probably by another running Irssi";
|
||||
log_not_open = " %r*%K | Log file {hilight $0} %rnot open%K";
|
||||
log_started = " %g*%K | %gStarted%K logging to file {hilight $0}";
|
||||
log_stopped = " %r*%K | %rStopped%K logging to file {hilight $0}";
|
||||
log_list_header = " %p*%K | %W%KLogs:";
|
||||
log_list = "%K$0 $1: $2 $3$4";
|
||||
log_list_footer = "";
|
||||
windowlog_file = " %g*%K | Window LOGFILE set to $0";
|
||||
windowlog_file_logging = " %r*%K | %rCan't change%K window's logfile while log is on";
|
||||
# no_away_msgs = " %r*%K | %rNo new%K messages in awaylog";
|
||||
no_away_msgs = "";
|
||||
# away_msgs = " %g*%K | {hilight $1} %gnew messages%K in awaylog:%K";
|
||||
away_msgs = "";
|
||||
module_header = "Module Type Submodules";
|
||||
module_line = "$[!20]0 $[7]1 $2";
|
||||
module_footer = "";
|
||||
module_already_loaded = " %r*%K | Module {hilight $0/$1} already loaded";
|
||||
module_not_loaded = " %r*%K | Module {hilight $0/$1} %ris not loaded%K";
|
||||
module_load_error = " %r*%K | %rError%K loading module {hilight $0/$1}: $2";
|
||||
module_invalid = " %r*%K | {hilight $0/$1} isn't Irssi module";
|
||||
module_loaded = " %g*%K | %gLoaded%K module {hilight $0/$1}";
|
||||
module_unloaded = " %r*%K | %rUnloaded%K module {hilight $0/$1}";
|
||||
command_unknown = " %r*%K | %rUnknown%K command: $0";
|
||||
command_ambiguous = " %r*%K | %rAmbiguous%K command: $0";
|
||||
option_unknown = " %r*%K | %rUnknown%K option: $0";
|
||||
option_ambiguous = " %r*%K | %rAmbiguous%K option: $0";
|
||||
option_missing_arg = " %r*%K | %rMissing%K required argument for: $0";
|
||||
not_enough_params = " %r*%K | %rNot enough%K parameters given";
|
||||
not_connected = " %r*%K | %rNot connected%K to server";
|
||||
not_joined = " %r*%K | %rNot joined%K to any channel";
|
||||
chan_not_found = " %r*%K | %rNot joined%K to such channel";
|
||||
chan_not_synced = " %r*%K | Channel %rnot fully synchronized%K yet, try again after a while";
|
||||
illegal_proto = " %r*%K | Command isn't designed for the chat protocol of the active server";
|
||||
not_good_idea = " %r*%K | Doing this is %rnot a good idea%K. Add -YES if you really mean it";
|
||||
theme_saved = " %g*%K | Theme %gsaved%K to $0";
|
||||
theme_save_failed = " %r*%K | %rError%K saving theme to $0: $1";
|
||||
theme_not_found = " %r*%K | Theme {hilight $0} %rnot found%K";
|
||||
theme_changed = " %y*%K | %yUsing%K now theme {hilight $0} ($1)";
|
||||
window_theme = " %g*%K | %gUsing%K theme {hilight $0} in this window";
|
||||
window_theme_default = " %r*%K | %rNo theme is set%K for this window";
|
||||
window_theme_changed = " %y*%K | %yUsing%K now theme {hilight $0} ($1) in this window";
|
||||
window_theme_removed = " %g*%K | %gRemoved%K theme from this window";
|
||||
format_title = "%:[{hilight $0}] - [{hilight $1}]%:";
|
||||
format_subtitle = "[{hilight $0}]";
|
||||
format_item = "$0 = $1";
|
||||
ignored = " %g*%K | %gIgnoring%K {hilight $1} from {nick $0}";
|
||||
unignored = " %g*%K | %gUnignored%K {nick $0}";
|
||||
ignore_not_found = " %g*%K | {nick $0} %gis not%K being ignored";
|
||||
ignore_no_ignores = " %p*%K | %W%KThere are no ignores";
|
||||
ignore_header = " %p*%K | %W%KIgnorance List:";
|
||||
ignore_line = "$[-4]0 $1: $2 $3 $4";
|
||||
ignore_footer = "";
|
||||
unknown_chat_protocol = " %r*%K | %rUnknown%K chat protocol: $0";
|
||||
unknown_chatnet = " %r*%K | %rUnknown%K chat network: $0 (create it with /IRCNET ADD)";
|
||||
not_toggle = " %r*%K | Value must be either ON, OFF or TOGGLE";
|
||||
perl_error = " %r*%K | Perl %rerror%K: $0";
|
||||
bind_key = "$[!20]0 $1 $2";
|
||||
bind_unknown_id = " %r*%K | %rUnknown%K bind action: $0";
|
||||
config_saved = " %g*%K | %gSaved%K configuration to file $0";
|
||||
config_reloaded = " %g*%K | %gReloaded%K configuration";
|
||||
config_modified = " %p*%K | %W%KConfiguration file was modified since irssi was last started - do you want to overwrite the possible changes?";
|
||||
glib_error = "{error GLib $0} $1";
|
||||
overwrite_config = " %p*%K | %W%KOverwrite config (%gy%K/%rN%K)?";
|
||||
set_title = "[{hilight $0}]";
|
||||
set_item = "$0 = $1";
|
||||
set_unknown = " %r*%K | %rUnknown%K setting $0";
|
||||
set_not_boolean = " %r*%K | Setting {hilight $0} isn't boolean, use /SET";
|
||||
translation_not_found = " %r*%K | %rError%K opening translation table file $0: $1";
|
||||
translation_file_error = " %r*%K | %rError%K parsing translation table file $0";
|
||||
|
||||
#privat:
|
||||
|
||||
own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-10]2}}%W$1";
|
||||
own_msg_private = "{ownprivmsg msg $0}%W$1";
|
||||
msg_private_query = "{privmsgnick {privnick $[-10]0}} %W$2";
|
||||
msg_private = "{privmsg $0 $1}%W$2";
|
||||
|
||||
# msn-styled:
|
||||
# own_msg_private_query = "{ownprivnick $2}%w$1%:";
|
||||
# msg_private_query = "{privmsgnick $0}%w$2%:";
|
||||
|
||||
};
|
||||
"fe-common/irc/dcc" = {
|
||||
dcc_list_header = "{line_start_irssi}{dcc DCC connections:}";
|
||||
dcc_list_footer = "{line_start_irssi}{dcc ];}";
|
||||
# own_dcc = "{dccownmsg dcc {dccownnick $1}}$2";
|
||||
# own_dcc_action = "{dccownaction_target $0 $1}$2";
|
||||
# own_dcc_action_query = "{dccownaction $0}$2";
|
||||
# own_dcc_ctcp = "{ownctcp ctcp $0}$1 $2";
|
||||
# dcc_msg = "{dccmsg dcc $0}$1";
|
||||
# action_dcc = "{dccaction $0}$1";
|
||||
# action_dcc_query = "{dccaction $0}$1";
|
||||
# own_dcc_query = "{ownmsgnick {dccownquerynick $0}}$2";
|
||||
# dcc_msg_query = "{privmsgnick $0}$1";
|
||||
dcc_ctcp = " %g*%K | {dcc >>> DCC CTCP {hilight $1} %greceived%K from {hilight $0}: $2}";
|
||||
dcc_chat = " %g*%K | {dcc DCC CHAT from {nick $0} [$1 port $2]}";
|
||||
dcc_chat_channel = " %g*%K | {dcc DCC CHAT from {nick $0} [$1 port $2] %grequested%K in channel {channel $3}}";
|
||||
dcc_chat_not_found = " %g*%K | {dcc No DCC CHAT %gconnection open%K to {nick $0}}";
|
||||
dcc_chat_connected = " %g*%K | {dcc DCC CHAT connection with {nick $0} [$1 port $2] %gestablished%K}";
|
||||
dcc_chat_disconnected = " %r*%K | {dcc DCC %rlost chat%K to {nick $0}}";
|
||||
dcc_send = " %g*%K | {dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes]}";
|
||||
dcc_send_channel = " %g*%K | {dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes] %grequested%K in channel {channel $5}}";
|
||||
dcc_send_exists = " %r*%K | {dcc DCC %ralready sending%K file {dccfile $0} for {nick $1}}";
|
||||
dcc_send_not_found = " %r*%K | {dcc DCC %rnot sending%K file {dccfile $1} to {nick $0}}";
|
||||
dcc_send_file_open_error = " %r*%K | {dcc DCC %rcan't open%K file {dccfile $0}: $1}";
|
||||
dcc_send_connected = " %g*%K | {dcc DCC %gsending%K file {dccfile $0} for {nick $1} [$2 port $3]}";
|
||||
dcc_send_complete = " %g*%K | {dcc DCC %gsent%K file {dccfile $0} [{hilight $1}kB] for {nick $2} in {hilight $3} secs [{hilight $4kB/s}]}";
|
||||
dcc_send_aborted = " %r*%K | {dcc DCC %raborted%K sending file {dccfile $0} for {nick $1}}";
|
||||
dcc_get_not_found = " %r*%K | {dcc DCC no file offered by {nick $0}}";
|
||||
dcc_get_connected = " %g*%K | {dcc DCC %greceiving%K file {dccfile $0} from {nick $1} [$2 port $3]}";
|
||||
dcc_get_complete = " %g*%K | {dcc DCC %greceived%K file {dccfile $0} [$1kB] from {nick $2} in {hilight $3} secs [$4kB/s]}";
|
||||
dcc_get_aborted = " %r*%K | {dcc DCC %raborted%K receiving file {dccfile $0} from {nick $1}}";
|
||||
dcc_unknown_ctcp = " %r*%K | {dcc DCC unknown ctcp {hilight $0} from {nick $1} [$2]}";
|
||||
dcc_unknown_reply = " %r*%K | {dcc DCC unknown reply {hilight $0} from {nick $1} [$2]}";
|
||||
dcc_unknown_type = " %r*%K | {dcc DCC unknown type {hilight $0}}";
|
||||
dcc_invalid_ctcp = " %r*%K | {dcc DCC received CTCP {hilight $0} with %rinvalid%K parameters from {nick $1}}";
|
||||
dcc_connect_error = " %r*%K | {dcc DCC %rcan't connect%K to {hilight $0} port {hilight $1}}";
|
||||
dcc_cant_create = " %r*%K | {dcc DCC %rcan't create%K file {dccfile $0}}";
|
||||
dcc_rejected = " %r*%K | {dcc DCC $0 was %rrejected%K by {nick $1} [{hilight $2}]}";
|
||||
dcc_request_send = " %g*%K | {dcc DCC $0 %grequest sent%K to {nick $1}: $2";
|
||||
dcc_close = "{dcc DCC $0 close for {nick $1} [{hilight $2}]}";
|
||||
dcc_lowport = "{dcc Warning: Port sent with DCC request is a lowport ({hilight $0, $1}) - this isn't normal. It is possible the address/port is faked (or maybe someone is just trying to bypass firewall)}";
|
||||
dcc_list_line_chat = "%WChat ->%K {dcc $0 $1}";
|
||||
dcc_list_line_file = "%WFile ->%K {dcc $0 $1 : $2k of $3k ($4%%) - $5kB/s - $6}";
|
||||
};
|
||||
"fe-text" = {
|
||||
lastlog_too_long = " %p*%K | %W%K/LASTLOG would print $0 lines. If you really want to print all these lines use -force option.";
|
||||
lastlog_count = "{hilight Lastlog}: $0 lines";
|
||||
lastlog_start = "{hilight Lastlog}:";
|
||||
lastlog_end = "{hilight End of Lastlog}";
|
||||
refnum_not_found = " %r*%K | Window number $0 %rnot found%K";
|
||||
window_too_small = " %r*%K | %rNot enough room%K to resize this window";
|
||||
cant_hide_last = " %r*%K | You %rcan't hide%K the last window";
|
||||
cant_hide_sticky_windows = " %r*%K | You %rcan't hide%K sticky windows (use /WINDOW STICK OFF)";
|
||||
cant_show_sticky_windows = " %r*%K | You %rcan't show%K sticky windows (use /WINDOW STICK OFF)";
|
||||
window_not_sticky = " %r*%K | Window %ris not%K sticky";
|
||||
window_set_sticky = " %g*%K | Window %gset%K sticky";
|
||||
window_unset_sticky = " %g*%K | Window %gis not%K sticky anymore";
|
||||
window_info_sticky = "Sticky : $0";
|
||||
window_scroll = " %g*%K | Window scroll mode is now $0";
|
||||
window_scroll_unknown = " %r*%K | %rUnknown%K scroll mode $0, must be ON, OFF or DEFAULT";
|
||||
};
|
||||
"fe-common/irc" = {
|
||||
netsplit = " %r*%K | %r{netsplit netsplit}%K %|{server $0} <-> {server $1} %rquits%K: $2";
|
||||
netsplit_more = " %r*%K | %r{netsplit netsplit}%K %|{server $0} <-> {server $1} %rquits:%K $2 (+$3 more, use /NETSPLIT to show all of them)";
|
||||
netsplit_join = " %g*%K | %g{netjoin netsplit}%K - %|%gjoins:%K $0";
|
||||
netsplit_join_more = " %g*%K | %g{netjoin netsplit}%K - %|over, %gjoins:%K $0 (+$1 more)";
|
||||
no_netsplits = " %p*%K | %W%KThere are no netsplits";
|
||||
netsplits_header = "Nick Channel Server Splitted server";
|
||||
netsplits_line = "$[9]0 $[10]1 $[20]2 $3";
|
||||
netsplits_footer = "";
|
||||
ircnet_added = " %g*%K | Ircnet $0 %gsaved%K";
|
||||
ircnet_removed = " %g*%K | Ircnet $0 %gremoved%K";
|
||||
ircnet_not_found = " %r*%K | Ircnet $0 %rnot found%K";
|
||||
ircnet_header = " %p*%K | %W%KIrcnets:";
|
||||
ircnet_line = "$0: $1";
|
||||
ircnet_footer = "";
|
||||
setupserver_header = "Server Port Network Settings";
|
||||
setupserver_line = "%|$[!20]0 $[5]1 $[10]2 $3";
|
||||
setupserver_footer = "";
|
||||
joinerror_toomany = " %r*%K | Join %rfails%K: {channel $0} (You have joined to too many channels)";
|
||||
joinerror_full = " %r*%K | Join %rfails%K: {channel $0} (Channel is full)";
|
||||
joinerror_invite = " %r*%K | Join %rfails%K: {channel $0} (You must be invited)";
|
||||
joinerror_banned = " %r*%K | Join %rfails%K: {channel $0} (You are banned)";
|
||||
joinerror_bad_key = " %r*%K | Join %rfails%K: {channel $0} (Wrong channel key)";
|
||||
joinerror_bad_mask = " %r*%K | Join %rfails%K: {channel $0} (Bad channel mask)";
|
||||
joinerror_unavail = " %r*%K | Join %rfails%K: {channel $0} (Channel is temporarily unavailable)";
|
||||
joinerror_duplicate = " %r*%K | Channel {channel $0} already exists - %rcannot create%K it";
|
||||
channel_rejoin = " %r*%K | Channel {channel $0} is temporarily %runavailable%K. Setting up a rejoin, to not rejoin, use /rmrejoins.";
|
||||
inviting = " %g*%K | %gInviting%K {nick $0} to {channel $1}";
|
||||
channel_created = " %p*%K | %W%K{channel $0} is created %_$1%_";
|
||||
url = " %p*%K | %W%KHome page for {channelhilight $0}: $1";
|
||||
topic = " %p*%K | %WTopic for channel {channel $0}: %_$1%_";
|
||||
no_topic = " %p*%K | %WNo topic for channel %_$0%_";
|
||||
topic_info = " %p*%K | %WTopic is set by {channick_hilight $0} {mode $1}";
|
||||
chanmode_change = " %y*%K | {nick $2} %ychanged mode%K on channel {channel $0} %w(%K{mode $1}%w)";
|
||||
server_chanmode_change = " %g*%K | {netsplit ServerMode}%K/{channelhilight $0}: {mode $1} by {nick $2}";
|
||||
channel_mode = " %y*%K | %yChannel settings%K: {mode $1}";
|
||||
bantype = " %y*%K | Ban type %ychanged%K to {channel $0}";
|
||||
no_bans = " %p*%K | %W%KNo bans in channel {channel $0}";
|
||||
banlist = "$0 - {channel $1}: ban {ban $2}";
|
||||
banlist_long = "$0 - {channel $1}: ban {ban $2} {comment by {nick $3}, $4 secs ago}";
|
||||
ebanlist = "{channel $0}: ban exception {ban $1}";
|
||||
ebanlist_long = "{channel $0}: ban exception {ban $1} {comment by {nick $2}, $3 secs ago}";
|
||||
no_invitelist = " %p*%K | %W%KInvite list is empty in channel {channel $0}";
|
||||
invitelist = "{channel $0}: invite {ban $1}";
|
||||
no_such_channel = " %r*%K | {channel $0}: %rNo such%K channel";
|
||||
channel_change = " %y*%K | %ychannel settings changed%K: %w(%K{mode $1}%w)";
|
||||
channel_synced = " %p*%K | %W%KJoin to {channel $0} was synced in {hilight $1} secs";
|
||||
usermode_change = " %y*%K | {nick $2} %ygave privileges%K on channel {channel $0} to %w(%K{mode $0}%w)";
|
||||
user_mode = " %p*%K | %W%KYour user mode is {mode $0}";
|
||||
# away = " %g*%K | You have been %gmarked%K as being away";
|
||||
# unaway = " %g*%K | You are %gno longer marked%K as being away";
|
||||
away = "";
|
||||
unaway = "";
|
||||
nick_away = " %r*%K | {nick $0} is %raway%K: $1";
|
||||
no_such_nick = " %r*%K | {nick $0}: %rNo such%K nick/channel";
|
||||
nick_in_use = " %r*%K | Nick {nick $0} is %ralready in use%K";
|
||||
nick_unavailable = " %r*%K | Nick {nick $0} is temporarily %runavailable%K";
|
||||
your_nick_owned = " %r*%K | Your nick is %rowned%K by {nick $3} {comment $1@$2}";
|
||||
whois = " %g*%K | %g{nick $0}%K ({nickhost $1@$2})%: %p*%K | ircname: $3";
|
||||
whowas = " %p*%K | %W%K{nick $0} {nickhost $1@$2}%: %p*%K | {whois ircname $3}";
|
||||
whois_idle = " %p*%K | %W%KIdle: %|since $1 days $2 hours $3 mins $4 secs";
|
||||
whois_idle_signon = " %p*%K | %W%KIdle: %|since $1 days $2 hours $3 mins $4 secs {comment Signed on: $5}";
|
||||
whois_server = " %p*%K | %W%KServer: %|$1 {comment $2}";
|
||||
whois_oper = " %p*%K | %W%KInfo: %|{hilight $1}";
|
||||
whois_registered = " %p*%K | %W%KInfo: %|has registered this nick";
|
||||
whois_help = " %p*%K | %W%KInfo: %|available for help";
|
||||
whois_modes = " %p*%K | %W%KModes: %|{mode $1}";
|
||||
whois_realhost = " %p*%K | %W%KHostname: %|{hilight $1-}";
|
||||
whois_usermode = " %p*%K | %W%KUsermode: %|{mode $1}";
|
||||
whois_channels = " %p*%K | %W%KChannels: %|{channel $1}";
|
||||
whois_away = " %p*%K | %W%KAway: %|$1";
|
||||
whois_special = " %p*%K | %W%KInfo: %|$1";
|
||||
whois_extra = " %p*%K | %W%KInfo: %|$1";
|
||||
end_of_whois = " %r*%K | %rEnd%K of WHOIS%K";
|
||||
end_of_whowas = " %p*%K | %W%KEnd of WHOWAS";
|
||||
whois_not_found = " %r*%K | There is %rno such%K nick {channick_hilight $0}";
|
||||
who = "{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}";
|
||||
end_of_who = " %p*%K | %W%KEnd of /WHO list";
|
||||
own_notice = "%g>%K{ownnotice notice $0}%g< %w$1";
|
||||
# own_action = "{nick $[-11]0}%n $1";
|
||||
# own_action_target = "{ownaction_target $0 $2}$1";
|
||||
own_ctcp = "{ownctcp ctcp $0}$1 $2";
|
||||
notice_server = "%g>%K{servernotice $0}%g< %w$1";
|
||||
# notice_public = "%g>%K{notice $0{pubnotice_channel%g< $1}}$2";
|
||||
notice_private = "%g>%K{notice $0{pvtnotice_host $1}}%g< %w$2";
|
||||
# action_private = "{pvtaction $0}$2";
|
||||
# action_private_query = "{pvtaction_query $0}$2";
|
||||
# action_public = " {nick $[-11]0}%n $1";
|
||||
# action_public_channel = "{pubaction $0{msgchannel $1}}$2";
|
||||
ctcp_reply = " %g*%K | %gCTCP%K {hilight $0} reply from {channick_hilight $1}: $2";
|
||||
ctcp_reply_channel = " %g*%K | %gCTCP {hilight $0} reply%K from {channick_hilight $1} in channel {channel $3}: $2";
|
||||
ctcp_ping_reply = " %g*%K | %gCTCP {hilight PING} reply%K from {channick_hilight $0}: $1.$[-3.0]2 seconds";
|
||||
ctcp_requested = " %g*%K | %K{ctcp {hilight $0} {comment $1} %grequested%K {hilight $2} from {nick $3}}";
|
||||
ctcp_requested_unknown = "";
|
||||
online = " %p*%K | %W%KUsers online: {hilight $0}";
|
||||
pong = " %g*%K | PONG %greceived%K from $0: $1";
|
||||
wallops = "{wallop WALLOP {wallop_nick $0}} $1";
|
||||
action_wallops = "{wallop WALLOP {wallop_action $0}} $1";
|
||||
kill = " %r*%K | You were %r{error killed}%K by {nick $0} {nickhost $1} {reason $2} {comment Path: $3}";
|
||||
kill_server = " %r*%K | You were %r{error killed}%K by {server $0} {reason $1} {comment Path: $2}";
|
||||
error = " %r*%K | %r{error ERROR}%K $0";
|
||||
unknown_mode = " %r*%K | %rUnknown%K mode character $0";
|
||||
not_chanop = " %r*%K | You're %rnot channel operator%K in {channel $0}";
|
||||
silenced = " %g*%K | %gSilenced%K {nick $0}";
|
||||
unsilenced = " %g*%K | %gUnsilenced%K {nick $0}";
|
||||
silence_line = "{nick $0}: silence {ban $1}";
|
||||
ask_oper_pass = " %p*%K | %W%KOperator password:";
|
||||
};
|
||||
"fe-common/perl" = {
|
||||
script_not_found = " %r*%K | Script {hilight $0} %rnot found%K";
|
||||
script_not_loaded = " %r*%K | Script {hilight $0} %ris not%K loaded";
|
||||
script_loaded = " %g*%K | %gLoaded%K script {hilight $0}";
|
||||
script_unloaded = " %r*%K | %rUnloaded%K script {hilight $0}";
|
||||
no_scripts_loaded = " %p*%K | %W%KNo scripts are loaded";
|
||||
script_list_header = " %p*%K | %W%KLoaded scripts:";
|
||||
script_list_line = "$[!15]0 $1";
|
||||
script_list_footer = "";
|
||||
script_error = "{error %r*%K %rError%K in script {hilight $0}:}";
|
||||
};
|
||||
# "fe-common/irc/notifylist" = {
|
||||
# notify_join = "{nick $0} [$1@$2] [{hilight $3}] has joined to $4";
|
||||
# notify_part = "{nick $0} has left $4";
|
||||
# notify_away = "{nick $0} [$5] [$1@$2] [{hilight $3}] is now away: $4";
|
||||
# notify_unaway = "{nick $0} [$4] [$1@$2] [{hilight $3}] is now unaway";
|
||||
# notify_unidle = "{nick $0} [$5] [$1@$2] [{hilight $3}] just stopped idling";
|
||||
# notify_online = "On $0: {hilight $1}";
|
||||
# notify_offline = "Offline: $0";
|
||||
# notify_list = "$0: $1 $2 $3";
|
||||
# notify_list_empty = "The notify list is empty";
|
||||
# };
|
||||
"Irssi::Script::nickcolor" = {
|
||||
pubmsg_hilight = "{pubmsghinick $0 $3 $[-9]1}$2";
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user