mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-31 10:02:49 +01:00
d0f093c567
As discussed in https://github.com/fastfetch-cli/fastfetch/discussions/473
41 lines
1.5 KiB
Objective-C
41 lines
1.5 KiB
Objective-C
#include "fastfetch.h"
|
|
#include "wmtheme.h"
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
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 valueForKey:@"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 valueForKey:@"AppleInterfaceStyle"];
|
|
ffStrbufAppendF(themeOrError, " (%s)", wmTheme ? wmTheme.UTF8String : "Light");
|
|
return true;
|
|
}
|