So then I installed LiveCode Community edition and copied over my builder wrapper for libFluidSynth (which I hadn't yet tested on Linux). My immediate impression was that LCC is not very good at all on Linux!
- The UI Graphics / Palettes are not setup for Dark Mode, which I already knew from testing darkMode handler in my macOS Tools Extension.
- There's still the problem with dragging and dropping a browser widget, it sort of works sometimes but then I can't open anything else, such as the property inspector, once the widget is placed. The workaround of using the menu to create the widget still works normally, so it must have something to do with drag and drop from the tools palette.
- The Tools palette and other windows seem to randomly disappear, I'm not sure if this is due to a few KDE eye candy effects that I turned on, but I expect the average Linux user would customize the user interface settings somewhat.
I may switch to XFCE, MATE, etc. to test on those, but KDE Plasma is a quite popular Linux Desktop Environment, and the newer versions are as low-resource-using and responsive as XFCE, so IMO it should be supported, at least not break. Pehaps there's something generally wrong with the "palette stack" command on Linux? - The dictionary stack window doesn't open, at all! The dictionary stack uses a Web Browser Widget and a generated local website that contains the Dictionary, but it didn't load any stack, I guess it tried to "launch" the index html with a web browser but on my fresh install it launched an eBook editor instead (which I went ahead and converted to eBook file since I was already there). This might be replaceable with something like BN's tinyDictionary or similar, but a syntax Dictionary is absolutely essential to have.
- The browser widget also uses an already outdated version of CEF (Chromium Embedded Framework) so if use it with a Google site, such as the Google search page, you get a message saying you need to update to the latest version of Chrome. LC Ltd. Google (Alphabet Inc. or whatever) has dropped support for Chromium, but it is still being supported by the open source community themselves. I believe has switched to WebKit on all platforms, which they had already done on macOS some years ago. This is the better way in my opinion, as CEF adds 10s of megabytes to the size of a Standalone App, but using the Operating System's existing Web View adds little to a standalone app's size. I understand and extra 50 or 70mb might now be that big of a deal to most people now days, but it might be to some. Interestingly it seems Google is still supporting the PDF rendering engine from Chromium as a separate spin-off project called PDFium.
- The wrapper Extension for FluidSynth which I've tested on macOS and Windows, did not work at first. I had expected it to automatically find the libFluidsynth libraries that were already installed and working with other apps on the machine. Seems like the Builder VM should look for external libraries in their standard Linux locations first to see if the lib is already installed there, but it doesn't. So I dug down from root/ until I found the libFluidsynth library and copied that binary to the LCB extension's /code/X86_64-linux/ folder and then the extension did load the foreign library (it prints its version number in the log field when it loads), but I get no sound coming out of the speakers. I'm going to work on that to see if it just needs some platform specific adjustments (explicitly indicating the audio driver to use instead of FluidSynth default), might have to add the other libraries that libFluidSynth are dependencies on, like libSndFile, to that code folder too, seems like a waste of space to have to have duplicates of the libFluid library and dependencies in the code folder, on the other hand this makes it highly "portable". At least I know I'm on the right track with Builder on Linux.