This is relatively easy to test. In a window tool just type text with
vb:text { text = “the text bla bla bla” }
Try it with different envelopes (row, horizontal_aligner…), you will see that it does not affect.
What happens is that when changing the scale (Renoise: Edit / Preferences / GUI / Global / User interface scaling) , the envelope box of vb_text does not adapt correctly to the width of the written text. It seems that in most cases the width is a little reduced. This causes the “. .”, when it should not happen. As I understand it, the problem is in vb:text{}, and not in other wrappers.
For example, a text like this:
today is a good day
will appear something like:
today is a good d . .
If the text is longer it seems like you could remove more letters.
If after this happens, you can run “Tools / Reload all tools” this issue disappears, and it is displayed correctly.
As long as the display isn’t completely broken, this is IMHO just fine and not worth the troubles fixing it. It happens in e.g. some dialogs in Renoise too.
Somewhat related. I’ve only seen a small hidden frame (border) on the right in various panes of the preferences window when you change the scale. These are minor details (if you restart Renoise it fixes it). After all, these are visual things you don’t expect to see.
Maybe when making window tools I pay too much attention to these things
By the way, is there any notifier in the API that indicates that the scale has changed?
With an _observable like this I could solve these problems in the window tools.
Could this be added?
Something like renoise.song().ui_scale_factor _observable --returns the % of the scale, read only.