Ok, i saw a while ago a post on /list to be able to make your own one instead of mIRC's default, so i took this idea and added a few bits...

Code:
raw *:*: {
  if $numeric == 321 {
    window -h "channels list"
    set  %list $ticks
    if !$window($+(@List-,$network)) { window -kal $+(@List-,$network) }
    aline $+(@List-,$network) Listing all available channels on 00 $+ $network
    aline $+(@List-,$network)  14-
    aline $+(@List-,$network)  00,14Channel $+ $str($chr(255),$calc(20 - $len(Channel))) $+ 00,14Users/Modes $+ $str($chr(255),$calc(41 - $len(Users/Modes))) $+ 00,14Topic
  }
  if $numeric == 322 { aline $+(@List-,$network)  $2 $+ $str($chr(255),$calc(20 - $len($2))) $+ $3-4 $+ $str($chr(255),$calc(41 - $len($3-4))) $+ $5- | halt }
  if $numeric == 323 {
    aline $+(@List-,$network)  14-
    aline $+(@List-,$network)  Finished Listing channels for 00 $+ $network
    aline $+(@List-,$network)  Listing Took00 $round($calc($calc($ticks - %list) / 1000),4) $+ s
    window -kb $+(@List-,$network) 
    window -c "channels list"
  }
}  


Problem i have now is that if i highlight a line with a channel in it, how would i make an option to say /join that channel or /who it (if it's not +s or +p)
i don't know where to start really frown