Get "usable" window width in vim script

How do I get the width of 3 (marked with green color in the image) in vim script? If there is no signs column, and there are no other "special columns", I can get it with winwidth(0) - (max([len...