dynamically set chars per row to fit all window widths