# Default popups file # # KVIrc has a lot of events that merely ask for a popup to be shown :) # Notice: when assigning icons to popups entries use $icon("iconname") not icon numbers # Coding style/curly brackets: Allman style # defpopup(highlight) { prologue { if($0!="") { %:regName = $reguser.match($mask($0)) %:beingHl = $reguser.property(%:regName,highlight) if($channel) %:beingHlTmp = $tmphighlight.isNickHighLighted($0) else %:beingHlTmp = $false; } } item($tr("Stop Highlighting (Local)","defscript"),$icon("discard")) (%:beingHlTmp && !%:beingHl) { tmphighlight.removeNick $0 } item($tr("Start Highlighting (Local)","defscript"),$icon("highlighttext")) (!%:beingHlTmp && !%:beingHl) { tmphighlight.addNick $0 } popup($tr("Always Highlight","defscript"),$icon("highlighttext")) (!%:beingHl && !%:regName) { item($tr("Highlight As","defscript") $0 "("$mask($0,11)")") ("$reguser.exactMatch($mask($0,11))" == "") { reguser.add -f -q $0 $mask($0,11); reguser.setproperty $0 highlight 1; } item($tr("Highlight As","defscript") $0 "("$mask($0,12)")") ("$reguser.exactMatch($mask($0,12))" == "") { reguser.add -f -q $0 $mask($0,12); reguser.setproperty $0 highlight 1; } item($tr("Highlight As","defscript") $0 "("$mask($0,13)")") ("$reguser.exactMatch($mask($0,13))" == "") { reguser.add -f -q $0 $mask($0,13); reguser.setproperty $0 highlight 1; } item($tr("Highlight As","defscript") $0 "("$mask($0,3)")") ("$reguser.exactMatch($mask($0,3))" == "") { reguser.add -f -q $0 $mask($0,3); reguser.setproperty $0 highlight 1; } item($tr("Highlight As","defscript") $0 "("$mask($0,4)")") ("$reguser.exactMatch($mask($0,4))" == "") { reguser.add -f -q $0 $mask($0,4); reguser.setproperty $0 highlight 1; } item($tr("Highlight As","defscript") $0 "("$mask($0,5)")") ("$reguser.exactMatch($mask($0,5))" == "") { reguser.add -f -q $0 $mask($0,5); reguser.setproperty $0 highlight 1; } } item($tr("Always Highlight","defscript"),$icon("highlighttext")) (!%:beingHl && %:regName) { reguser.setproperty $0 highlight 1 } item($tr("Stop Highlighting","defscript"),$icon("discard")) (%:beingHl) { reguser.setproperty $0 highlight 0 } } defpopup(dccchat) { prologue { # we use the extended scope variables: they are visible in the entire defpopup scope # %:visible is the string that we will "show to the user" in the popup widget # for multiple users the string might become long so we are going to change it in "multiple users" %:visible = $0 # %:multiple is an internal flag: set to 1 if the parameter passed to the popup contains a list # of multiple nicknames rather than a single nick %:multiple = 0 # finally , set these variables if($str.findfirst(%:visible,",") != -1) { # found a comma in the $0 parameter...we have multiple nicknames %:visible = "("$tr("Multiple Users","defscript")")" %:multiple = 1 } } separator extpopup(C&TCP,ctcp,$icon("ctcpreplyunknown")) ($server) extpopup(&DCC,dcc,$icon("dcc")) ($server) separator($server) item($tr("Notify Avatar","defscript"),$icon("avatar")) ($server) { avatar.notify $0 } separator item($tr("Clear Buffer","defscript"),$icon("remove")) { clear } } defpopup(querytextview) { prologue { # we use the extended scope variables: they are visible in the entire defpopup scope # %:visible is the string that we will "show to the user" in the popup widget # for multiple users the string might become long so we are going to change it in "multiple users" %:visible = $0 # %:multiple is an internal flag: set to 1 if the parameter passed to the popup contains a list # of multiple nicknames rather than a single nick %:multiple = 0 # finally , set these variables if($str.findfirst(%:visible,",") != -1) { # found a comma in the $0 parameter...we have multiple nicknames %:visible = "("$tr("Multiple Users","defscript")")" %:multiple = 1 } } label($tr("You're not connected to a server","defscript")) (!$server) item($tr("Dock","defscript"),$icon("dock")) (!$window.isDocked()) { window.dock } separator(!$window.isDocked()) item($str.printf($tr("/WHOIS ?s (idle time)","defscript"),$0),$icon("whoisuser")) ($server) { whois $0 $0 } separator($server) item($tr("Close","defscript"),$icon("close")) { window.close } separator popup($tr("&Information","defscript"),$icon("info")) (!%:multiple && $server) { item($str.printf($tr("/WHOIS ?s","defscript"),$0),$icon("whoisuser")) { whois $0 } item($str.printf($tr("/WHOWAS ?s","defscript"),$0),$icon("whoisother")) { whowas $0 } item($str.printf($tr("/WHO ?s","defscript"),$0),$icon("who")) { who $0 } separator item($tr("DNS for","defscript") $0,$icon("whoisserver")) { foreach(%i,$str.split(",",$0)) dns %i } item($tr("Mask for","defscript") $0,$icon("proxy")) { echo $mask($0,11) } } separator($server) extpopup(C&TCP,ctcp,$icon("ctcpreplyunknown")) (!%:multiple && $server) extpopup(&DCC,dcc,$icon("dcc")) (!%:multiple && $server) separator($server) extpopup($tr("&Ignore","defscript"),ignore,$icon("ignore")) (!%:multiple && $server) extpopup($tr("&Registration","defscript"),registration,$icon("regusers")) (!%:multiple && $server) item($tr("Notify Avatar","defscript"),$icon("avatar")) (!%:multiple && $server) { avatar.notify $0 } separator($server) item($tr("Clear Buffer","defscript"),$icon("remove")) { clear } } defpopup(channelpopup) { label($tr("You're not connected to a server","defscript")) (!$server) item($tr("&Hop","defscript") $0,$icon("refresh")) ($server) { hop $0; } item($tr("&Part","defscript") $0,$icon("part")) ($channel($0) && $server) { if($channel($0)) eval "part $escape($0) $option(stringPartMessage)"; } item($tr("&Join","defscript") $0,$icon("join")) (!$channel($0) && $server) { join $0; } separator($server) item(/NAMES $0,$icon("who")) ($server) { names $0; } item(/WHO $0,$icon("who")) ($server) { who $0; } separator($server) item($tr("Copy Channel Address","defscript"),$icon("copy")) { str.toClipboard $chan.getUrl($0) } } defpopup(ctcp) { item(PING,$icon("serverping")) { ctcp $0 PING } item(FINGER,$icon("finger")) { ctcp $0 FINGER } item(VERSION,$icon("kvirc")) { ctcp $0 VERSION } item(USERINFO,$icon("user")) { ctcp $0 USERINFO } item(CLIENTINFO,$icon("serverinfo")) { ctcp $0 CLIENTINFO } item(SOURCE,$icon("ctcprequestunknown")) { ctcp $0 SOURCE } item(TIME,$icon("time")) { ctcp $0 TIME } item(PAGE...,$icon("messages")) { #dialog.textinput -d=$tr("Wakeup!","defscript") ($tr("CTCP Page to","defscript") $0,$tr("Enter the message text","defscript"),$tr("OK","defscript"),$tr("Cancel","defscript")) dialog.textinput(CTCP Page $0,$tr("Enter the message text","defscript"),$tr("&Page","defscript"),$tr("Cancel","defscript"),"",$0) { if($0 == 0) ctcp $2 PAGE $1 } } item(AVATAR,$icon("avatar")) { ctcp $0 AVATAR } } defpopup(consoletextview) { label($tr("You're not connected to a server","defscript")) (!$server) item($tr("Dock","defscript"),$icon("dock")) (!$window.isDocked()) { window.dock } separator(!$window.isDocked()) extpopup($tr("Default Channels","defscript"),channels,$icon("channel")) ($server) separator($server) item($tr("Close","defscript"),$icon("close")) { window.close } separator item($tr("&Join Channels...","defscript"),$icon("join")) ($server) { channelsjoin.open } popup($tr("&Information","defscript"),$icon("info")) ($server) { item(/MOTD,$icon("motd")) { motd } item(/INFO,$icon("info")) { info } item(/LUSERS,$icon("user")) { lusers } popup(/STATS,$icon("stats")) { item($tr("d (Debug/DNS?)","defscript")) { stats d } item($tr("l (Connections)","defscript")) { stats l } item($tr("m (Command Usage)","defscript")) { stats m } item($tr("o (Operators)","defscript")) { stats o } item($tr("t (Connection Stats?)","defscript")) { stats t } item($tr("u (Uptime)","defscript")) { stats u } item($tr("y (Y-Lines)","defscript")) { stats y } item($tr("z (Debug Stats?)","defscript")) { stats z } } item(/TIME,$icon("time")) { time } item(/ADMIN,$icon("chanunowner")) { admin } item(/VERSION,$icon("kvirc")) { version } item(/HELP,$icon("help")) { raw help } } separator($server) item($tr("Clear Buffer","defscript"),$icon("remove")) { clear; } } defpopup(urlpopup) { item($tr("Copy to Clipboard","defscript"),$icon("copy")) { str.toClipboard $0 } } defpopup(serverpopup) { popup($tr("&Information","defscript"),$icon("info")) ($server) { item(/MOTD,$icon("motd")) { motd } item(/INFO,$icon("info")) { info } item(/LUSERS,$icon("user")) { lusers } popup(/STATS,$icon("stats")) { item($tr("d (Debug/DNS?)","defscript")) { stats d } item($tr("l (Connections)","defscript")) { stats l } item($tr("m (Command Usage)","defscript")) { stats m } item($tr("o (Operators)","defscript")) { stats o } item($tr("t (Connection Stats?)","defscript")) { stats t } item($tr("u (Uptime)","defscript")) { stats u } item($tr("y (Y-Lines)","defscript")) { stats y } item($tr("z (Debug Stats?)","defscript")) { stats z } } item(/TIME,$icon("time")) { time } item(/ADMIN,$icon("chanunadmin")) { admin } item(/VERSION,$icon("kvirc")) { version } item(/HELP,$icon("help")) { raw help } } separator($server) item($tr("Traceroute to","defscript") $0,$icon("serverping")) ($server) { if("$system.ostype" == "unix") system.runcmd traceroute $0 else system.runcmd tracert $0 } item($tr("Traceroute6 to","defscript") $0,$icon("serverping")) ($server) { if("$system.ostype" == "unix") system.runcmd traceroute6 $0 else system.runcmd tracert -6 $0 } item("Ping" $0,$icon("serverping")) ($server) { system.runcmd ping $0 } item("Ping6" $0,$icon("serverping")) ($server) { if("$system.ostype" == "unix") system.runcmd ping6 $0 else system.runcmd ping -6 $0 } separator($server) label($tr("You're not connected to a server","defscript")) (!$server) item($tr("Clear Buffer","defscript"),$icon("remove")) { clear } } defpopup(windowpopup) { prologue { %:bIsConnectedConsole = $(($window.type == "console") && ($context.state == "connected")); if($window.type == "channel") { %:bIsChannel = $true; %:szNetwork = $context.serverdbNetworkName() %:szServer = $context.serverdbServerHostName() %:bIsAutoJoinedOnNetwork = $false; %:bIsAutoJoinedOnServer = $false; if($serverdb.networkExists(%:szNetwork)) { foreach(%szChanAndPass,$serverdb.networkJoinChannels(%:szNetwork)) { %aChanAndPass = $str.split(":",%szChanAndPass) if(%aChanAndPass[0] == $chan.name) { %:bIsAutoJoinedOnNetwork = $true; break; } } if($serverdb.serverExists(%:szServer,%:szNetwork)) { foreach(%szChanAndPass,$serverdb.serverJoinChannels(%:szNetwork,%:szServer)) { %aChanAndPass = $str.split(":",%szChanAndPass) if(%aChanAndPass[0] == $chan.name) { %:bIsAutoJoinedOnServer = $true; break; } } } else { %:szServer = "" } } else { %:szNetwork = "" } %:bIsAutoJoined = $(%:bIsAutoJoinedOnNetwork || %:bIsAutoJoinedOnServer) } else { %:bIsChannel = $false; } } item($tr("Dock","defscript"),$icon("dock")) (!$window.isDocked()) { window.dock } item($tr("Undock","defscript"),$icon("undock")) ($window.isDocked()) { window.undock } separator item($tr("Close","defscript"),$icon("close")) { window.close } separator item($tr("&Hop","defscript") $0,$icon("refresh")) ($channel) { hop $0; } item($tr("&Part","defscript") $0,$icon("part")) ($channel) { if($channel) eval "part $escape($chan.name) $option(stringPartMessage)"; } item($tr("&Join","defscript") $0,$icon("join")) ($window.type == deadchannel && $server) { if($chan.isDead) eval "join $escape($chan.name)"; } separator extpopup($tr("Logging","defscript"),logging,$icon("log")) item($tr("Set Window Properties As Default","defscript"),$icon("save")) { window.savePropertiesAsDefault } separator(%:bIsChannel) popup($tr("Automatically Join Channel","defscript"),$icon("join")) (%:bIsChannel && (!%:bIsAutoJoined) && ((%:szServer != "") || (%:szNetwork != ""))) { item($str.printf($tr("When Connecting to Server '?s'","defscript"),%:szServer),$icon("server")) (%:szServer != "") { %aChans = $serverdb.serverJoinChannels(%:szNetwork,%:szServer) %aChans <+ $chan.name serverdb.setServerJoinChannels %:szNetwork %:szServer %aChans } item($str.printf($tr("When Connecting to Network '?s'","defscript"),%:szNetwork),$icon("world")) (%:szNetwork != "") { %aChans = $serverdb.networkJoinChannels(%:szNetwork) %aChans <+ $chan.name serverdb.setNetworkJoinChannels %:szNetwork %aChans } } item($str.printf($tr("Stop Auto-joining Channel on Server '?s'","defscript"),%:szServer),$icon("discard")) (%:bIsChannel && %:bIsAutoJoinedOnServer) { %aChans = $array() foreach(%szChanAndPass,$serverdb.serverJoinChannels(%:szNetwork,%:szServer)) { %aChanAndPass = $str.split(":",%szChanAndPass) if(%aChanAndPass[0] != $chan.name) %aChans <+ %szChanAndPass; } serverdb.setServerJoinChannels %:szNetwork %:szServer %aChans } item($str.printf($tr("Stop Auto-joining Channel on Network '?s'","defscript"),%:szNetwork),$icon("discard")) (%:bIsChannel && %:bIsAutoJoinedOnNetwork) { %aChans = $array() foreach(%szChanAndPass,$serverdb.networkJoinChannels(%:szNetwork)) { %aChanAndPass = $str.split(":",%szChanAndPass) if(%aChanAndPass[0] != $chan.name) %aChans <+ %szChanAndPass; } serverdb.setNetworkJoinChannels %:szNetwork %aChans } separator(%:bIsConnectedConsole) item($tr("Part All Channels","defscript"),$icon("part")) (%:bIsConnectedConsole && ($window.list(channel))) { foreach(%x,$window.list(channel)) %channels <+ $target(%x); part $str.join(",",%channels); } item($tr("Close All Queries","defscript"),$icon("query")) (%:bIsConnectedConsole && ($window.list(query))) { foreach(%x,$window.list(query)) window.close %x } item($tr("Rejoin All Dead Channels" ,"defscript"),$icon("deadchannel")) (%:bIsConnectedConsole && ($window.list(deadchannel))) { foreach(%x,$window.list(deadchannel)) %channels <+ $target(%x); join $str.join(",",%channels); } item($tr("Close All Dead Channels" ,"defscript"),$icon("deadchannel")) (%:bIsConnectedConsole && ($window.list(deadchannel))) { foreach(%x,$window.list(deadchannel)) window.close %x } item($tr("Close All Dead Queries" ,"defscript"),$icon("deadquery")) (%:bIsConnectedConsole && ($window.list(deadquery))) { foreach(%x,$window.list(deadquery)) window.close %x } separator item($tr("Global &Option Controllers","defscript"),$icon("options")) { action.trigger optionctrlr; } separator item($tr("Unhighlight All Windows" ,"defscript")) (%:bIsConnectedConsole) { foreach(%x,$window.list(all)) window.highlight 0 %x } item($tr("Unhighlight All Channels" ,"defscript")) (%:bIsConnectedConsole && ($window.list(channel))) { foreach(%x,$window.list(channel)) window.highlight 0 %x } item($tr("Unhighlight All Queries" ,"defscript")) (%:bIsConnectedConsole && ($window.list(query))) { foreach(%x,$window.list(query)) window.highlight 0 %x } } defpopup(defaulttextview) { prologue { # we use the extended scope variables: they are visible in the entire defpopup scope # %:visible is the string that we will "show to the user" in the popup widget # for multiple users the string might become long so we are going to change it in "multiple users" %:visible = $0 # %:multiple is an internal flag: set to 1 if the parameter passed to the popup contains a list # of multiple nicknames rather than a single nick %:multiple = 0 # finally , set these variables if($str.findfirst(%:visible,",") != -1) { # found a comma in the $0 parameter...we have multiple nicknames %:visible = "("$tr("Multiple Users","defscript")")" %:multiple = 1 } } label($tr("You're not connected to a server","defscript")) (!$server) item($str.printf($tr("/WHOIS ?s (idle time)","defscript"),$0),$icon("whoisidle")) (!%:multiple && $server) { whois $0 $0 } separator($server) popup($tr("&Information","defscript"),$icon("info")) ($server) { item($str.printf($tr("/WHOIS ?s","defscript"),$0),$icon("whoisuser")) { whois $0 } item($str.printf($tr("/WHOWAS ?s","defscript"),$0),$icon("whoisother")) { whowas $0 } item($str.printf($tr("/WHO ?s","defscript"),$0),$icon("who")) { who $0 } separator item($tr("DNS for","defscript") $0,$icon("whoisserver")) { foreach(%i,$str.split(",",$0)) dns %i } item($tr("Mask for","defscript") $0,$icon("proxy")) { echo $mask($0,11) } } separator($server) item($tr("&Query","defscript") %:visible,$icon("query")) ($server) { query $0 } separator($server) extpopup(C&TCP,ctcp,$icon("ctcpreplyunknown")) ($server) extpopup(&DCC,dcc,$icon("dcc")) ($server) separator($server) extpopup($tr("&Registration","defscript"),registration,$icon("regusers")) (!%:multiple && $server) extpopup($tr("Ig&nore","defscript"),ignore,$icon("ignore")) (!%:multiple && $server) extpopup($tr("&Highlight","defscript"),highlight,$icon("highlighttext")) (!%:multiple && $server) item($tr("Notify avatar","defscript"),$icon("avatar")) ($server) { avatar.notify $0 } separator($server) item($tr("Clear Buffer","defscript"),$icon("remove")) { clear } } defpopup(hostpopup) { label($tr("You're not connected to a server","defscript")) (!$server) item($tr("Look Up","defscript") $0,$icon("server")) ($server) { host -a $0 } separator($server) item($tr("Open","defscript") "ftp://"$0"/",$icon("url")) ("$system.ostype" == "unix" && $server) { openurl "ftp://$0/" } item($tr("Telnet to","defscript") $0,$icon("console")) ($server) { system.runcmd telnet $0 } separator($server) item($tr("Traceroute to","defscript") $0,$icon("serverping")) ($server) { if("$system.ostype" == "unix") system.runcmd traceroute $0 else system.runcmd tracert $0 } item($tr("Traceroute6 to","defscript") $0,$icon("serverping")) ($server) { if("$system.ostype" == "unix") system.runcmd traceroute6 $0 else system.runcmd tracert -6 $0 } item("Ping" $0,$icon("serverping")) ($server) { system.runcmd ping $0 } item("Ping6" $0,$icon("serverping")) ($server) { if("$system.ostype" == "unix") system.runcmd ping6 $0 else system.runcmd ping -6 $0 } separator($server) item($tr("Clear Buffer","defscript"),$icon("remove")) { clear; } } defpopup(dcc) { prologue { # detect if SSL support is present if($features("SSL")) %:bHaveSSL=1 else %:bHaveSSL=0 # detect if DCC voice support is present if($features("DCCVoice")) %:bHaveDCCVoice=1 else %:bHaveDCCVoice=0 } item($tr("Chat with","defscript") $0,$icon("dccmsg")) { dcc.chat $0 } item($tr("Reverse Chat with","defscript") $0,$icon("dccmsg")) { dcc.chat -z $0 } item($tr("Secure Chat with","defscript") $0,$icon("dccmsg")) (%:bHaveSSL) { dcc.chat -s $0 } separator item($tr("Send to","defscript") $0,$icon("dccmsg")) { dcc.send $0 } item($tr("Secure Send to","defscript") $0,$icon("dccmsg")) (%:bHaveSSL) { dcc.send -s $0 } item($tr("Reverse Send to","defscript") $0,$icon("dccmsg")) { dcc.rsend -z $0 } item($tr("Secure Reverse Send to","defscript") $0,$icon("dccmsg")) (%:bHaveSSL) { dcc.rsend -z -s $0 } separator item($tr("TDCC Send to","defscript") $0,$icon("dccmsg")) { dcc.send -t $0 } item($tr("TDCC Reverse Send to","defscript") $0,$icon("dccmsg")) { dcc.rsend -t $0 } separator popup($tr("Voice Chat","defscript"),$icon("dccvoice")) (%:bHaveDCCVoice) { item($tr("Default","defscript")": ADPCM 8 KHz (32 kbps)") { dcc.voice $0 } separator item("ADPCM 11.025 KHz (44.1 kbps)") { dcc.voice -h=11025 $0 } item("ADPCM 16 KHz (64 kbps)") { dcc.voice -h=16000 $0 } item("ADPCM 22.05 KHz (88.2 kbps)") { dcc.voice -h=22050 $0 } item("GSM 8 KHz (13.2 kbps)") { dcc.voice -g=gsm $0 } item("GSM 11.025 KHz (18.1 kbps)") { dcc.voice -g=gsm -h=11025 $0 } item("GSM 16 KHz (26.4 kbps)") { dcc.voice -g=gsm -h=16000 $0 } item("GSM 22.05 KHz (36.2 kbps)") { dcc.voice -g=gsm -h=22050 $0 } item("GSM 44.1 KHz (72.4 kbps)") { dcc.voice -g=gsm -h=44100 $0 } item("NULL 8 KHz (128 kbps)") { dcc.voice -g=null $0 } item("NULL 11.025 KHz (176.4 kbps)") { dcc.voice -g=null -h=11025 $0 } } } defpopup(usercontrol) { prologue { # we use the extended scope variables: they are visible in the entire defpopup scope # %:visible is the string that we will "show to the user" in the popup widget # for multiple users the string might become long so we are going to change it in "multiple users" %:visible = $0 # %:multiple is an internal flag: set to 1 if the parameter passed to the popup contains a list # of multiple nicknames rather than a single nick %:multiple = 0 # finally , set these variables %:itemBanName = $tr("Ban") if($str.findfirst(%:visible,",") != -1) { # found a comma in the $0 parameter...we have multiple nicknames %:visible = "("$tr("Multiple Users","defscript")")" %:multiple = 1 %:itemBanMask = "*!user@*.host.tld" %:itemBanNick = "nick" } else { %:itemBanMask = $mask(%:visible,$option(uintDefaultBanType)) if("%:itemBanMask" == "*!*@*") %:itemBanName = $tr("&Ban") %:itemBanNick = %:visible } # speed it up %:isMeHalfOp = $chan.isMeHalfOp() %:isMeOp = $chan.isMeOp() %:isMeOwner = $chan.isMeOwner() %:isMeAdmin = $chan.isMeAdmin() %:bCanKB = 0; if(%:isMeHalfOp) { foreach(%nick,$str.split(",",$0)) { if($chan.usermodelevel(%nick) <= $chan.usermodelevel($me)) { %:bCanKB = 1; break; } } } } label($usermodename($me())) item($tr("O&wner","defscript") %:visible,$icon("chanowner")) (%:isMeOwner) { chanowner $0 } item($tr("&Deowner","defscript") %:visible,$icon("chanunowner")) (%:isMeOwner) { dechanowner $0 } item($tr("&Administrator","defscript") %:visible,$icon("chanadmin")) (%:isMeAdmin) { chanadmin $0 } item($tr("&Deadministrator","defscript") %:visible,$icon("chanunadmin")) (%:isMeAdmin) { dechanadmin $0 } item($tr("&Op","defscript") %:visible,$icon("op")) (%:isMeOp) { op $0 } item($tr("&Deop","defscript") %:visible,$icon("deop")) (%:isMeOp) { deop $0 } item($tr("&Halfop","defscript") %:visible,$icon("halfop")) (%:isMeOp) { halfop $0 } item($tr("&Dehalfop","defscript") %:visible,$icon("halfdeop")) (%:isMeOp) { dehalfop $0 } item($tr("&Voice","defscript") %:visible,$icon("voice")) (%:isMeHalfOp) { voice $0 } item($tr("D&evoice","defscript") %:visible,$icon("devoice")) (%:isMeHalfOp) { devoice $0 } separator item($tr("&Kick","defscript") %:visible,$icon("kick")) (%:bCanKB) { foreach(%i,$str.split(",",$0)) kick %i } item($tr("K&ick","defscript") %:visible $tr("With...","defscript"),$icon("kick")) (%:bCanKB) { dialog.textinput -d="$me" -i=110 ($tr("Kick Reason","defscript"),$tr("Enter a kick reason","defscript"),$tr("&Kick","defscript"),$tr("Cancel","defscript"),,$0) { if($0 == 0) { foreach(%i,$str.split(",",$2)) kick %i $1 } } } item($tr("&Ban","defscript") %:visible "("%:itemBanMask")",$icon("kick")) (("%:itemBanMask" != "*!*@*") && %:bCanKB) { ban $mask($0,$option(uintDefaultBanType)) } item(%:itemBanName %:visible "("%:itemBanNick!*@*")",$icon("kick")) (%:bCanKB) { ban $0 } item($tr("Kick/Ban","defscript") %:visible,$icon("kick")) (%:bCanKB) { kb $0 } item($tr("Kick/Ban","defscript") %:visible $tr("with...","defscript"),$icon("kick")) (%:bCanKB) { dialog.textinput -d="$me" -i=110 ($tr("Kick/Ban Reason","defscript"),$tr("Enter a kick/ban reason","defscript"),$tr("&Kick/Ban","defscript"),$tr("Cancel","defscript"),,$0) { if($0 == 0) { kb $2 $1 } } } separator item($tr("Configure Ban Mask...","defscript"),$icon("options")) { options.edit OptionsWidget_channelAdvanced } } defpopup(channeltextview) { label($tr("You're not connected to a server","defscript")) (!$server) item($tr("Dock","defscript"),$icon("dock")) (!$window.isDocked()) { window.dock } separator(!$window.isDocked()) extpopup($tr("Default Channels","defscript"),channels,$icon("channel")) ($server) item($tr("&Join Channels...","defscript"),$icon("channel")) ($server) { channelsjoin.open } separator item($tr("Close","defscript"),$icon("close")) { window.close } separator item($tr("&Hop","defscript") $0,$icon("refresh")) ($channel && $server) { hop $0; } item($tr("&Part","defscript") $0,$icon("part")) ($channel && $server) { if($channel($0)) eval "part $escape($0) $option(stringPartMessage)"; } item($tr("&Join","defscript") $0,$icon("join")) (!$channel && $server) { join $0; } separator extpopup(C&TCP,ctcp,$icon("ctcpreplyunknown")) ($server) separator item(/NAMES $0,$icon("who")) ($server) { names $0; } item(/WHO $0,$icon("who")) ($server) { who $0; } item($tr("Notify Avatar","defscript"),$icon("avatar")) ($server) { avatar.notify $0 } separator extpopup($tr("&Highlight","defscript"),channelhighlight,$icon("highlighttext")) ($server) item($tr("Copy Channel URL to Clipboard","defscript"),$icon("copy")) ($server) { str.toClipboard $chan.getUrl } separator item($tr("Clear Buffer","defscript"),$icon("remove")) { clear; } } defpopup(channels) { item($tr("Join","defscript") #libera,$icon("channel")) { j #libera; } item($tr("Join","defscript") #kde,$icon("channel")) { j #kde; } item($tr("Join","defscript") #KVIrc,$icon("channel")) { j #KVIrc; } item($tr("Join","defscript") #qt,$icon("channel")) { j #qt; } item($tr("Join","defscript") #python,$icon("channel")) { j #python; } item($tr("Join","defscript") #znc,$icon("channel")) { j #znc; } } defpopup(logging) { prologue { # If this window is being logged actually , $log.file will be non empty # and pointing to the log file actually open. if($isSet($log.file)) %:logfile = $file.extractfilename($log.file) } label($tr("Logging to","defscript"):
%:logfile) ("%:logfile" != "") item($tr("Flush Log File","defscript"),$icon("remove")) (%:logfile) { log.flush } separator item($tr("Stop Logging","defscript"),$icon("discard")) (%:logfile) { log.stop } label($tr("Not Logging","defscript")) (!%:logfile) item($tr("Log to Default File","defscript"),$icon("log")) (!%:logfile) { log.start } item($tr("Log to Default File","defscript") "("$tr("Include Existing Buffer","defscript")")",$icon("log")) (!%:logfile) { log.start -p } item($tr("Log to...","defscript"),$icon("log")) (!%:logfile) { dialog.file(save,$tr("Choose Log Filename","defscript")) { if($0)log.start $0 } } item($tr("Log to...","defscript") "("$tr("Include Existing Buffer","defscript")")",$icon("log")) (!%:logfile) { dialog.file(save,$tr("Choose Log Filename","defscript")) { if($0)log.start -p $0 } } } defpopup(channelhighlight) { prologue { if($window!="" && !$chan.isDead()) { %:beingHlTmp = $tmphighlight.isChannelHighLighted($window) } } item($tr("Stop Highlighting (Local)","defscript")) (%:beingHlTmp) { tmphighlight.removeChannel $window } item($tr("Start Highlighting (Local)","defscript")) (!%:beingHlTmp) { tmphighlight.addChannel $window } } defpopup(ignore) { prologue { %:inIgnoreList = 0 %:regName = $reguser.match($mask($0)) %:ignLabelText = "

$0 " if(%:regName) { %:inIgnoreList = $reguser.isIgnoreEnabled(%:regName); if(%:inIgnoreList) %:ignLabelText << $tr("is being ignored","defscript") else %:ignLabelText << $tr("is not being ignored","defscript") %:ignLabelText << "

" } else { %:ignLabelText << $tr("is not being ignored","defscript")"

" } } label(%:ignLabelText) popup($tr("Ignore As...","defscript"),$icon("ignore")) (!%:inIgnoreList) { item($tr("Ignore As","defscript") $0 "("$mask($0,0)")") ("$reguser.exactMatch($mask($0,0))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,0); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,1)")") ("$reguser.exactMatch($mask($0,1))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,1); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,2)")") ("$reguser.exactMatch($mask($0,2))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,2); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,3)")") ("$reguser.exactMatch($mask($0,3))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,3); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,4)")") ("$reguser.exactMatch($mask($0,4))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,4); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,5)")") ("$reguser.exactMatch($mask($0,5))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,5); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,6)")") ("$reguser.exactMatch($mask($0,6))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,6); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,7)")") ("$reguser.exactMatch($mask($0,7))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,7); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,8)")") ("$reguser.exactMatch($mask($0,8))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,8); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,9)")") ("$reguser.exactMatch($mask($0,9))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,9); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,10)")") ("$reguser.exactMatch($mask($0,10))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,10); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,11)")") ("$reguser.exactMatch($mask($0,11))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,11); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,12)")") ("$reguser.exactMatch($mask($0,12))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,12); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,13)")") ("$reguser.exactMatch($mask($0,13))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,13); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,14)")") ("$reguser.exactMatch($mask($0,14))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,14); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,15)")") ("$reguser.exactMatch($mask($0,15))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,15); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,16)")") ("$reguser.exactMatch($mask($0,16))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,16); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,17)")") ("$reguser.exactMatch($mask($0,17))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,17); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,18)")") ("$reguser.exactMatch($mask($0,18))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,18); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,19)")") ("$reguser.exactMatch($mask($0,19))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,19); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,20)")") ("$reguser.exactMatch($mask($0,20))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,20); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,21)")") ("$reguser.exactMatch($mask($0,21))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,21); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,22)")") ("$reguser.exactMatch($mask($0,22))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,22); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,23)")") ("$reguser.exactMatch($mask($0,23))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,23); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,24)")") ("$reguser.exactMatch($mask($0,24))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,24); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,25)")") ("$reguser.exactMatch($mask($0,25))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,25); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } item($tr("Ignore As","defscript") $0 "("$mask($0,26)")") ("$reguser.exactMatch($mask($0,26))" == "") { if(!%:regName) reguser.add -f -q $0 $mask($0,26); reguser.setIgnoreEnabled $0 1; reguser.setIgnoreFlags -p -c -n -t -i -d -h $0; } } item($tr("Enable Ignore","defscript"),$icon("ignore")) (!%:inIgnoreList && %:regName) { reguser.setIgnoreEnabled %:regName 1; } item($tr("Disable Ignore","defscript"),$icon("discard")) (%:inIgnoreList && %:regName) { reguser.setIgnoreEnabled %:regName 0; } } defpopup(registration) { prologue { # This is really smart...we are loading # the reguser module only if this popup is being requested (the user effectively # puts the mouse on the "Registration" item and the sub-popup is being shown) %:regName = $reguser.match($mask($0)) %:labelText = "

$0"; if(%:regName) { %:labelText << $tr("is registered as","defscript")": "%:regName"" # We want to display masks here!!! %:inNotifyList = $reguser.property(%:regName,notify); if(%:inNotifyList) %:labelText << "
$0" $tr("is in the notify list","defscript") %:curAvatar = $avatar.name($0); %:defAvatar = $reguser.property(%:regName,avatar); if(%:defAvatar) %:labelText << "
$0" $tr("has a default avatar","defscript") %:labelText << "

" } else { %:labelText << $tr("is not registered","defscript")"

" } } label(%:labelText) item($tr("Register...","defscript"),$icon("regusers")) (!%:regName) { reguser.wizard $mask($0) } popup($tr("Quick Registration","defscript"),$icon("userwindow")) (!%:regName) { item($tr("Register As","defscript") $0 "("$mask($0,11)")") ("$reguser.exactMatch($mask($0,11))" == "") { reguser.add -f -q $0 $mask($0,11) } item($tr("Register As","defscript") $0 "("$mask($0,12)")") ("$reguser.exactMatch($mask($0,12))" == "") { reguser.add -f -q $0 $mask($0,12) } item($tr("Register As","defscript") $0 "("$mask($0,13)")") ("$reguser.exactMatch($mask($0,13))" == "") { reguser.add -f -q $0 $mask($0,13) } item($tr("Register As","defscript") $0 "("$mask($0,3)")") ("$reguser.exactMatch($mask($0,3))" == "") { reguser.add -f -q $0 $mask($0,3) } item($tr("Register As","defscript") $0 "("$mask($0,4)")") ("$reguser.exactMatch($mask($0,4))" == "") { reguser.add -f -q $0 $mask($0,4) } item($tr("Register As","defscript") $0 "("$mask($0,5)")") ("$reguser.exactMatch($mask($0,5))" == "") { reguser.add -f -q $0 $mask($0,5) } } item($tr("Edit Registration...","defscript")) (%:regName) { # According to documentation this opens the registration menu only reguser.edit -t } item($tr("Unregister","defscript") %:regName) (%:regName) { reguser.remove "%:regName" } separator item($tr("Add to Notify","defscript"),$icon("notifyonline")) (%:regName && !%:inNotifyList) { reguser.setproperty -n "%:regName" notify $0 } item($tr("Remove from Notify","defscript"),$icon("notifyoffline")) (%:regName && %:inNotifyList) { reguser.setproperty -n "%:regName" notify } popup($tr("Avatar","defscript"),$icon("avatar")) (%:regName) { item($tr("Choose...","defscript")) (%:regName) { dialog.image(f,$tr("Choose Avatar Image File","defscript"),"","",$0,"%:regName") { if($0) { reguser.setproperty -a $2 avatar $0; } } } item($tr("Set As Default","defscript")) (%:curAvatar && ("%:curAvatar" != "%:defAvatar")) { reguser.setproperty "%:regName" avatar %:curAvatar } item($tr("Clear Default","defscript")) (%:defAvatar) { reguser.setproperty %:regName avatar # Force the avatar to update # if("%:curAvatar" == "") # who $0 } } } defpopup(channel) { item($str.printf($tr("/WHOIS ?s (idle time)","defscript"),%:visible),$icon("whoisuser")) (!%:multiple && $server) { foreach(%i,$str.split(",",$0)) whois %i %i } separator popup($tr("&Information","defscript"),$icon("info")) (!%:multiple && $server) { item($str.printf($tr("/WHOIS ?s","defscript"),%:visible),$icon("whoisuser")) { whois $0 } item($str.printf($tr("/WHOWAS ?s","defscript"),%:visible),$icon("whoisother")) { whowas $0 } item($str.printf($tr("/WHO ?s","defscript"),%:visible),$icon("who")) { who $0 } separator item($tr("DNS for","defscript") %:visible,$icon("whoisserver")) { foreach(%i,$str.split(",",$0)) dns %i } item($tr("Mask for","defscript") %:visible,$icon("proxy")) { echo $mask($0,11) } } extpopup($tr("&User Control","defscript"),usercontrol,$icon("options")) separator item($tr("&Query","defscript") $0 %:visible,$icon("query")) ($server) { query $0 } separator extpopup(C&TCP,ctcp,$icon("ctcpreplyunknown")) ($server) extpopup(&DCC,dcc,$icon("dcc")) (!%:multiple && $server) separator extpopup($tr("&Registration","defscript"),registration,$icon("regusers")) (!%:multiple && $server) extpopup($tr("Ig&nore","defscript"),ignore,$icon("ignore")) (!%:multiple && $server) extpopup($tr("&Highlight","defscript"),highlight,$icon("highlighttext")) (!%:multiple && $server) item($tr("Notify Avatar","defscript"),$icon("avatar")) ($server) { avatar.notify $0 } }