Just to clarify, I'm proposing to separate them completely. So there would be "autotips" in edit-mode that follow the mouse and that the user can only turn on or off[1]. There would additionally be a "canvas tip"
which
the user can already write to using the "tip" method (which could be renamed if that causes confusion).
I see.
As far as the canvas tips, I'm thinking just use the current syntax for
the
current behavior: tip 1 foo <-- show "foo" in canvas tip tip 0 <-- hide canvas tip
It might be a good idea then to also extend it to reference a specific canvas (or level up kind of like window_name and patch_name and likely others do), so you could show a tip from a subpatch on the parent patch. E.g.
tip 1 0 foo (0 would refer to this canvas) tip 1 2 foo (2 would be two levels above this one)