Survey regarding the new announced Desktop Controls

What ? Can you tell me more about that ?

I think Martin may mean VBA (Visual Basic for Applications)?

Back in the 1990s I was talking to Microsoft engineering about bringing Visual Basic to the Mac.
Then REALBasic 1.0 appeared, and the conversation ended. I snapped up a license for REALBasic 1.0 and the rest is history.

IIRC No… I heard way back when (Been using RB.RS.Xojo for 20 years) that at one time MS was using RB for at least prototyping Mac apps.


Oh… Now you mention it, I do vaguely recall something about it…

What part of the ‚ÄúThis are the SAME controls with new Class names and new API2 Event Names‚ÄĚ has to do with a TextInputCanvas?

ANyway, if Xojo cant even make the RichEdit control behave as it should, dont hold your breath to have a TextInputCanvas.


And that is why this is so important. The built-in RTF support is, for lack of a nicer way of saying it, lacking much needed functionality, you need something like TextInputCanvas to do it yourself. You have to remember that the Canvas control does basic text handling but not enough to satisfy Cocoa requirements. If you want a true Mac app with proper text handling you either have to use the built-in controls (with crappy RTF support with zero inline graphics, URL handling, bullet points, etc), or create it yourself with TextInputCanvas.

1 Like

Unfortunately, it’s clear that Xojo has no interest in this. What we really need is somebody who can fork the code, maintain, and build it. Because paying Christian to build the plugin isn’t going to work forever.

Yeah, I find that sad. But I guess not surprising.

Am looking at it, the code in the Git repo has some obvious issues which I need to fix first. If I can get it in my build line without huge effort then I can make build available for everyone. (we will see)


Please Björn. That would be amazing!

It looks like I can deliver all Mac and Windows targets tomorrow, maybe someone who has actual use case and knows how to use older builds from Xojo or someone else can then try it out while I look at getting the Linux targets in ??

I personally got no use / test case for it nor any experience with using it,


Well, I previously just built the code from repository with little changes to get it compiled.
So if you try to compile it, I don’t expect much difficulties for you.

I had to fix load of int to RBInteger in parameters to prevent memory clobbering, and had to add Param to properties also to prevent memory clobbering and to let it work correctly. And to the Linux build then the enum for the modifiers was not defined for Linux even if it was used.

I use automatic testing to make sure all properties have correct parameters.
And I think I pushed my changes back to Xojo.

If you did then they certainly did not make it available in the repo. If you look at the Events their all more or less loaded with int and not RBInteger. And if you look at the TextRange class then getter setter property is missing the Param. Its all a mess.

I have made build for all platforms available for everyone.

Download link for Build of TextInputCanvas

I included auto generated documentation. As for real documentation I cannot help you since I do not know how to use anything in this plugin.


if you push your changes back to the repository, I could later compare them to my changes and maybe push also a few changes.
This way the bug fixed I made are not lost for the future.


I am not going to attempt to push to them, it has taken them 7 years to fix small bug and even when they have marked it as fixed then we still don’t get it in any version, so not going to spend years waiting for them to take changes.

I opened up my repo for it:


This is great @Björn_Eiríksson. I’m using the TextInputCanvas as the basis for my code editor so I’m happy to test out this new build.

Did you say you’ve compiled for Linux (ARM and x86)? I also build for Linux so I can test it there.


Yes you got all platforms in it. macOS 32 bit, macOS 64 bit, macOS Apple Silicon, Windows 32 bit, Windows 64 bit, Linux 32 bit, Linux 64bit, Linux ARM. :slight_smile: