Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Updates on the progress of this project
tergolap
Posts: 15
Joined: Thu Feb 24, 2022 9:28 am
Location: Noricum
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by tergolap »

Hello - happy new year to y'all.

Thank you for that. Absolutely awesome to have an AppImage for Linux and now a Disk Image for Mac!
I can't even imagine, how much work it must be to have machines with the tool chain for building up and running AND find the time to do the re-branding AND tinkering around.

Thank you so much!
Cheers,

T.

I'm not a native speaker, but I try my best.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

tergolap wrote: Tue Jan 03, 2023 9:16 pm Hello - happy new year to y'all.

Thank you for that. Absolutely awesome to have an AppImage for Linux and now a Disk Image for Mac!
I can't even imagine, how much work it must be to have machines with the tool chain for building up and running AND find the time to do the re-branding AND tinkering around.

Thank you so much!
Well it has been a a bit of a pain trying to test stuff on different OSes, I still need to primarily use macOS for other work so that's what I'm running most of the time (10.14, bigger, and macOS 12 installed), after that it's Linux (UbuntuStudio KDE Plasma, and elementaryOS), and Win 10 (no 11 installed yet). I currently don't have a proper toolchain set up for compiling the engines from C++ source, although I will be trying to set that up (again) soon. All of the changes that have been done have not needed recompiling the engine(s). The only things I did as far as the IDE binaries themselves are concerned is change some metadata (Win) / info.plist (Mac) so that they are seen as "OpenXTalk" by the OSes (instead being seen to be another copy of LC CE), and remove some code-signing. The un-branding changes were all text/scripts/images changes to the IDE and the Dictionary (which is a web page with JavaScript) and the new features were all created with via regular xTalk script or Extension Builder modules.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

richmond62 wrote: Tue Jan 03, 2023 6:51 am Presumably this release will NOT work on versions of Mac OS prior to 10.9?
Same as LC CE 9.6.3, minimum macOS version is 10.9 for the IDE.

LiveCode 9.6.x Release Notes 5/26/20:
The Mac engine supports:
10.9.x (Mavericks)
10.10.x (Yosemite)
10.11.x (El Capitan)
10.12.x (Sierra)
10.13.x (High Sierra)
10.14.x (Mojave)
10.15.x (Catalina)
However I was under the impression that you could still build 10.6/7 + 32bit standalones for macOS, but looking at it now it seems that was removed in v9 (maybe 10.6/7 / 32bit could be put back in, along with the even older PowerPC standalone engine). I do think that all development should concentrate on non-ancient-OS / 64bit CPUs, but I also wouldn't mind also being able to build some retro-standalones for classic Macs ( my MDD G4 too runs macOS 9.2 uni, 10.4, 10.5, and community built "Sorbet 10.6"), and a Linux ARMv7/Raspberry Pi deploy option would be nice to have as well (and we do have a community-built LC CE v7 based engine available to do that). It probably wouldn't be a whole lot of work to add these old-Engine deploy options back into the Standalone Builder, but any newer engine features, such as Extension Builder or Unicode support, would obviously not work with some older options (so need to add warnings dialogs related to 'back-porting'). I will probably be spending some quality time with the Standalone Builder soon, I would like to add some additional options there, for the Emscripten HTML5 builder in particular, and also add some import/export options to the IDE menu as well (has MetaTalk-RunRev-LC ever had an IDE menu option to export an embedded sound/image/video back to its original file format?). We want to make the IDE a lot more 'Open', right?

I may have changed that info.plist 'Minimum OS' key to 10.6 while testing some backwards compatibility thing at one point, I would have to compare to LC CE to see how they have it set (10.9?), but if there were MachO ABI format changes between 10.6/7/8 to 9 that may be what is preventing the executable from executing on those older macOS versions. The oldest I have readily available to test on right now that's Intel CPU based is 10.10.5 (Yosemite).

If your 10.7.5 machine has a 32bit only CPU (or is running in 32bit mode because of EFI firmware or something), such as a CoreDuo (1st Gen Intel Macs), then a 64bit binary is never going to run regardless of what keys are set in the apps .plist.

If you need to you CAN run LC CE v8 on MacOS 13 Ventura (I just tested it) and build a Mac 32bit standalone with that. I was also able to get LC CE v7 to run on BigSur by replacing it's executable with the binary from LC CE v8 but that was only because I wanted to look at something in LC CE v7 IDE.

Interestingly if you do run LC CE v8 on Ventura you get partially working macOS native document tabbing support with stack document files as a bonus, which means you can have 2 or more stacks in the same window:
Screenshot 2023-01-03 at 10.12.14 PM.png
Screenshot 2023-01-03 at 10.12.14 PM.png (162.43 KiB) Viewed 9353 times
That ability is actually being patched OUT in the 9.x.x engine, I guess because it's a macOS specific thing and they didn't want to support that yet (macOS tabs were added in macOS 10.12 IIRC)?

As far as that AppleScript applet is concerned:
1) It's icon was a last minute addition, I think that needs to a better .icns file to display properly on older macOS (it should contain various sized versions).
2) Applet probably needs to be recompile ('FAT' binary) on an older macOS like 10.14 (32bit apps still supported) or older for comparability reasons. I compiled the current included applet on BigSur (so 64bit only).
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

I may upload new IDE packages sooner than previous, mostly because all of the 'grunt work' of de-branding is done, I can work on some improvements, clean up some artwork and things like that. Also I'm getting some good feedback/reporting and I've fixed several issues reported in this thread already.

I just now realized that I forgot to add in the Menu Builder (revMenuManager) changes that Terry Little sent me (although I just found some minor buggy behavior with the checkmarks / diamond mark tool, and it could use a little cosmetic work as the icons are slightly hard to see in darkMode). That should be in the next packages.

I'm also going to start to REALLY work to recompile the Engines from source soon, which could open up some new possibilities. Keep in mind that I still have a lot to learn in that area and I still don't have any AppleSilicon CPU (ARM64bit) based Mac yet, so don't expect any AppleSilicon native builds from me any time soon.
TerryL
Posts: 65
Joined: Sat Oct 16, 2021 5:05 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by TerryL »

@ Richmond RE: request for test of Windows standalone and OXT stack.
Download: The windows standalone downloads with warning "Not usually downloaded" (normal with unsigned .exe) and option to delete or keep. Elected to keep. The OXT stack downloads without issue.
Run: Standalone runs without issue on Windows 10, opens in middle of screen, three coloring buttons work. LCC 9.6.3 opens OXT stack (show "all files" in File > Open dialog) and runs without issue.
Success all round.

@ Paul RE: Linux & Mac release candidates. Well done. Congratulations. Did you see my last Menu Builder fix suggestion for you to do posted back in https://www.openxtalk.org/forum/viewtopic.php?f=2&t=412

22) Script of fld "Item Name", changed four answer dialogs: removed "Revolution" reference, removed choice of deleting with "OK".
answer warning "As the Quit menu item is moved to the Application menu on Mac OS X, this menu item must be a divider, and removes it on Mac OS X." with "OK" titled "Menu Builder"
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by richmond62 »

Thank you for the Windows test.

Best, Richmond.
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by richmond62 »

Interestingly if you do run LC CE v8 on Ventura you get partially working macOS native document tabbing support with stack document files
And how would one go about that?
https://richmondmathewson.owlstown.net/
micmac
Posts: 107
Joined: Mon Sep 13, 2021 9:46 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by micmac »

Hi Paul

Opening old Livecode files in OTX...

This is the looks in Livecode
Skærmbillede 2023-01-06 kl. 14.13.04.jpg
Skærmbillede 2023-01-06 kl. 14.13.04.jpg (41.08 KiB) Viewed 9309 times


This is the looks in OTX
Skærmbillede 2023-01-06 kl. 14.12.26.jpg
Skærmbillede 2023-01-06 kl. 14.12.26.jpg (27.63 KiB) Viewed 9309 times


This is the look in OTX both in light and dark mode.

Thanks
Mic
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by richmond62 »

Ouch.

I'll try and reduplicate that tomorrow.
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

micmac wrote: Fri Jan 06, 2023 1:21 pm Hi Paul

Opening old Livecode files in OTX...

This is the looks in Livecode
Skærmbillede 2023-01-06 kl. 14.13.04.jpg



This is the looks in OTX
Skærmbillede 2023-01-06 kl. 14.12.26.jpg



This is the look in OTX both in light and dark mode.

Thanks
Mic
Not really a bug! As I've mentioned in the past, darkMode on macOS is somewhat more than just inverting colors.
This would be the same problem in LC CE, IF they had supported native darkMode, which is probably why they didn't beyond adding an Engine-level property for checking the mode (systemAppearance) and a notification message (systemAppearanceChanged). OXT uses these two in conjunction with the included macOS tools Extension library to support native darkMode, and it works the same way when loaded into LC.

The thing I'm not sure about is that you indicate "This is the look in OTX both in light and dark mode.", which should NOT be the case! If macOS is in light mode (not just the OXT engine 'darkMode' preference, which applies a scripted pseudo-darkMode) then it should look exactly the same as in LC. I toggle darkMode from the OS display menu in the macOS system menubar and the IDE (home stack) receives the message and changes the IDE stack windows appearances in response.
Screen Shot 2023-01-10 at 1.01.09 AM.png
Screen Shot 2023-01-10 at 1.01.09 AM.png (16.56 KiB) Viewed 9292 times
Maybe there should be a separate option to 'Use macOS system appearance' and one to ignore the macOS system appearance and apply only the scripted pseudo-darkMode. OXT macOS tools can set the appearance on a per-Window basis (currently it's setting the appearance for all of the applications windows), so I could make it so that the IDE changes ONLY the IDE windows in response to the macOS-only ''systemAppearanceChanged' message but not effect any open stack document windows. See the Dictionary for the syntax. OXT macOS tools has some other nice macOS native features in it, so if you want your apps to look behave more like modern native macOS apps you should really give it a look.

To set light/dark mode at the App/Engine level:

Code: Select all

setAppToDarkMode
To set light/dark mode on a per-Window basis use this syntax:

Code: Select all

setWindowToDarkMode the windowID of this stack
The handlers in the IDE Home Stack that applies system dark/light mode:
IDEToDarkMode / IDEToLightMode

It looks like the Window / macOS was still in darkMode, in the macOS system preferences (regardless of how the OXT darkMode preference is set) and/or colors in your stack may have had color properties set somewhere in the properties inheritance chain (text<-field<-group<-card<-stack<-window<-engine). I can't tell for sure because I can't see a native window frame or titlebar in your screenshot.

Also IMPORTANT TO NOTE: the old LC default foreColor property for opaque 'classic' button was NOT ok for use with darkMode, and so I changed a few of the default properties for several of the 'classic' controls. This is also exactly why I had to edit virtually every IDE stack to look OK in darkMode.

You stack must therefore be edited to support darkMode. The best way is to use 'empty' text color properties ( or 'use owner's color' in the IDE menu) which lets the color properties (foreColor / backColor etc.) be inherited from the Engine, which inherits colors from the OS (may be a good beginners lesson on OOP property inheritance in there somewhere).

For your preexisting stacks you would mostly just need to select any 'classic' opaque-styled buttons and set their foreColor to black, and set all text/fields foreColor/backColor to empty (reset to default) or 'use owners color', which allows most text to automatically toggle from black to white and back based on the OS appearance mode. If its a basic stack you might only need to set the fore/backColors on the card or stack level, but if you have groups within groups of controls and color props set on various parts it can be a little tricky.

For new stacks you can use the white-on-grey styled button, which is a new-'classic'-control I've added to the IDE, if you like. The old standard button now has black as the default foreColor so that they look OK in either light or dark, but keep in mind that only applies to newly created buttons. You could also use the macOS native buttons and native fields (widgets), which of course support macOS native darkMode, but I'm not happy with those options because they were never completed (there's hardly any properties to set) and obviously those are not cross-platform the way the engine-drawn 'classic' objects are. I would prefer to add new 'Universal Button' and 'Universal Field' widget parts that would honor the OS theme setting and also be cross-platform.

On MacOS you can check the systemAppearance property (added to 9 engine) and then script your objects colors based on that. However 'systemAppearance' does NOT return accurate results on other operating systems, but there exists shell methods for getting system theme info (at least on Linux).

I've also added a new 'darkMode' persistent stack property which doesn't actually do anything (yet), but could be used to indicate the stack colors should be modified (by a script) depending on the current system appearance setting. My intention is to add an appearance library that handles such tasks on all the supported OSes. Windows 10 I had a problem with setting colors in the applications menus so that may need an Win-native-tools extension or engine changes to support Windows darkmode.

If you can send me the stack or a portion of it, maybe I can figure out what is going on there. I have not experienced this issue, but I've also been setting all my stacks up with darkMode in mind for some time now.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

Made a related fix this morning:
setAppToDarkMode/setAppToLightMode <-had bad info in the Dictionary. These are commands, NOT functions, they don't return any value. They also do not take any in-parameter, they simply set the systemAppearance on all Windows managed by the IDE or your app (if used in a standalone), unless a window has had it's appearance set on an individual-window basis which takes precedence over the App's appearance (in other words you can set a window to be in native lightMode at the same time that the rest of the app's windows are in darkMode).

Also note that setting a stack windows appearance property is (currently) NOT a persistent property, so it will go back to using whatever the system is set to the next time the app or stack is opened.

I should probably add some more notes to the Dictionary entrees for info on inheritance and non-persistence.
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by richmond62 »

Made a related fix this morning:
Does that mean you have issued new builds for downloading and testing?
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

richmond62 wrote: Tue Jan 10, 2023 2:24 pm
Made a related fix this morning:
Does that mean you have issued new builds for downloading and testing?
No, I just made the change to the macOS tools library, will recompile the dictionary later this week.
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by richmond62 »

I am only free for testing for about 4 hours each weekend, so a 'Friday bedtime' build would rock.

Particularly as you are probably going to bed on Friday night at about the same time as I am getting up on Saturday morning.
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 1341
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by tperry2x »

Thoughts on dark mode.
Dark mode in other apps (in Linux at least) uses the system scheme - in Eye-of-Mate image viewer for example, it respects the correct dark colour.

OpenXTalk is darker, but don't know what it's considering dark mode.
Image
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by richmond62 »

Why do I feel that Dark Mode is best left to the operating system?

Kali Linux does a fine job inverting LiveCode without (as far as I can tell) any work having been done in Edinburgh.
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

richmond62 wrote: Wed Jan 18, 2023 10:25 am Why do I feel that Dark Mode is best left to the operating system?

Kali Linux does a fine job inverting LiveCode without (as far as I can tell) any work having been done in Edinburgh.
Dark Mode IS best left to the operating system and devs should try to allow their stacks to inherit properties from the Engine/System level. On macOS using the OS APIs is actually the ONLY way to get dark window frames, which is half of what OpenXTalk does to to achieve dark (along with scripted recoloring of some IDE stacks). Even Apple will tell you that you may have to do some work on the dev UI side to make things cohesive, and they've provided backing 'materials' and dynamic colors to help devs make it work out more easily.

Edinburgh (as far as I can tell) hadn't done any work to get a 'darkmode' on any other platform besides macOS. On macOS they provide a 'systemAppearanceChanged' message to handle, and a engine level systemAppearance property which in my testing always returns false on other platforms (incorrectly including the Emscripten engine running on macOS in dark mode).

On Linux it mostly just works with whatever Gnome-compatible OS theme, Windows doesn't do much anything to support darkMode (actually Redmond does have dark materials in the newest Windows builds but I haven't been able to get the Windows OXT app Menu to be dark with white text), and lastly macOS an has the overly complicated API (IMO) for it.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Happy New Year, the OXT DPE RC3 Mac Disk Image Has Now been uploaded!

Post by OpenXTalkPaul »

richmond62 wrote: Tue Jan 10, 2023 7:24 pm I am only free for testing for about 4 hours each weekend, so a 'Friday bedtime' build would rock.

Particularly as you are probably going to bed on Friday night at about the same time as I am getting up on Saturday morning.
Noted. I work at night, and sometimes I stay up late after work (particularly on Fridays), but a Sunday morning/brunch Philly area ('Go Birds' lol) is 4+ hours behind UK so afternoon) is probably the most likely. Unfortunately there's no automated build system in place, so it's whenever I get to it.

('Go Birds' was because the Philly Eagles team just lost the Super Bowl, which I couldn't care less about but a lot of people around me do)
Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests