Oct 15th 2021
Posted: Sat Oct 16, 2021 1:53 am
It was suggested to me that we should have some sort of regular progress reports, so I'm going to try to post here, maybe once a week... don't hold me to that!
This first one will be for the month and a half since this project began...
The first two or three weeks or so was a lot of setting up.
At first it was just some discussion on FaceBook, where there is still a private group (I couldn't make it public after the fact), although it's not really being used since Seth set up this forum.
Additionally Mark Schoneville also changed the name of his LC users facebook group to OpenXTalk Users, which makes it clear that is not an LC Ltd. run FB group, and so it is OK to talk about OXT there (or I assume any other LCC fork or xTalk language, I believe Mark is also a SuperCard user).
I created some initial artwork to go along with the project (the homage to HC icon).
A couple of small bugs in the IDE were fixed (see the bug fix section of the forum).
So the next few weeks were spent looking at the startup process of the IDE and altering IDE stacks to un-brand and/or rebrand the IDE. This wasn't by choice, at least not entirely, as it was made very clear that we where expected to differentiate our project from the now closed source, commercial only LC Ltd product.
A few IDE stacks needed to be altered, including the main Home stack (which handles the start process), the IDE menu stack, the preferences stack, the Start Center, Splash, and a few other stacks.
The OXT IDE now creates its own preference file (separate from LCC's prefs), and it's own "My OpenXTalk" folder (separate from "My LiveCode" folder) in the user's directory.
Instead of spending a lot of time rebranding / rebuilding the Start Center stack, I modified the Home script that loads it to look for a custom "Start Center.oxtstack" file in the root of user's "My OpenXTalk" folder, and load that instead if found, if not then the now-blank old Start Center stack is loaded.
I added some "new" filetypes (.stk,.oxtstack,.oxtscript) to be recognized by the IDE. I did this in anticipation of the possibility of future changes to the stack file format, which I don't think there has been any changes since version 7.
On the Windows version I attempted to modify the registry file association scripts to accomplish this goal, but I tested this on Win 10 (64bit) and it doesn't seem to work properly (maybe it does on 32bit, I can’t test that right now).
From the initial artwork I created app and doc icons files (.icns on Mac, .ico for Win).
I modified some macOS app specific files to use those icons as well as get the OS to see OXT as a separate app from LC and so it has appropriate "Get Info" text in the macOS Finder.
I also modified the Windows exe to alter it's manifest/app info so that it now has the OXT icon and getting the exe properties in file explorer now shows OXT info, similar to 'getting info' in the macOS Finder.
A couple of weeks ago Seth made a bunch of edits to the dictionary raw .lcdoc files in order to unbranded remove / replace the word LiveCode and URLs that reference LC Ltd. run sites, and there was a LOT of them!
The following week I figured out the process to compile those .lcdocs into the dictionary that is included with the IDE. Then I realized that this process was somehow missing certain elements, such as a few docs for Monte's merg externals, and most of the Builder definitions. I was able to extract the .lcdocs from those sources manually and individually add them to the docs folder in the repo. The dictionary appears to be complete now, sans-commercial only things ( the tsNet api, XPDF api, most of the merg externals), there is also the API for my Piano widget and may be some docs from other extensions I had installed (which may eventually be included or available as package downloads).
I did some more unbranding edits and corrections (OpenXTalk.org NOT OpenXTalk.com for example) to the docs this week.
During the course of these things I’ve rearranged and added to the IDE repo so that it closely matches the directory structure of both Mac and Windows (merged together into a hibred) installed directories. This makes it easier to compare the OXT IDE to the legacy LCC IDE.
In addition to the above, I've recently begun setting up to build the engine from source. So far just on macOS, which has turned out to be a painfully unituitive process. I think I've almost got it, I still get all sorts of errors and compiler warnings, but it's less now and a few peripheral items are actually compiling all the way through into binaries. The build instructions are sparse, incomplete, and/or outdated.
Effectively the IDE is mostly now OXT, not LCC, at least on macOS and Windows.
That's pretty much everything done so far.
Next week I plan to install a Linux Distro, see how it looks there, possibly try to compile on Windows (the Windows build instructions seem to be more current thanks to Trevor DeVore) as well as a Linux.
This first one will be for the month and a half since this project began...
The first two or three weeks or so was a lot of setting up.
At first it was just some discussion on FaceBook, where there is still a private group (I couldn't make it public after the fact), although it's not really being used since Seth set up this forum.
Additionally Mark Schoneville also changed the name of his LC users facebook group to OpenXTalk Users, which makes it clear that is not an LC Ltd. run FB group, and so it is OK to talk about OXT there (or I assume any other LCC fork or xTalk language, I believe Mark is also a SuperCard user).
I created some initial artwork to go along with the project (the homage to HC icon).
A couple of small bugs in the IDE were fixed (see the bug fix section of the forum).
So the next few weeks were spent looking at the startup process of the IDE and altering IDE stacks to un-brand and/or rebrand the IDE. This wasn't by choice, at least not entirely, as it was made very clear that we where expected to differentiate our project from the now closed source, commercial only LC Ltd product.
A few IDE stacks needed to be altered, including the main Home stack (which handles the start process), the IDE menu stack, the preferences stack, the Start Center, Splash, and a few other stacks.
The OXT IDE now creates its own preference file (separate from LCC's prefs), and it's own "My OpenXTalk" folder (separate from "My LiveCode" folder) in the user's directory.
Instead of spending a lot of time rebranding / rebuilding the Start Center stack, I modified the Home script that loads it to look for a custom "Start Center.oxtstack" file in the root of user's "My OpenXTalk" folder, and load that instead if found, if not then the now-blank old Start Center stack is loaded.
I added some "new" filetypes (.stk,.oxtstack,.oxtscript) to be recognized by the IDE. I did this in anticipation of the possibility of future changes to the stack file format, which I don't think there has been any changes since version 7.
On the Windows version I attempted to modify the registry file association scripts to accomplish this goal, but I tested this on Win 10 (64bit) and it doesn't seem to work properly (maybe it does on 32bit, I can’t test that right now).
From the initial artwork I created app and doc icons files (.icns on Mac, .ico for Win).
I modified some macOS app specific files to use those icons as well as get the OS to see OXT as a separate app from LC and so it has appropriate "Get Info" text in the macOS Finder.
I also modified the Windows exe to alter it's manifest/app info so that it now has the OXT icon and getting the exe properties in file explorer now shows OXT info, similar to 'getting info' in the macOS Finder.
A couple of weeks ago Seth made a bunch of edits to the dictionary raw .lcdoc files in order to unbranded remove / replace the word LiveCode and URLs that reference LC Ltd. run sites, and there was a LOT of them!
The following week I figured out the process to compile those .lcdocs into the dictionary that is included with the IDE. Then I realized that this process was somehow missing certain elements, such as a few docs for Monte's merg externals, and most of the Builder definitions. I was able to extract the .lcdocs from those sources manually and individually add them to the docs folder in the repo. The dictionary appears to be complete now, sans-commercial only things ( the tsNet api, XPDF api, most of the merg externals), there is also the API for my Piano widget and may be some docs from other extensions I had installed (which may eventually be included or available as package downloads).
I did some more unbranding edits and corrections (OpenXTalk.org NOT OpenXTalk.com for example) to the docs this week.
During the course of these things I’ve rearranged and added to the IDE repo so that it closely matches the directory structure of both Mac and Windows (merged together into a hibred) installed directories. This makes it easier to compare the OXT IDE to the legacy LCC IDE.
In addition to the above, I've recently begun setting up to build the engine from source. So far just on macOS, which has turned out to be a painfully unituitive process. I think I've almost got it, I still get all sorts of errors and compiler warnings, but it's less now and a few peripheral items are actually compiling all the way through into binaries. The build instructions are sparse, incomplete, and/or outdated.
Effectively the IDE is mostly now OXT, not LCC, at least on macOS and Windows.
That's pretty much everything done so far.
Next week I plan to install a Linux Distro, see how it looks there, possibly try to compile on Windows (the Windows build instructions seem to be more current thanks to Trevor DeVore) as well as a Linux.