Release 8.0 DP 14
Richard Gaskin
ambassador at fourthworld.com
Fri Feb 5 12:09:13 EST 2016
Peter Haworth wrote:
> I saw that this release includes "better desktop theming" for desktop
> apps, but should all my stacks be displayed with a grey background on
> OSX? I know I can override this but is that really the way native
> apps look on OSX? I'm having a hard time finding one that does.
You may be seeing controls that fill the content region of the window.
All OSes provide a default color and/or pattern for a window's content
region (the portion below the drag/title bar), and on Windows and Linux
LC did a good job of reading the current settings for the system and
drawing its windows with that color/pattern.
On OS X, for reasons I never quite understood, LC windows were always
drawn with a white content region, even as OS X itself used first a
series of ever-more-faint seersucker stripes and in recent years
returning to its NeXT roots with a set of grays (though thankfully much
lighter than NeXT's cool-but-heavy-feeling gun metal gray).
With document windows this background color may not be evident, as
controls may completely fill the content region. In TextEdit, for
example, the window is completely filled with an editable text field,
whose background is white.
But if we look at palettes, dialogs, and other windows we see the
default color - consider the examples on this page from Apple's OS X HIG:
<https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/WindowAppearanceBehavior.html#//apple_ref/doc/uid/20000957-CH33-SW1>
In older versions of LC we had to manually determine the preferred OS
background color, and add code to our apps that set the backgroundColor
of the mainstack to match on OS X, and set that to empty on Windows and
Linux so the OS-provided color would take effect.
This was even more problematic in earlier OS X versions since the
pinstripes kept changing with each OS version, requiring us to take a
screen shot and include an image of that which we could use to set the
mainstack's backgroundPattern.
Looking ahead, we can expect the OS-suggested colors and/or patterns to
change again in future versions, so even though it's a single color
today we have no way to know for sure that it won't be a pattern or even
just a different color in the future.
With LC 8,.0 dp14 and later this is now handled for us, where just
leaving the stack's backgroundColor and backgroundPattern empty will
allow it to inherit the OS-provided appearance for us automatically on
OS X as it has for years on the other two platforms.
They took this further to also support the default OS font as well.
Together, these enhancements make it easier to deliver OS-savvy
appearances to our users.
And as you noted, when you want a document window (or any other) to be
another color, you can do that too.
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the use-livecode
mailing list