From 76424950e373d3b04ac3dd13019151bfba3e8423 Mon Sep 17 00:00:00 2001 From: sumuel Date: Mon, 17 Aug 2026 20:44:55 +0000 Subject: Add the files --- src/detection/wmtheme/wmtheme_apple.m | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/detection/wmtheme/wmtheme_apple.m (limited to 'src/detection/wmtheme/wmtheme_apple.m') diff --git a/src/detection/wmtheme/wmtheme_apple.m b/src/detection/wmtheme/wmtheme_apple.m new file mode 100644 index 0000000..8c43877 --- /dev/null +++ b/src/detection/wmtheme/wmtheme_apple.m @@ -0,0 +1,40 @@ +#include "fastfetch.h" +#include "wmtheme.h" + +#import + +bool ffDetectWmTheme(FFstrbuf* themeOrError) +{ + NSError* error; + NSString* fileName = [NSString stringWithFormat:@"file://%s/Library/Preferences/.GlobalPreferences.plist", instance.state.platform.homeDir.chars]; + NSDictionary* dict = [NSDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:fileName] + error:&error]; + if(error) + { + ffStrbufAppendS(themeOrError, error.localizedDescription.UTF8String); + return false; + } + + NSNumber* wmThemeColor = dict[@"AppleAccentColor"]; + if(!wmThemeColor) + ffStrbufAppendS(themeOrError, "Multicolor"); + else + { + switch(wmThemeColor.intValue) + { + case -1: ffStrbufAppendS(themeOrError, "Graphite"); break; + case 0: ffStrbufAppendS(themeOrError, "Red"); break; + case 1: ffStrbufAppendS(themeOrError, "Orange"); break; + case 2: ffStrbufAppendS(themeOrError, "Yellow"); break; + case 3: ffStrbufAppendS(themeOrError, "Green"); break; + case 4: ffStrbufAppendS(themeOrError, "Blue"); break; + case 5: ffStrbufAppendS(themeOrError, "Purple"); break; + case 6: ffStrbufAppendS(themeOrError, "Pink"); break; + default: ffStrbufAppendS(themeOrError, "Unknown"); break; + } + } + + NSString* wmTheme = dict[@"AppleInterfaceStyle"]; + ffStrbufAppendF(themeOrError, " (%s)", wmTheme ? wmTheme.UTF8String : "Light"); + return true; +} -- cgit v1.2.3