I have objective C code to detect dark mode to change the status bar:
[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(darkModeChanged:) name:@"AppleInterfaceThemeChangedNotification" object:nil];
Similarly, how can we do the same in python?
Try these following lines wherever you want to detect the mode (dark mode or light mode).
In python
os
module may come in handy to detect the mode.Basically, we use python to access and run terminal command to find
AppleInterfaceStyle
property in default settings.I don't know if you can do this directly from within python. But at least you can invoke the terminal command
defaults read -g AppleInterfaceStyle
.Currently its behavior is like this: If its exit code is 0, it reports "dark mode". If it is 1 (error), you can assume light mode. This isn't very clean in my opinion, but it works and is used successfully from a Java program.
How to spawn a new process from within python is a different question, which has already been answered.