Mercurial > minori
view src/sys/osx/dark_theme.mm @ 64:fe719c109dbc
*: update
1. add media tracking ability, and it displays info on the `now playing` page
2. the `now playing` page now actually shows something
3. renamed every page class to be more accurate to what it is
4. ...
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Sun, 01 Oct 2023 23:15:43 -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