menu * { if (%status == $null) { if ($window(@lagmeter)) { set status off } else { set %status on } } .Oliver's Lagmeter ..%status { if (!$window(@lagmeter)) { if ($window(@lagmeter)) { window -c @lagmeter } window -odp +dL @lagmeter 546 44 170 20 var %x = 0 while (%x <= 15) { drawreplace @lagmeter $iif(%x < 10,0 $+ %x,%x) 15 inc %x } drawrect -f @lagmeter 0 1 5 4 98 10 drawrect @lagmeter 14 1 4 3 100 12 update if (%repeat == $null) { set %repeat 2 } .timerlagmeter 0 %repeat /update set %status Off } else { window -c @lagmeter .timerlagmeter off set %status On } } ..Set Refresh Time { dialog -md lagmeter lagmeter } } alias update { set %ticks $ticks .raw ping lagmeter } alias box { /drawreplace @lagmeter 12 0 if (%lagtime <= 0.01) { /drawrect -f @lagmeter 12 1 6 5 8 8 } elseif (%lagtime <= 0.03) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 } elseif (%lagtime <= 0.05) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 } elseif (%lagtime <= 0.06) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 } elseif (%lagtime <= 0.07) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 } elseif (%lagtime <= 0.08) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 } elseif (%lagtime <= 0.12) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 /drawrect -f @lagmeter 12 1 54 5 8 8 } elseif (%lagtime <= 0.25) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 /drawrect -f @lagmeter 12 1 54 5 8 8 /drawrect -f @lagmeter 12 1 62 5 8 8 } elseif (%lagtime <= 0.4) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 /drawrect -f @lagmeter 12 1 54 5 8 8 /drawrect -f @lagmeter 12 1 62 5 8 8 /drawrect -f @lagmeter 12 1 70 5 8 8 } elseif (%lagtime <= 0.7) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 /drawrect -f @lagmeter 12 1 54 5 8 8 /drawrect -f @lagmeter 12 1 62 5 8 8 /drawrect -f @lagmeter 12 1 70 5 8 8 /drawrect -f @lagmeter 12 1 78 5 8 8 } elseif (%lagtime <= 1) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 /drawrect -f @lagmeter 12 1 54 5 8 8 /drawrect -f @lagmeter 12 1 62 5 8 8 /drawrect -f @lagmeter 12 1 70 5 8 8 /drawrect -f @lagmeter 12 1 78 5 8 8 /drawrect -f @lagmeter 12 1 84 5 8 8 } elseif (%lagtime <= 1.4) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 /drawrect -f @lagmeter 12 1 54 5 8 8 /drawrect -f @lagmeter 12 1 62 5 8 8 /drawrect -f @lagmeter 12 1 70 5 8 8 /drawrect -f @lagmeter 12 1 78 5 8 8 /drawrect -f @lagmeter 12 1 84 5 8 8 /drawrect -f @lagmeter 12 1 92 5 8 8 } elseif (%lagtime >= 1.4) { /drawrect -f @lagmeter 12 1 6 5 8 8 /drawrect -f @lagmeter 12 1 14 5 8 8 /drawrect -f @lagmeter 12 1 22 5 8 8 /drawrect -f @lagmeter 12 1 30 5 8 8 /drawrect -f @lagmeter 12 1 38 5 8 8 /drawrect -f @lagmeter 12 1 46 5 8 8 /drawrect -f @lagmeter 12 1 54 5 8 8 /drawrect -f @lagmeter 12 1 62 5 8 8 /drawrect -f @lagmeter 12 1 70 5 8 8 /drawrect -f @lagmeter 12 1 78 5 8 8 /drawrect -f @lagmeter 12 1 84 5 8 8 /drawrect -f @lagmeter 12 1 92 5 8 8 } } on ^*:PONG: { if ($2 == lagmeter) { set %lagtime $calc(($ticks - %ticks) / 1000) unset %ticks drawreplace @lagmeter 1 15 drawtext @lagmeter 1 114 2 %lagtime box haltdef } } on *:CLOSE:@lagmeter: { .timerlagmeter off } dialog lagmeter { title "Oliver's LagMeter" size -1 -1 82 52 option dbu box "Set Refresh Rate", 1, 3 2 77 48 button "Set", 2, 23 35 37 12 edit "", 3, 33 13 17 10 text "(in seconds)", 4, 26 23 30 8 } on *:dialog:lagmeter:sclick:2:{ set %repeat $did($dname,3) /dialog -x lagmeter lagmeter } on *:APPACTIVE: { if ($window(@lagmeter)) { if (!$appactive) { window -n @lagmeter } else { window -r @lagmeter } } } on *:KEYDOWN:@lagmeter:*: { if ($keyval == 40) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y + 2) } elseif ($keyval == 39) { window -s @lagmeter $calc($window(@lagmeter).x + 2) $window(@lagmeter).y } elseif ($keyval == 38) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y - 2) } elseif ($keyval == 37) { window -s @lagmeter $calc($window(@lagmeter).x - 2) $window(@lagmeter).y } }