This is a theme for mIRC, inspired by nns.
In order to use this theme, you must have a monospaced theme - every character should have the same width. I personally use Droid Sans Mono Slashed.
Picture here.
In this picture, I'm using cnick.dll, and if you want to correctly add all the colors in your $mircini, add
.....
n5=monospaceTheme,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,14
For the treebar, I use the light gray for events, orange for messages.
Raws work as is. I use these raws on irc.SwiftIRC.net, no where else. you should edit it accordingly if it's not the correct raws for your network.
Edit(Jul 15th): Apparently I have highlights in this theme. The highlights uses Regex, so you'll want to set %reg to whatever expression will highlight you [such as for me, /grant/Si]
alias thmEch {
if ($1 == start) {
chTS
}
elseif ($1 == textChan) {
;$2 = #chan, $3 = $nick, $4- = message
var %t = $ranick($3, $2), %out = $iif($len($strip(%t)) > 0, %t, $chr(160))
echo $iif($regex($4-,%reg),5,15) -mt $2 %out $+ $+ $iif($regex($4-,%reg),05,14) $+ $3 $+ $str($chr(160), $calc(15- $len($3))) 11• $+ $iif($regex($4-,%reg),5,15) $4-
}
elseif ($1 == inputTextChan) {
;$2 = #chan, $3 = $nick, $4- = message
var %t = $ranick($3, $2), %out = $iif($len($strip(%t)) > 0, %t, $chr(160))
echo -mt $2 %out $+ 14 $+ $3 $+ $str($chr(160), $calc(15- $len($3))) 11• $4-
}
elseif ($1 == actionChan) {
;$2 = #chan, $3 = $nick, $4- = message
var %t = $ranick($3, $2), %out = $iif($len($strip(%t)) > 0, %t, $chr(160))
echo $iif($regex($4-,%reg),5,15) -mt $2 %out $+ $+ $iif($regex($4-,%reg),05,14) $+ $3 $+ $str($chr(160), $calc(15- $len($3))) 13› $+ $iif($regex($4-,%reg),5,15) $4-
}
elseif ($1 == inputActionChan) {
;$2 = #chan, $3 = $nick, $4- = message
var %t = $ranick($3, $2), %out = $iif($len($strip(%t)) > 0, %t, $chr(160))
echo -mt $2 %out $+ 14 $+ $3 $+ $str($chr(160), $calc(15- $len($3))) 13› $4-
}
elseif ($1 == textPM) {
;$2 = $nick; $3 = $me; $4- = message
echo 15 -m $2 $timestamp 14 $+ $2 $+ $str($chr(160), $calc(16- $len($2))) 11•15 $4-
}
elseif ($1 == inputTextPM) {
;$2 = $nick; $3 = $me; $4- = message
echo -m $2 $timestamp 14 $+ $3 $+ $str($chr(160), $calc(16- $len($3))) 11• $4-
}
elseif ($1 == actionPM) {
;$2 = $nick; $3 = $me; $4- = message
echo 15 -m $2 $timestamp 14 $+ $2 $+ $str($chr(160), $calc(16- $len($2))) 13›15 $4-
}
elseif ($1 == inputActionPM) {
;$2 = $nick; $3 = $me; $4- = message
echo -m $2 $timestamp 14 $+ $3 $+ $str($chr(160), $calc(16- $len($3))) 13› $4-
}
elseif ($1 == join) {
;$2 = $chan, $3 = $nick, $4 = $address
echo 14 -t $2 $str($chr(160), 16) 12•14 $3 15[14 $+ $replace($4,@,15@14,.,15.14,~, 15~14) $+ 15] 15joined14 $2
}
elseif ($1 == meJoin) {
;$2 = $chan
echo 14 -t $2 $str($chr(160), 16) 12•14 Now in15 $2
}
elseif ($1 == Part) {
;$2 = $chan, $3 = $nick, $4 = $address, $5- = message
echo 14 -t $2 $str($chr(160), 16) 12• $ranick($3, $2) $+ 14 $+ $3 15[14 $+ $replace($4,@,15@14,.,15.14,~,15~14) $+ 15] 15left14 $2 $iif($5 != $null,14- 15[ $+ $5- $+ 15])
}
elseif ($1 == rawmode) {
;$2 = $chan, $3 = nick, $4- = modes
echo 14 -t $2 $str($chr(160), 16) 12• $ranick($3, $2) $+ 14 $+ $3 15set mode $+ $iif($len($remove($4, +, -)) > 1, s) 15[14 $+ $replace($4,+,15+14,-,15-14) $+ 15]14 $5-
}
elseif ($1 == topic) {
;$2 = $chan, $3 = $nick, $4- = topic
echo -t $2 $str($chr(160), 16) 12•14 $ranick($3, $2) $+ 14 $+ $3 15changed the 14topic15 to: $4-
}
elseif ($1 == kick) {
;$2 = $chan, $3 = $nick, $4 = $address, $5 = kicked nick, $6- = message
echo 14 -t $2 $str($chr(160), 16) 4• $ranick($3, $2) $+ 14 $+ $3 15kicked $ranick($5, $2) $+ 14 $+ $5 15[14 $+ $replace($gettok($address($5,5),2,33),@, 15@14, ., 15.14, ~, 15~14) $+ 15] 14- 15[14 $+ $6- $+ 15]
}
elseif ($1 == kickme) {
;$2 = $chan, $3 = $nick, $4 = $address, $5- = message
echo 4 -mst $str($chr(160), 16) 4• $ranick($3, $2) $+ 14 $+ $3 15[14 $+ $replace($4,@,15@14,.,15.14,~,15~14) $+ 15] 15kicked 14you 15[14From:4 $2 $+ 15] 14- 15[14Reason:4 $5- $+ 15]
}
elseif ($1 == invite) {
;$2 = $nick, $3 = $address, $4 = $chan
echo -st $str($chr(160), 16) 12•14 $2 15[14 $+ $replace($3,@,15@14,.,15.14,~,15~14) $+ 15] invited you to14 $4
}
elseif ($1 == snotice) {
;$2 = server, $3 = message
echo 15 -st 4from15 $2 14-15 $3-
}
elseif ($1 == quitChan) {
;$2 = channel, $3 = $nick, $4 = $address, $5 = $network, $6- = reason
echo 14 -t $2 $str($chr(160), 16) 12• $ranick($3, $2) $+ 14 $+ $3 15[14 $+ $replace($4,@,15@14,.,15.14,~,15~14) $+ 15]15 quit14 $5 15[14 $+ $6- $+ 15]
}
elseif ($1 == quitPM) {
;$2 = $nick, $3 = $address, $4 = $network, $5- = msg
echo 14 $2 $timestamp $str($chr(160), 16) 12•14 $2 15[14 $+ $replace($3,@,15@14,.,15.14,~,15~14) $+ 15]15 quit14 $4 15[14 $+ $5- $+ 15]
}
elseif ($1 == usermode) {
;$2 = curr usermode, $3 = new usermode
echo -st $str($chr(160), 16) 12•14 Your 15modes are now 15[ $+ $replace($2,+,15+14,-,15-14) $+ 15] 15Changed 15[ $+ $replace($3-,+,15+14,-,15-14) $+ 15]
}
elseif ($1 == nick) {
;$2 = $chan, $3 = $nick, $4 = $newnick
echo 14 -t $2 $str($chr(160), 16) 12•14 $3 15—› $ranick($3,$2) $+ 14 $+ $4
}
elseif ($1 == nickPM) {
;$2 = nick, $3 = newnick
echo 14 $3 $timestamp $str($chr(160), 16) 12•14 $2 15—›14 $3
}
elseif ($1 == noticeChan) {
;$2 = $chan, $3 = $nick, $4- = msg
echo 15 -t $2 11from 15#14 $+ $3 $+ $str($chr(160),$calc(10- $len($3))) 12-15 $4-
}
elseif ($1 == noticeNick) {
;$2 = nick, $3 = address, $4- = message
echo 15 -at 11from14 $2 $+ $str($chr(160), $calc(11 - $len($2))) 12-15 $4-
}
}
alias chTS {
.timestamp -fe 14[00h14:00nn14.00sstt14]
.timestamp on
}
alias raNick {
;$1 == Nick, $2 == Channel
var %chars = $remove($nick($2,$1).pnick,$1)
return $replace($left(%chars, 1),~,4~,&,4&,@,4@,%,8%,+,12+)
}
on *:START:{
thmEch start
}
on ^*:TEXT:*:#:{
haltdef
thmEch textChan $chan $nick $1-
}
on *:INPUT:#:{
if (/* !iswm $1) || ($ctrlenter) {
.msg $active $1-
haltdef
thmEch inputTextChan $active $me $1-
}
}
on ^*:ACTION:*:#:{
haltdef
thmEch actionChan $chan $nick $1-
if ($regex($1-,%reg)) {
window -g2 $chan
}
}
alias me {
if ($1) {
.describe $active $1-
if ($chan) {
thmEch inputActionChan $chan $me $1-
}
else {
thmEch inputActionPM $active $me $1-
}
}
}
on *:INPUT:?:{
if (/* !iswm $1) || ($ctrlenter) {
.msg $active $1-
haltdef
thmEch inputTextPM $active $me $1-
}
}
on ^*:TEXT:*:?:{
query $nick
haltdef
thmEch textPM $nick $me $1-
}
alias query {
query $1
if ($2 != $null) {
.msg $1-
thmEch inputTextPM $1 $me $2-
}
}
on ^*:ACTION:*:?:{
thmEch actionPM $nick $me $1-
haltdef
}
on ^*:JOIN:#:{
haltdef
if ($nick != $me) {
thmEch Join $chan $nick $address
}
else {
thmEch meJoin $chan
}
}
on ^!*:PART:#:{
haltdef
thmEch Part $chan $nick $address $1-
}
on ^*:RAWMODE:#:{
haltdef
thmEch rawmode $chan $nick $1-
}
on ^*:KICK:#:{
haltdef
if ($knick != $me) {
thmEch kick $chan $nick $address $knick $1-
}
else {
thmEch kickme $chan $nick $address $1-
}
}
on ^*:TOPIC:#:{
haltdef
thmEch topic $chan $nick $1-
}
on ^*:INVITE:#:{
haltdef
thmEch invite $nick $address $chan
}
on ^*:SNOTICE:*:{
thmEch snotice $nick $1-
haltdef
}
on ^*:QUIT:{
haltdef
var %x $comchan($nick,0)
while (%x) {
thmEch quitChan $comchan($nick,%x) $nick $address $network $1-
dec %x
}
if ($query($nick)) {
thmEch quitPM $nick $address $network $1-
}
}
on ^*:USERMODE:{
haltdef
thmEch usermode $usermode $1-
}
on ^*:NICK:{
haltdef
var %x = $comchan($newnick,0)
while (%x) {
thmEch nick $comchan($newnick,%x) $nick $newnick
dec %x
}
if ($query($newnick)) {
thmEch nickPM $nick $newnick
}
}
on ^*:NOTICE:*:#:{
haltdef
thmEch noticeChan $chan $nick $1-
}
on ^*:NOTICE:*:?:{
haltdef
var %state = $window(status window).sbcolor
var %y = $iif(!%state,0,$iif(%state == message,1))
thmEch noticeNick $nick $address $1-
if ($active != status window && %state != event) {
echo 15 -st 4from15 $nick 15[14 $+ $replace($address,@,4@14,.,4.14,~,4~14) $+ 15] 14-15 $1-
window -g $+ %y "status window"
}
}
alias notice {
if ($2) {
.notice $1-
echo -qat 11to14 $1 $+ $str($chr(160), $calc(13 - $len($1))) 12-15 $2-
}
}
; ~~~~~~~~~~~~~~~~
;~~~~~~Raws~~~~~~
; ~~~~~~~~~~~~~~~~
raw 322:*:return
raw 321:*:return
raw 323:*:return
raw *:*:{
haltdef
if ($istok(1 2 3 4 5 251 252 253 254 255 265 266 315 324 329 352 353 366 376 378 422 462,$numeric,32)) { halt }
;Whois
elseif ($numeric == 311) {
echo -at $str($chr(160), 16) 3•
echo 14 -at $str($chr(160),11) $+ 15Whois 10•15 $2 15[14 $+ $6- $+ 15]
echo -at $str($chr(160),12) $+ 15Host 10•14 $replace($3 $+ 15@14 $+ $4,.,15.14,~,15~14)
}
elseif ($numeric == 319) {
tokenize 32 $sorttok($3-,32,c)
var %x 1
while (%x <= $0) {
var %tok $($ $+ %x,2),%tok2 $left(%tok,1)
if (%tok2 == @) {
var %ops %ops 4@14 $+ $right(%tok,-1)
}
elseif (%tok2 == %) {
var %hops %hops 8%14 $+ $right(%tok,-1)
}
elseif (%tok2 == +) {
var %voi %voi 12+14 $+ $right(%tok,-1)
}
else {
var %regu %regu 14 $+ %tok
}
inc %x
}
echo 15 -at $str($chr(160), 8) $+ 15Channels 10•14 $sorttok(%ops, 32) $sorttok(%hops, 32) $sorttok(%voi, 32) $sorttok(%regu, 32)
}
elseif ($numeric == 312) && (!$regex($7,/^\d+:\d+:\d+$/i)) {
echo 14 -at $str($chr(160), 10) $+ 15Server 10•14 $3 15[14 $+ $4- $+ 15]
}
elseif ($numeric == 301) {
echo 15 -at $str($chr(160), 12) $+ 15Away 10•15 $3-
}
elseif ($istok(307 335 536 537 671,$numeric,32)) {
;bot, identified, immunity to filtering, filtering
echo 14 -at $str($chr(160), 16) 10•14 $2-
}
elseif ($numeric == 320) {
echo 14 -at $str($chr(160), 10) $+ 15sWhois 10•14 $2-
}
elseif ($numeric == 313) {
echo -at $str($chr(160), 10) $+ 15Status 11•14 $5-
}
elseif ($numeric == 310) {
echo 15 -at $str($chr(160), 10) $+ 15Status 11•14 Network Helper
}
elseif ($numeric == 317) {
echo 15 -at $str($chr(160), 12) $+ 15Idle 10•14 $dur($3)
echo 15 -at $str($chr(160), 9) $+ 15Sign-on 10•14 $dur($calc($ctime - $4)) 15[14 $+ $asctime($4,mmmm doo $+ $chr(44) h:nntt) $+ 15]
}
elseif ($numeric == 318) {
echo -at $str($chr(160), 16) 3•
}
;Topic
elseif ($numeric == 331) {
echo 15 -t $2 $str($chr(160), 16) 12•14 No topic is set.
}
elseif ($numeric == 332) {
echo 15 -t $2 $str($chr(160), 16) 12•14 Topic:15 $3-
}
elseif ($numeric == 333) {
echo -t $2 $str($chr(160), 16) 12•15 Set by14 $iif(! !isin $3,$3,$gettok($3,1,33)) 15[14 $+ $iif(! isin $3,$replace($gettok($3,2,33),@,15@14,.,15.14,~,15~14),unknown host) $+ 15] 14on 15[14 $+ $asctime($4,mmmm doo $+ $chr(44) yyyy h:nntt) $+ 15]
}
;Whowas
elseif ($numeric == 314) {
echo -at $str($chr(160), 16) 12•
echo 14 -at $str($chr(160), 9) 15WhoWas 12•15 $2 [ $+ $6- $+ 15]
echo -at $str($chr(160), 11) 15Host 12•14 $replace($3 $+ 15@14 $+ $4,.,15.14,~,15~14)
}
elseif ($numeric == 312) {
echo -at $str($chr(160), 6) 15Last Seen 12•14 $dur( $calc($ctime - $ctime($4-) + $duration(1hrs)) ) 15ago, at14 $asctime($calc($ctime($4-) - $duration(1hrs)),mmmm doo $+ $chr(44) h:nntt)
}
elseif ($numeric == 369) {
echo -at $str($chr(160), 16) 12•
}
elseif ($numeric == 406) {
echo -at $str($chr(160), 16) 12•
echo -at $str($chr(160), 9) 15WhoWas 12•15 There was no14 $2
}
;Other
elseif ($numeric == 305) {
echo -at $str($chr(160), 16) 12• 14You are no longer away.
}
elseif ($numeric == 306) {
echo -at $str($chr(160), 16) 12• 14You are now away.
}
elseif ($numeric == 401) {
echo -at $str($chr(160), 16) 12• 14No such nick15/14channel 15[14 $+ $2 $+ 15]
}
elseif ($numeric == 404) {
if ($7 == registered) {
echo -at $str($chr(160), 16) 12• 14Cannot talk in15 $2 [14+M15]
}
elseif ($6 == moderated) {
echo -at $str($chr(160), 16) 12• 14Cannot talk in15 $2 [14+m15]
}
elseif ($3-4 == No external) {
echo -at $str($chr(160), 16) 12• 14Cannot send message to15 $2 [14+n15]
}
elseif ($3-4 == ACTIONs are) {
echo -at $str($chr(160), 16) 12• 14Cannot send action to15 $2 [14+E15]
}
elseif ($3-4 == NOTICEs are) {
echo -at $str($chr(160), 16) 12• 14Cannot send notice to15 $2 [14+T15]
}
elseif ($3-4 == CTCPs are) {
echo -at $str($chr(160), 16) 12• 14Cannot send CTCP to15 $2 [14+C15]
}
elseif ($3-4 == Color is) {
echo -at $str($chr(160), 16) 12• 14Cannot send message to15 $2 [14+c15]
}
elseif ($3-4 == multi-target messages) {
echo -at $str($chr(160), 16) 12• 14Cannot send multi-target message to15 $2 [14+B15]
}
elseif ($3-4 == Message blocked:) {
echo -at $str($chr(160), 16) 12•14 $3- 15[14 $+ $2 $+ 15]
}
else {
echo 15 -at $str($chr(160), 16) 12• 15Raw14 $numeric $+ 15: $1-
}
}
elseif ($numeric == 421) {
echo -at $str($chr(160), 16) 12• 14Unknown command 15[14 $+ $2 $+ 15]
}
elseif ($numeric == 433) {
echo -at $str($chr(160), 16) 12• 14Nickname15 $2 14already in use.
}
elseif ($numeric == 447) {
echo -at $str($chr(160), 16) 12• 14Cannot change nick while in15 $8 [14+N15]
}
elseif ($numeric == 470) {
echo -st $str($chr(160), 11) 15Link 12•14 $3 15directs to14 $17
}
elseif ($numeric == 471) {
echo -at $str($chr(160), 16) 12• 14Cannot join15 $2 [14+l15]
}
elseif ($numeric == 473) {
echo -at $str($chr(160), 16) 12• 14Cannot join15 $2 [14+i15]
}
elseif ($numeric == 474) {
echo -at $str($chr(160), 16) 12• 14Cannot join15 $2 [14+b15]
}
elseif ($numeric == 475) {
echo -at $str($chr(160), 16) 12• 14Cannot join15 $2 [14+k15]
}
elseif ($numeric == 477) {
echo -at $str($chr(160), 16) 12• 14Cannot join15 $2 [14+R15]
}
elseif ($numeric == 480) {
echo -at $str($chr(160), 16) 12• 14Cannot knock on15 $5 15[14+K15]
}
elseif ($numeric == 492) {
echo -at $str($chr(160), 16) 12•15 $2 14is not accepting CTCPs 15[14+T15]
}
elseif ($numeric == 500) {
echo -at $str($chr(160), 16) 12• 14Too many join requests15 $2 [14+j15]
}
elseif ($numeric == 972) {
echo -at $str($chr(160), 16) 12• 14Can't kick 15[14+Q15]
}
else {
echo 15 -at $str($chr(160), 16) 12• 15Raw14 $numeric $+ 15: $1-
}
}