mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2025-02-20 11:43:27 +08:00
Brightness (macOS): display monitor names
This commit is contained in:
parent
ef9b5c57b1
commit
78cb2781e6
@ -698,17 +698,18 @@ endif()
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(libfastfetch
|
||||
PRIVATE "-framework Cocoa"
|
||||
PRIVATE "-framework CoreFoundation"
|
||||
PRIVATE "-framework CoreAudio"
|
||||
PRIVATE "-framework CoreVideo"
|
||||
PRIVATE "-framework CoreWLAN"
|
||||
PRIVATE "-framework IOBluetooth"
|
||||
PRIVATE "-framework IOKit"
|
||||
PRIVATE "-framework OpenGL"
|
||||
PRIVATE "-framework OpenCL"
|
||||
PRIVATE "-framework Cocoa"
|
||||
PRIVATE "-framework CoreWLAN"
|
||||
PRIVATE "-framework CoreAudio"
|
||||
PRIVATE "-framework CoreVideo"
|
||||
PRIVATE "-framework IOBluetooth"
|
||||
PRIVATE "-weak_framework MediaRemote -F /System/Library/PrivateFrameworks"
|
||||
PRIVATE "-weak_framework CoreDisplay"
|
||||
PRIVATE "-weak_framework DisplayServices -F /System/Library/PrivateFrameworks"
|
||||
PRIVATE "-weak_framework MediaRemote -F /System/Library/PrivateFrameworks"
|
||||
)
|
||||
elseif(WIN32)
|
||||
target_compile_definitions(libfastfetch PRIVATE -D_WIN32_WINNT=0x0601)
|
||||
|
@ -1,8 +1,10 @@
|
||||
#include "brightness.h"
|
||||
#include "util/apple/cf_helpers.h"
|
||||
|
||||
#include <CoreGraphics/CoreGraphics.h>
|
||||
|
||||
extern int DisplayServicesGetBrightness(CGDirectDisplayID display, float *brightness) __attribute__((weak_import));
|
||||
extern CFDictionaryRef CoreDisplay_DisplayCreateInfoDictionary(CGDirectDisplayID display) __attribute__((weak_import));
|
||||
|
||||
const char* ffDetectBrightness(FFlist* result)
|
||||
{
|
||||
@ -22,11 +24,27 @@ const char* ffDetectBrightness(FFlist* result)
|
||||
continue;
|
||||
|
||||
FFBrightnessResult* display = (FFBrightnessResult*) ffListAdd(result);
|
||||
if(CGDisplayIsBuiltin(screen))
|
||||
ffStrbufInitS(&display->name, "built-in");
|
||||
else
|
||||
ffStrbufInitF(&display->name, "external-%u", (unsigned) screen);
|
||||
display->value = brightness * 100;
|
||||
ffStrbufInit(&display->name);
|
||||
|
||||
if(CoreDisplay_DisplayCreateInfoDictionary)
|
||||
{
|
||||
CFDictionaryRef FF_CFTYPE_AUTO_RELEASE displayInfo = CoreDisplay_DisplayCreateInfoDictionary(screen);
|
||||
if(displayInfo)
|
||||
{
|
||||
CFDictionaryRef productNames;
|
||||
if(!ffCfDictGetDict(displayInfo, CFSTR(kDisplayProductName), &productNames))
|
||||
{
|
||||
if(!ffCfDictGetString(productNames, CFSTR("en_US"), &display->name))
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(CGDisplayIsBuiltin(screen))
|
||||
ffStrbufAppendS(&display->name, "built-in");
|
||||
else
|
||||
ffStrbufAppendF(&display->name, "external-%u", (unsigned) screen);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user