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