Xojo and macOS10.14 findings

  1. ‹ Older
  2. 5 months ago

    Christoph D

    Jun 6 Pre-Release Testers, Xojo Pro
    Edited 5 months ago

    @Tim J I've now started using 2 listboxes to make one. Neither has a header, and the first IS the header for the main listbox.

    Ha yes, again we need to use tricks to make it (kinda) work. But honestly, I dislike non-native looks. Especially for macOS. macOS users don't like non-native stuff (and they are right not to).

  3. Emile S

    Jun 6 Europe (France, Strasbourg)

    @Christoph Dnbsp;Vocht Listbox has a lot of problems

    It have a lot of problems already… and Xojo do not had time to remove them !

  4. Thom M

    Jun 6 Pre-Release Testers Greater Hartford Area, CT

    @Tim J Because the resulting gradient is different on the three platforms when I used a canvas.

    That's... odd.

  5. Dave S

    Jun 6 San Diego, California USA

    I posted code for a self-synchronizing listbox header that is canvas based.... it would take some modification to be "dark-mode" but a quick search should find the link to the source code I posted... (not where I can find it at the moment)

  6. Alberto D

    Jun 6 Pre-Release Testers, Xojo Pro
    Edited 5 months ago

    @Dave S I posted code for a self-synchronizing listbox header that is canvas based.... it would take some modification to be "dark-mode" but a quick search should find the link to the source code I posted... (not where I can find it at the moment)

    This? https://forum.xojo.com/43864-custom-listbox-header/

  7. Sam R

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

    @Christoph Dnbsp;Vocht The text color is not adapted when turning the Dark Mode on. (yes, I turned on Darkmode with the declares Sam provided).

    I've already written code to fix this.

    @Christoph Dnbsp;Vocht - Many controls do not display the 'dark' type version. It just displays the 'default' (yes, I turned on Darkmode with the declares Sam provided).

    Which ones?

    @Christoph Dnbsp;Vocht - The Xojo UI has all sort of glitches (probably because they are custom and not native.

    I think I can fix that too.

    @Christoph Dnbsp;Vocht BTW Appwrapper 3 still works. So 32bit apps seems to be allowed. At least for this beta. :)

    They said it would last year, just that 10.13 was the last OS to support 32-Bit apps unhindered. Then they went and pulled that stunt by freighting casual users who opened 32-Bit apps.

    btw, I have an alpha version of App Wrapper 64-Bit, I've been using it, but I would like it to have a bit more testing before it goes public, due to the colossal amount of declares in there.

  8. 4 months ago
    Edited 4 months ago

    I had a look through Apple's guide for making an app Dark Mode ready and it says to add NSRequiresAquaSystemAppearance NO to the info Plist file to properly support dark mode on apps built with 'older' SDKs.

    So by simply adding a build script with the following to my Mac build it enabled dark mode which works for most things.
    It even supports the new appearance settings allowing the default colour to be changed from blue to others (I have it set to orange).

    Dim App As String = CurrentBuildLocation + "/""" + CurrentBuildAppName + ".app"""
    Call DoShellCommand("/usr/bin/defaults write " + App + "/Contents/Info 'NSRequiresAquaSystemAppearance' 'NO'")

    The UI in the Xojo editor
    -image-

    And when running
    -image-

    The only things I can see that don't adapt correctly are the TextField, TextArea, Bezel button and Listbox but I don't know if they're even supposed to adapt...
    But both of those can be fixed via custom drawing on the listbox and just setting the background and font colour on the text field and area. And just don't use bezel buttons :P

  9. Edited 4 months ago

    I added the option to the Xojo IDE's plist and this is what happened :D
    -image-

    Nearly there, interesting to see all the custom controls.

  10. Tim P

    Jul 3 Pre-Release Testers feedback://46303,51561

    I would hope Xojo focuses on fixing bugs rather than creating a dark mode interface. Dark mode interface for Xojo is literally lowest priority for me with all of the other issues Xojo is facing.

  11. @Tim P I would hope Xojo focuses on fixing bugs rather than creating a dark mode interface. Dark mode interface for Xojo is literally lowest priority for me with all of the other issues Xojo is facing.

    I agree that the Xojo IDE does not need a dark mode and would not want them to focus on it rather than fixing bugs.
    However with dark mode being one of the main features of MacOS 10.14 it is nice to know that our apps built with Xojo can support it with relative ease.

  12. Jeff T

    Jul 3 Midlands of England, Europe

    one of the main features of MacOS 10.14

    If that's a main feature, Apple are in trouble.

  13. Beatrix W

    Jul 3 Pre-Release Testers Europe (Germany)

    Unfortunately, Gilles is correct with Dark Mode being one of the major features of Mojave. Oh, and the death of non-Retina screens. And the death of non-transparency. I still think that all Apple developers are 20-somethings with perfect eyesight.

  14. Tim S

    Jul 3 Canterbury, UK

    @Tim P I would hope Xojo focuses on fixing bugs rather than creating a dark mode interface. Dark mode interface for Xojo is literally lowest priority for me with all of the other issues Xojo is facing.

    +1

    It's definitely fiddling while Rome burns.

  15. Tim S

    Jul 3 Canterbury, UK

    @Beatrix W Oh, and the death of non-Retina screens.

    What does this mean?

  16. Beatrix W

    Jul 3 Pre-Release Testers Europe (Germany)

    @Tim Streater: I meant the "improvements" in regards to subpixel antialiasing. Try any random QT app. Like Kindle, Calibre, Valentina Studio etc. Totally absolutely unusable on Mojave.

  17. Sam R

    Jul 3 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    Two days until the next xDev, which has an article about how to prepare your application for Mojave's new dark mode.

  18. Beatrix W

    Jul 3 Pre-Release Testers Europe (Germany)

    @Sam R : xDev has already arrived in my inbox.

  19. Ulrich B

    Jul 4 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...
    Edited 4 months ago

    @Giles A The only things I can see that don't adapt correctly are the TextField, TextArea, Bezel button and Listbox but I don't know if they're even supposed to adapt...

    When you introspect these controls on their Mac side, you’ll find that there is a XOJTextField and a XOJTextView class, so they are basically native controls and should adapt to Dark Mode. But the TextFieldCell’s drawWithFrame:inView: method is overwritten, so that’s probably the place where the engineers could fix the behavior.

    Labels could simply stay black because of their TextColor property being black usually. I think it would be best to address NSColor’s TextColor "constant" instead.

    The only bigger deviations are obviously the Listbox and the BevelButton which are built on a view subclass. Again, the drawing routines should be changeable to use the system colors instead of default black and white.

    Funny aspect: The Listbox headers under Mojave Beta are semi-transparent in a screenshot. They are pitch black on screen.

    -image-

  20. Christoph D

    Jul 4 Pre-Release Testers, Xojo Pro

    @Sam R Two days until the next xDev, which has an article about how to prepare your application for Mojave's new dark mode.

    Sadly such info should be provided for free by Xojo Inc.

  21. 3 months ago

    Thomas T

    Jul 11 Pre-Release Testers, Xojo Pro Europe (Germany, Munich)
    Edited 3 months ago

    As a reminder: For those of you needing a quick fix for the Listbox header problem, and provided you also have a MBS plugins license, you can find a Listbox replacement class in the examples, called "ListboxTV", which uses the native NSTableView class and simulates most of the Xojo Listbox on top of it.

    I know Beatrix uses it successfully in a commercial app of hers, and I do, too.

    And it even adds some new features that the Xojo Listbox does not offer, such as on-demand data provision for the rows, so that if you have 10000s of rows, you do not have to pre-fill them but only fill the ones that are currently showing. Can lead to great performance improvements.

or Sign Up to reply!