configfile menu # "Description: popup menu config file" # { command NAME COMMAND adds a normal menu entry } # { menu NAME starts a submenu } # { end ends the most recent submenu } # { checkbutton NAME VARIABLE COMMAND adds a checkbutton entry which toggles the global variable and runs the command } # { radiobutton NAME VARIABLE VALUE COMMAND adds a radiobutton entry which sets the global variable to value and runs the command } # { the command may be null for checkbutton and radiobutton options } # { tcl COMMAND evaluates the command and uses its return value to add to the menu } # { the tcl command should return a list containing the above options, the same format as this file } channel { command Ping "/ping $channel" command Banlist... { /echo $channel \[ channel \] Retrieving banlist... /mode $channel b } command Rejoin { /part $channel /join $channel } command Part "/part $channel" command Modes... "/mode $channel" } query { menu Ctcp command Ping "/ping $nick" command Version "/ctcp $nick version" command Clientinfo "/ctcp $nick clientinfo" command Userinfo "/ctcp $nick userinfo" command Finger "/ctcp $nick finger" command Time "/ctcp $nick time" end menu Dcc command Chat "/dcc chat $nick" command Send... "/dcc send $nick" end command Whois "/whois $nick $nick" command Who "/who $nick" } dcc { command Send... "/dcc send $nick" command Close "/dcc close chat $nick" command Whois "/whois $nick" command Query... "/query $nick" } user { menu Ctcp command Ping {/ping [join $nicks ,]} command Version {/ctcp [join $nicks ,] version} command Clientinfo {/ctcp [join $nicks ,] clientinfo} command Userinfo {/ctcp [join $nicks ,] userinfo} command Finger {/ctcp [join $nicks ,] finger} command Time {/ctcp [join $nicks ,] time} end command Whois { if {[llength $nicks] == 1} { /whois $nick $nick } else { /whois [join $nicks ,] } } command Who { set after 0 foreach x $nicks { after $after [list /who $x] incr after 1000 } } command Query... "/query $nick" menu Dcc command Chat "/dcc chat $nick" command Send... "/dcc send $nick" end menu Control command Op { set mode "" set blah "" foreach x $nicks { append mode [string map {1 -o 0 +o} [isop $channel $x]] lappend blah $x if {[llength $blah] == 4} { /mode $channel $mode [join $blah] set blah "" set mode "" } } if {$blah != ""} { /mode $channel $mode [join $blah] } } command Voice { set mode "" set blah "" foreach x $nicks { append mode [string map {1 -v 0 +v} [isvoice $channel $x]] lappend blah $x if {[llength $blah] == 4} { /mode $channel $mode [join $blah] set blah "" set mode "" } } if {$blah != ""} { /mode $channel $mode [join $blah] } } command QKick { global prefs /kick $channel [join $nicks ,] [lindex $prefs(kick) 0] } command "Q B/K" "/qbk $channel [join $nicks]" command Kick/Ban... "/bk $channel $nick" command Ignore { if {[set addr [address $nick 3]] != ""} { /ignore $addr } else { /ignore $nick } } } personal { menu "Mark Away" tcl {set r ""; foreach a $prefs(away) {lappend r "command \"$a\" \"/away $a\""}; return [join $r]} end command "Unmark Away" /away menu "Join Channel" tcl {set r ""; foreach a $prefs(chan) {lappend r "command \"$a\" \"/join $a\""}; return [join $r]} separator command All "/join [join $prefs(chan) ,]" end menu "Set Nick" tcl {set r ""; foreach a $prefs(nick) {lappend r "command \"$a\" \"/nick $a\""}; return [join $r]} } server { command Ping /sping command Links... /links command List... /list command Lusers /lusers command Motd /motd menu "Connect to" tcl { set r "" # group all the servers by network name foreach x [split $prefs(server) "\n"] { set x [split $x :] lappend serv([lindex $x 1]) $x } # for each network in order foreach x [lsort [array names serv]] { if {$x == ""} continue lappend r "menu $x" # for all servers in the network foreach a $serv($x) { set name [join [lrange $a 4 end]] if {$name == ""} { set name [string trim [lindex $a 0]] } lappend r "command \"$name\" \"/server [lindex $a 0]:[lindex $a 2] [lindex $a 3]\"" } lappend r separator "command \"Random\" \"/server [string tolower $x]\"" end } return [join $r] } } url { command "Open New" "/exec netscape -remote openURL($url, new-window)" command Copy "" command Fetch "/exec fetch $url" command Bookmark "/exec netscape -remote addBookmark($url)" } REMOVE!misc { command Example {Send "i suck"} menu test command Blah test menu test2 separator command blah2 test end command blah3 test end command blah4 test }