alias rebuildmenu {
var %popupfile = $qt($scriptdir $+ popups.mrc)
.fopen -o popups %popupfile
if ($ferr) { return }
var %ai = 1, %v1, %n = 1
while ($isalias(___visible $+ %ai)) {
.alias ___visible $+ %ai
inc %i
}
.fwrite -n popups menu status $chr(123)
if ($window(@*,0)) {
.fwrite -n popups @Windows
var %@i = 1
while ($window(@*,%@i)) {
%v1 = $v1
.alias ___visible $+ %n $chr(123) return $!iif(!$window( %v1 ).tbstate || !$window( %v1 ).sbstate,0,1) $chr(125)
.fwrite -n popups $+(.,$!iif(!$___visible $+ %n $chr(44) Show $chr(44) Hide) %v1,: $chr(123) window $!iif(!$___visible $+ %n $chr(44) -w3 $chr(44) -w0) $v1 $chr(125))
inc %@i
inc %n
}
}
if ($chat(0)) {
.fwrite -n popups .DCC Chats
var %chi = 1
while ($chat(%chi)) {
%v1 = $v1
.alias ___visible $+ %n $chr(123) return $!iif(!$window( = $+ %v1 ).tbstate || !$window( = $+ %v1 ).sbstate,0,1) $chr(125)
.fwrite -n popups $+(..,$!iif(!$___visible $+ %n $chr(44) Show $chr(44) Hide) %v1,:,$chr(123) scon %ni $chr(124) window $!iif(!$___visible $+ %n $chr(44) -w3 $chr(44) -w0) = $+ %v1 $chr(125))
inc %chi
inc %n
}
}
var %ni = 1
while ($scon(%ni)) {
scon %ni
.alias ___visible $+ %n $chr(123) scon %ni $chr(124) return $!iif(!$window(status window).tbstate || !$window(status window).sbstate,0,1) $chr(125)
.fwrite -n popups $scon(%ni).network
.fwrite -n popups $+(.,$!iif(!$___visible $+ %n $chr(44) Show $chr(44) Hide) $scon(%ni).network (Status Window):,$chr(123) scon %ni $chr(124) window $!iif(!$___visible $+ %n $chr(44) -w3 $chr(44) -w0) "status window" $chr(125))
inc %n
if ($chan(0)) {
.fwrite -n popups .Channels
var %ci = 1
while ($chan(%ci)) {
%v1 = $v1
.alias ___visible $+ %n $chr(123) scon %ni $chr(124) return $!iif(!$window( %v1 ).tbstate || !$window( %v1 ).sbstate,0,1) $chr(125)
.fwrite -n popups $+(..,$!iif(!$___visible $+ %n $chr(44) Show $chr(44) Hide) %v1,:,$chr(123) scon %ni $chr(124) window $!iif(!$___visible $+ %n $chr(44) -w3 $chr(44) -w0) %v1 $chr(125))
inc %ci
inc %n
}
}
if ($query(0)) {
%v1 = $v1
.fwrite -n popups .Queries
var %qi = 1
while ($query(%qi)) {
%v1 = $v1
.alias ___visible $+ %n $chr(123) scon %ni $chr(124) return $!iif(!$window( %v1 ).tbstate || !$window( %v1 ).sbstate,0,1) $chr(125)
.fwrite -n popups $+(..,$!iif(!$___visible $+ %n $chr(44) Show $chr(44) Hide) %v1,:,$chr(123) scon %ni $chr(124) window $!iif(!$___visible $+ %n $chr(44) -w3 $chr(44) -w0) %v1 $chr(125))
inc %qi
inc %n
}
}
inc %ni
}
.fwrite -n popups $chr(125)
.fclose popups
.reload -rs %popupfile
}
on *:join:#:{
if ($nick == $me) { rebuildmenu }
}
on *:part:#:{
if ($nick == $me) { rebuildmenu }
}
on *:kick:#:{
if ($knick == $me) { rebuildmenu }
}
on *:quit:{
if ($nick == $me) { rebuildmenu }
}
on *:connect:{ rebuildmenu }
on *:disconnect:{ rebuildmenu }
on *:open:?:{ rebuildmenu }
on *:close:*:{ rebuildmenu }