only redrawing if body width changed meaningfully