Mercurial > minori
view src/sys/osx/dark_theme.mm @ 38:1a34fd7469b9
ci/osx: take a different approach
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Fri, 22 Sep 2023 09:29:20 -0400 |
parents | cde8f67a7c7d |
children | 6d8da6e64d61 |
line wrap: on
line source
#include "sys/osx/dark_theme.h" #import <Cocoa/Cocoa.h> namespace osx { bool DarkThemeAvailable() { if (@available(macOS 10.14, *)) return true; else return false; } bool IsInDarkTheme() { if (@available(macOS 10.14, *)) { auto appearance = [NSApp.effectiveAppearance bestMatchFromAppearancesWithNames:@[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]]; return [appearance isEqualToString:NSAppearanceNameDarkAqua]; } return false; } void SetToDarkTheme() { // https://stackoverflow.com/questions/55925862/how-can-i-set-my-os-x-application-theme-in-code if (@available(macOS 10.14, *)) { [NSApp setAppearance:[NSAppearance appearanceNamed:NSAppearanceNameDarkAqua]]; } } void SetToLightTheme() { // https://stackoverflow.com/questions/55925862/how-can-i-set-my-os-x-application-theme-in-code if (__builtin_available(macOS 10.14, *)) { [NSApp setAppearance:[NSAppearance appearanceNamed:NSAppearanceNameAqua]]; } } void SetToAutoTheme() { if (@available(macOS 10.14, *)) { [NSApp setAppearance:nil]; } } } // namespace osx