wxWidgets does not support Dark Mode on OSX Mojave
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
New
|
Undecided
|
Unassigned |
Bug Description
I am currently running OSX 10.14 in dark mode. When running in Dark Mode, many of the dialogs do not render correctly. Typically it is some form of white text on a light grey background which makes it hard to read. (A pain in the butt actually).
This can be replicated 100% by starting KiCad and opening any of the "Preferences" dialogues.
This has been discussed (along with an example image) in the user forums on the KiCad website at https:/
A web search revealed that this is a bug in wxWindows and they are working to find a solution. A link to the relevant discussion is at https:/
I think that a possible good temporary way to move forward is to force KiCad to not use the Dark Mode until wxWidgets figures out the fix. This can be accomplished by editing the /Applications/
Info.plist file with added correction
-------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://
<plist version="1.0">
<dict>
<key>
<array>
<dict>
</dict>
</array>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
<key>
</dict>
</plist>
-------
I would just make a pull request for the change as it is a 1-liner, but I just do not know bzr and figured this would be a bit easier.
Version Information from KiCad:
-------
Application: kicad
Version: (5.0.1-
Libraries:
wxWidgets 3.0.4
libcurl/7.54.0 LibreSSL/2.6.4 zlib/1.2.11 nghttp2/1.24.1
Platform: Mac OS X (Darwin 18.0.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
wxWidgets: 3.0.4 (UTF-8,STL containers,
Boost: 1.67.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.54.0
Compiler: Clang 10.0.0 with C++ ABI 1002
Build settings:
USE_
USE_
KICAD_
KICAD_
KICAD_
KICAD_
BUILD_
KICAD_
KICAD_
KICAD_SPICE=ON
Oops. Sorry I missed the original bug. I still think the source should be patched to make the suggested fix default till wxWidgets figures out what they are going to do.