alias idl {
var %who = $1 , %ret = $regsubex($str($chr(32),$calc($comchan(%who,0) -1)),//g,$+($nick($comchan(%who,\n),%who).idle,:,$left($nick($comchan(%who,\n),%who,a,r).pnick,1),$comchan(%who,\n)))
;== If $str(<space>,-1) (IE no common channels) we wind up with ONE zero-width spot (since $str() returned $null), which has no idle and no channel name so you wind up getting a return of ":", reset the var to null.
if (%ret == :) { var %ret = $null }
if ($query(%who)) { var %ret = %ret $+($query(%who).idle,:Query) }
if ($chat(%who)) { var %ret = %ret $+($chat(%who).idle,:Chat) }
var %ret = $regsubex($sorttok(%ret,32,n),/(\d+)\x3a([^ ]+|$)/g,$+(\2,[,$dur(\1),]))
$iif($isid,return,echo -a) %ret
}
alias dur { return $regsubex(dur,$duration($1),/([a-z]+|\s)/gi,$iif(\1 != $chr(32),$left(\1,1))) }