Here is a sample code of what I was describing:

Code:

alias networks {
  if ($dialog(networks)) dialog -a networks
  else dialog -mv networks networks
}

dialog -l networks {
  title "Network Information"
  size -1 -1 270 130
  option dbu

  box "Network Information"        9,   10 10 250 110
  list                            10,   20 20  75 100, autohs 
  list                            11,   97 20  14 100, autohs hide

  text "Network Name:"           100,  120 50 40 10, right
  edit ""                        200,  162 48 60 10, read autohs center

  text "My Nickname:"            101,  120 70 40 10, right
  edit ""                        201,  162 68 60 10, read autohs center
}

on *:DIALOG:networks:init:0:{
  var %n = 0, %nn = $scon(0)
  while (%n < %nn) {
    inc %n
    scon %n
    did -a networks 10 $network
    did -a networks 11 $cid
    scon -r
  }
  networks.load $scon(1).cid
}

on *:DIALOG:networks:sclick:10:{
  var %cid = $did(networks,11,$did(networks,10,1).sel).text
  if ($scid(%cid)) networks.load %cid
}

alias -l networks.load {
  ;$1=scid
  if (!$scid($1)) return
  scid $1

  ; Code to change right-side data here
  ;
  did -ra networks 200 $network
  did -ra networks 201 $me
  ;
  scid -r
}



Ensure you are on several networks.

Then type: /networks

Click the items in the list box on the left.


-genius_at_work