MacOS Dark Mode

  1. ‹ Older
  2. 2 weeks ago

    Douglas H

    Jun 11 Pre-Release Testers

    And I remember working on client IBM System/32 machines in the 70's where the entire machine had 16KB of memory, of which user programs were allowed up to 14K and the *entire operating system* ran in 2K! Though file buffers had to reside within the application 14K limit. And many clients had total disk space of 5.1MB -- which included the OS too. "Large" systems had 13.8MB of disk. One sided 8" diskettes used for backups held around 160K each. And we were elated compared to the S/3 alternatives...

  3. Sam R

    Jun 11 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    Okay, so lets clear up a couple of things here.

    1. Dark Mode has been available since 10.10, it's a developer choice. I've written about it a couple of times in xDevMag and my own Retina Kit will help you get there. http://ohanaware.com/retinakit/ To see some examples.

    2. For icons, you don't colorize them yourself. You supply the system a grayscale image with alpha and it will colorize them to match. My early tests with Mojav, show not only the Dark Interface being quite different to the one before, but some of the colors are different. So if you colorize yourself, you're going to have to use different constants, especially as some of the colors are 'magic' colors and cannot be correctly rasterized into Xojo colors.

    3. For a while I've been working on Retina Kit 4, trying to improve how it works with Xojo, over the next few weeks I am adapting the newer code into a "macOS Theme Kit", which will make it a lot easier for Xojo developers to 'theme' their apps using as much system control as possible, i.e. to be the most compatible.

    4. Try using ICNS mini to compress macOS icons. https://itunes.apple.com/us/app/icnsmini-shrink-png-icns-iconsets-tifs-icos/id1035260885?mt=12 I will have a 64-Bit version ready later on this year.

    5. The version of the macOS Theme Kit I'm working on already features support for system colors, in theory you use these colors to build custom interfaces. However they do NOT match actual system controls in any interface, some of them are close and yet some are so far away it's almost comical that Apple expects 3rd party developers to use these to make custom controls, knowing that it means custom controls will never be exact matches.

  4. Tim J

    Jun 11 Pre-Release Testers, Xojo Pro Phoenix, AZ USA (desication ce...
    Edited 2 weeks ago

    @Jeremie L Well that looks really ugly
    -image-

    (Is that the new Finder look? - I haven't poked into it just yet.)

    I disagree (unless you were being tongue-in-cheek). If you just fix the header and footer of the ListBox to support a darkened environment, that would be right at home on my system when I'm editing.

  5. Sam R

    Jun 11 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Tim J (Is that the new Finder look? - I haven't poked into it just yet.)

    Nope. It's the older Finder that's modified to be dark. The new Finder has the "Windows Explorer Image Viewer" instead of "Coverflow".

  6. Tim J

    Jun 11 Pre-Release Testers, Xojo Pro Phoenix, AZ USA (desication ce...
    Edited 2 weeks ago

    On topic - Dark Mode is important to those who need it, However, it is optional - just like HiDPI/Retina. It's your choice to support it or not, but I suspect that NOT supporting it will definitely keep you off of the MAS.

    @Dave S But the good side is, today memory is cheap.... I remember in 1973, paying (well having a client pay) $895.00 for 4k of memory, and Hard Disk space cost well over $1.00 per MB

    Or ~$2,000/MB for the 1.6MW (Megaword - around 2.4MB) RK05 for a PDP-8 - around $10K+ $100/mon for maintenance. It would also walk across the room if the pack became unbalanced.

  7. Thom M

    Jun 11 Pre-Release Testers Greater Hartford Area, CT

    @Tim J On topic - Dark Mode is important to those who need it, However, it is optional - just like HiDPI/Retina. It's your choice to support it or not, but I suspect that NOT supporting it will definitely keep you off of the MAS.

    This is exactly it. As a consumer, I don’t care how you feel about dark mode, I care how I feel about dark mode. If I want it, your competitor has it, and you don’t, I’m going to your competitor.

  8. Sam R

    Jun 11 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan
    Edited 2 weeks ago

    @Tim J On topic - Dark Mode is important to those who need it, However, it is optional - just like HiDPI/Retina. It's your choice to support it or not, but I suspect that NOT supporting it will definitely keep you off of the MAS.

    I don't think it will prevent your application from being on the App Store, but Apple will certainly not consider your application for promotion if you don't (if you can get your application promoted, that's how you can make money on the App Store).

    Some users might get upset, but I suspect that the majority of users won't even know where to turn on dark mode.

  9. Beatrix W

    Jun 11 Pre-Release Testers Europe (Germany)

    Customers are being teased with articles like https://appleinsider.com/articles/18/06/06/hands-on-with-dark-mode-in-macos-mojave . They have heard that Dark Mode is the new "place to be". They will expect it. Doesn't matter if they use it or not.

  10. Tim J

    Jun 11 Pre-Release Testers, Xojo Pro Phoenix, AZ USA (desication ce...

    I really suspect that they will since I have a tool that I tried to push to the MAS and it was rejected because my StatusBar icon didn't support the current "Use dark menu bar and dock" setting.

  11. Sam R

    Jun 11 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Tim J I really suspect that they will since I have a tool that I tried to push to the MAS and it was rejected because my StatusBar icon didn't support the current "Use dark menu bar and dock" setting.

    Hmm... I can kinda understand that; Apple have provided some documents on how to unsubscribe from Dark Mode, it it's not suitable for your application, so I do beleive that not supporting it isn't going to be a problem.

    Did you get it resolved btw? If not and you need some help, let me know.

  12. Tim J

    Jun 11 Pre-Release Testers, Xojo Pro Phoenix, AZ USA (desication ce...

    @Sam R Did you get it resolved btw? If not and you need some help, let me know.

    Yes - Christian has a check for it. I just needed the proper icon support.

    Now I just need to get off my backside and resubmit it.

  13. @Tim J

    I tried to push to the MAS and it was rejected because my StatusBar icon didn't support the current "Use dark menu bar and dock" setting.

    Well, last week I submitted new versions of two apps of mine that make use of StatusBar with several icons; but the reviewer did not say anything. In a few hours both the apps were "ready for sell".

    BTW, the two apps are still 32bit and for the StatusBar I use of macoslib.
    As for the icons, they are just plain .png; and I apply them directly from the Resource folder of the app, something like:
    myStatusItem.image = picture.open(f)
    where f is the pictureFile in the Resources folder.

    I wonder if I was just lucky.

  14. Sam R

    Jun 12 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Carlo Rubini I wonder if I was just lucky.

    That you were!

  15. last week

    @Thom M #if TargetMacOS
    Declare Function NSClassFromString Lib "Foundation" (ClassName As CFStringRef) As Integer
    Declare Function NSSelectorFromString Lib "Cocoa" (SelectorName As CFStringRef) As Ptr
    Declare Function RespondsToSelector Lib "Cocoa" Selector "respondsToSelector:" (Target As Integer, SelectorRef As Ptr) As Boolean
    Declare Function SharedApplication Lib "Foundation" Selector "sharedApplication" (Target As Integer) As Integer

    Dim SharedApp As Integer = SharedApplication(NSClassFromString("NSApplication"))
    If RespondsToSelector(SharedApp, NSSelectorFromString("setAppearance:")) Then
    Declare Function StandardUserDefaults Lib "Foundation" Selector "standardUserDefaults" (Target As Integer) As Integer
    Declare Function StringForKey Lib "Foundation" Selector "stringForKey:" (Target As Integer, Key As CFStringRef) As CFStringRef
    Declare Sub SetAppearance Lib "Foundation" Selector "setAppearance:" (Target As Integer, AppearanceRef As Integer)

    Dim Mode As String = StringForKey(StandardUserDefaults(NSClassFromString("NSUserDefaults")), "AppleInterfaceStyle")
    Dim DesiredAppearance As Integer
    If Mode = "Dark" Then
    Declare Function NSAppearanceNamed Lib "Foundation" Selector "appearanceNamed:" (Target As Integer, Name As CFStringRef) As Integer
    DesiredAppearance = NSAppearanceNamed(NSClassFromString("NSAppearance"), "NSAppearanceNameDarkAqua")
    End If
    SetAppearance(SharedApp, DesiredAppearance)
    End If
    #endif

    But only Darks the window, not the controls, I tried to put on the Open Event's App.

  16. And what about the Darkmode for XOJO, not for apps developed in Xojo.
    I mean that Mojave's mode its quite good thinked about us, all the coders that develop 24hours a day, and at the end of the day ends with our eyes fried like KFC chicken :D

  17. Beatrix W

    Jun 14 Pre-Release Testers Europe (Germany)

    Nice tip from AppleInsider (https://appleinsider.com/articles/18/06/14/how-to-toggle-dark-mode-with-a-keyboard-shortcut-or-the-touch-bar ) how to toggle dark mode without going to System Preferences. They do a video and Automator. Us developers just need the core which is an AppleScript:

    tell application "System Events"
    	tell appearance preferences
    		set dark mode to not dark mode
    	end tell
    end tell
  18. Sam R

    Jun 14 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Beatrix W Nice tip from AppleInsider (https://appleinsider.com/articles/18/06/14/how-to-toggle-dark-mode-with-a-keyboard-shortcut-or-the-touch-bar ) how to toggle dark mode without going to System Preferences. They do a video and Automator. Us developers just need the core which is an AppleScript:

    Don't use this in an application you intend to ship on the Mac App Store, it will get rejected for attempting to script "System Preferences"

  19. Beatrix W

    Jun 14 Pre-Release Testers Europe (Germany)

    That's not for an application but for us developers when testing.

  20. 3 days ago

    Thom M

    Jun 19 Pre-Release Testers Greater Hartford Area, CT

    Just promoting the Feedback case for this. For some users, this will be a big deal, so we should make our voices heard by Xojo as best as we can. Feedback Case #52391

  21. Sam R

    Jun 19 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    All I can say at this point is to check out the upcoming edition of xDevMag :)

or Sign Up to reply!