An even less obvious/convenient way of getting the listbox char width is the following:
Code:
sidelbw {
  var %@ = @test $+ $ticks, %f = $window($1).font, %fs = $window($1).fontsize, %cw = $width(A,%f,%fs)
  window -fhl1 %@ -1 -1 $window($1).dw 100 $qt(%f) %fs
  var %w = $window(%@).w
  close -@ %@
  return $int($calc(($window($1).w - %w) / %cw + 1))
}
Usage: $sidelbw(@window)