Hi All,
Not sure if anyone else is trying out 10.0.1 rc-1 but I am. So far it all works well, and being able to build for iOS without having to jump through hoops with the Xcode version is great. Maybe we'll get the same 'no jumping through hoops' for Android too - wouldn't that be nice.
The only issue I've found in 10.0.1 rc-1 so far is that the systemAppearance value is not always being returned in the IDE, so I'll get light and dark most of the time and occasionally I get blank (empty).
Running macOS Sequoia 15.0.1 on Apple Silicon. Desk & macBook is facing East-North-East, weather is sunny and I've got size 11 boots on (well, you never know what can affect systems these days).
Anyone else able to reproduce or is it just my setup?
Edit: If I open my stack in 9.6.13 I can swap from light to dark mode without any hiccups and systemAppearance always seems to return a value to the IDE.
Al.
LiveCode 10.0.1 rc-1
Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller
Re: LiveCode 10.0.1 rc-1
Hi AI,
I tried to recreate the problem you describe.
What I found is when I put an "systemAppearanceChanged" handler into the stack script to the example code from the dictionary:
It works when I start up the stack. This seems to hold if the sample stack is opened as the last/only stack.
As soon as I create a new stack the stack script does not work anymore.
"systemAppearance" always reported the correct setting. (I made a script that queries "systemAppearance" every second and it always returned the correct setting.)
I came up with the idea to trap the "systemAppearanceChanged" message in a front script and that worked regardless of newer open stacks or not.
On mobile you probably have only one stack and there is nothing to interfere. (just a guess)
For the specifics of your stack one probably would have to adjust this.
Kind regards
Bernd
I tried to recreate the problem you describe.
What I found is when I put an "systemAppearanceChanged" handler into the stack script to the example code from the dictionary:
Code: Select all
on systemAppearanceChanged
local tName
put the short name of the owner of the owner of me into tName ## this is a button script
if the systemAppearance is "dark" then
set the backColor of stack tName to "black"
set the foreColor of stack tName to "white"
else
set the backColor of stack tName to "white"
set the foreColor of stack tName to "black"
end if
pass systemAppearanceChanged
end systemAppearanceChanged
As soon as I create a new stack the stack script does not work anymore.
"systemAppearance" always reported the correct setting. (I made a script that queries "systemAppearance" every second and it always returned the correct setting.)
I came up with the idea to trap the "systemAppearanceChanged" message in a front script and that worked regardless of newer open stacks or not.
On mobile you probably have only one stack and there is nothing to interfere. (just a guess)
For the specifics of your stack one probably would have to adjust this.
Kind regards
Bernd
- Attachments
-
- SystemAppearanceButtonIntoFront.livecode.zip
- (1.12 KiB) Downloaded 352 times
Re: LiveCode 10.0.1 rc-1
Hi Bernd,
Thanks for your testing and letting me know what you get. It's certainly a weird one. It is consistently intermittently failing, so I'm not sure what's going on apart from suspecting it's a bug.
In my stack I have an on systemAppearanceChanged handler that dispatches setCardTheme to the active card. The setCardTheme handler queries systemAppearance to see if it's light or dark and then sets the colour palette for the card accordingly. It's this check of the systemAppearance that's returning an empty value from time to time... but only in the IDE. I suspect it will work flawlessly when deployed to iOS or Android. As mentioned in my original post, it works fine all the time in 9.6.13 IDE but intermittently fails in 10.0.1 rc-1 IDE. It's not a show stopper if you know about it as you can fudge it in testing to make sure the colour switching works.
Thanks again for your insight and pointers though.
Al.
Thanks for your testing and letting me know what you get. It's certainly a weird one. It is consistently intermittently failing, so I'm not sure what's going on apart from suspecting it's a bug.
In my stack I have an on systemAppearanceChanged handler that dispatches setCardTheme to the active card. The setCardTheme handler queries systemAppearance to see if it's light or dark and then sets the colour palette for the card accordingly. It's this check of the systemAppearance that's returning an empty value from time to time... but only in the IDE. I suspect it will work flawlessly when deployed to iOS or Android. As mentioned in my original post, it works fine all the time in 9.6.13 IDE but intermittently fails in 10.0.1 rc-1 IDE. It's not a show stopper if you know about it as you can fudge it in testing to make sure the colour switching works.
Thanks again for your insight and pointers though.
Al.
Re: LiveCode 10.0.1 rc-1
Hi Al,
Sorry to hear that. Maybe you can track this down,
I made a small stack that checks for systemAppearence every second and counts if systemAppearence does not report a value.
this is the script of a button in a stack with two fields (name them as in the script of the button.
It works for me in 10.0.1 RC without a hitch.
Maybe you can let it just run along with your other stacks in the IDE.
Kind regards
Bernd
Sorry to hear that. Maybe you can track this down,
I made a small stack that checks for systemAppearence every second and counts if systemAppearence does not report a value.
this is the script of a button in a stack with two fields (name them as in the script of the button.
Code: Select all
local sCheck
on mouseUp
if sCheck then
put false into sCheck
else
put 0 into field "fCountFailures"
put true into sCheck
checksystemAppearance
end if
end mouseUp
on checksystemAppearance
local tAppearance, tBackClr
if not sCheck then exit checksystemAppearance
put the systemAppearance into tAppearance
put tAppearance && the long time into field "fAppearance"
if tAppearance is empty then
beep
add 1 to word 1 of field "fCountFailures"
end if
send "checksystemAppearance" to me in 1000 millisecond
end checksystemAppearance
Maybe you can let it just run along with your other stacks in the IDE.
Kind regards
Bernd