Revision: 13753
          http://sourceforge.net/p/skim-app/code/13753
Author:   hofman
Date:     2023-11-12 18:03:24 +0000 (Sun, 12 Nov 2023)
Log Message:
-----------
always check dark appearance on NSApp

Modified Paths:
--------------
    trunk/NSGraphics_SKExtensions.h
    trunk/NSGraphics_SKExtensions.m
    trunk/PDFView_SKExtensions.m
    trunk/SKColorSwatch.m
    trunk/SKDisplayPreferences.m
    trunk/SKDisplayPrefs.m

Modified: trunk/NSGraphics_SKExtensions.h
===================================================================
--- trunk/NSGraphics_SKExtensions.h     2023-11-12 17:55:01 UTC (rev 13752)
+++ trunk/NSGraphics_SKExtensions.h     2023-11-12 18:03:24 UTC (rev 13753)
@@ -38,7 +38,7 @@
 
 #import <Cocoa/Cocoa.h>
 
-extern BOOL SKHasDarkAppearance(id object);
+extern BOOL SKHasDarkAppearance(void);
 
 extern void SKRunWithAppearance(id object, void (^code)(void));
 extern void SKRunWithLightAppearance(void (^code)(void));

Modified: trunk/NSGraphics_SKExtensions.m
===================================================================
--- trunk/NSGraphics_SKExtensions.m     2023-11-12 17:55:01 UTC (rev 13752)
+++ trunk/NSGraphics_SKExtensions.m     2023-11-12 18:03:24 UTC (rev 13753)
@@ -57,15 +57,9 @@
 
 #endif
 
-BOOL SKHasDarkAppearance(id object) {
-    if (@available(macOS 10.14, *)) {
-        id appearance = nil;
-        if (object == nil)
-            appearance = [NSAppearance currentAppearance];
-        else if ([object respondsToSelector:@selector(effectiveAppearance)])
-            appearance = [(id<NSAppearanceCustomization>)object 
effectiveAppearance];
-        return [[appearance 
bestMatchFromAppearancesWithNames:@[NSAppearanceNameAqua, 
NSAppearanceNameDarkAqua]] isEqualToString:NSAppearanceNameDarkAqua];
-    }
+BOOL SKHasDarkAppearance() {
+    if (@available(macOS 10.14, *))
+        return [[[NSApp effectiveAppearance] 
bestMatchFromAppearancesWithNames:@[NSAppearanceNameAqua, 
NSAppearanceNameDarkAqua]] isEqualToString:NSAppearanceNameDarkAqua];
     return NO;
 }
 
@@ -187,7 +181,7 @@
         if ((filter = [CIFilter filterWithName:@"CIWhitePointAdjust" 
keysAndValues:@"inputColor", [[[CIColor alloc] initWithColor:white] 
autorelease], nil]))
             [filters addObject:filter];
     }
-    if (SKHasDarkAppearance(NSApp) && [[NSUserDefaults standardUserDefaults] 
boolForKey:SKInvertColorsInDarkModeKey]) {
+    if (SKHasDarkAppearance() && [[NSUserDefaults standardUserDefaults] 
boolForKey:SKInvertColorsInDarkModeKey]) {
         // map the white page background to 45/255, or 30/255 with high 
contrast
         CGFloat f = [[NSWorkspace sharedWorkspace] 
accessibilityDisplayShouldIncreaseContrast] ? 1.9337 : 1.8972;
         // This is like CIColorInvert + CIHueAdjust, modified to map white to 
dark gray rather than black

Modified: trunk/PDFView_SKExtensions.m
===================================================================
--- trunk/PDFView_SKExtensions.m        2023-11-12 17:55:01 UTC (rev 13752)
+++ trunk/PDFView_SKExtensions.m        2023-11-12 18:03:24 UTC (rev 13753)
@@ -323,7 +323,7 @@
 
 static NSColor *defaultBackgroundColor(NSString *backgroundColorKey, NSString 
*darkBackgroundColorKey) {
     NSColor *color = nil;
-    if (SKHasDarkAppearance(NSApp))
+    if (SKHasDarkAppearance())
         color = [[NSUserDefaults standardUserDefaults] 
colorForKey:darkBackgroundColorKey];
     if (color == nil)
         color = [[NSUserDefaults standardUserDefaults] 
colorForKey:backgroundColorKey];

Modified: trunk/SKColorSwatch.m
===================================================================
--- trunk/SKColorSwatch.m       2023-11-12 17:55:01 UTC (rev 13752)
+++ trunk/SKColorSwatch.m       2023-11-12 18:03:24 UTC (rev 13753)
@@ -1002,7 +1002,7 @@
         [[NSBezierPath bezierPathWithRoundedRect:rect xRadius:r yRadius:r] 
addClip];
         [aColor drawSwatchInRect:rect];
         
-        if (SKHasDarkAppearance(self)) {
+        if (SKHasDarkAppearance()) {
             [[NSColor colorWithGenericGamma22White:1.0 alpha:stroke] 
setStroke];
             [[NSGraphicsContext currentContext] 
setCompositingOperation:NSCompositingOperationScreen];
         } else {

Modified: trunk/SKDisplayPreferences.m
===================================================================
--- trunk/SKDisplayPreferences.m        2023-11-12 17:55:01 UTC (rev 13752)
+++ trunk/SKDisplayPreferences.m        2023-11-12 18:03:24 UTC (rev 13753)
@@ -134,7 +134,7 @@
 #pragma mark Actions
 
 - (IBAction)changeBackgroundColor:(id)sender {
-    NSString *key = SKHasDarkAppearance(NSApp) ? SKDarkBackgroundColorKey : 
SKBackgroundColorKey;
+    NSString *key = SKHasDarkAppearance() ? SKDarkBackgroundColorKey : 
SKBackgroundColorKey;
     changingColors = YES;
     [[NSUserDefaults standardUserDefaults] setColor:[sender color] forKey:key];
     changingColors = YES;
@@ -141,7 +141,7 @@
 }
 
 - (IBAction)changeFullScreenBackgroundColor:(id)sender{
-    NSString *key = SKHasDarkAppearance(NSApp) ? 
SKDarkFullScreenBackgroundColorKey : SKFullScreenBackgroundColorKey;
+    NSString *key = SKHasDarkAppearance() ? SKDarkFullScreenBackgroundColorKey 
: SKFullScreenBackgroundColorKey;
     changingColors = YES;
     [[NSUserDefaults standardUserDefaults] setColor:[sender color] forKey:key];
     changingColors = NO;
@@ -180,7 +180,7 @@
     NSColor *color = nil;
     NSColor *fsColor = nil;
     NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
-    if (SKHasDarkAppearance(NSApp)) {
+    if (SKHasDarkAppearance()) {
         color = [sud colorForKey:SKDarkBackgroundColorKey];
         fsColor = [sud colorForKey:SKDarkFullScreenBackgroundColorKey];
     }

Modified: trunk/SKDisplayPrefs.m
===================================================================
--- trunk/SKDisplayPrefs.m      2023-11-12 17:55:01 UTC (rev 13752)
+++ trunk/SKDisplayPrefs.m      2023-11-12 18:03:24 UTC (rev 13753)
@@ -91,7 +91,7 @@
 
 - (NSColor *)backgroundColor {
     NSColor *backgroundColor = nil;
-    if (SKHasDarkAppearance(NSApp))
+    if (SKHasDarkAppearance())
         backgroundColor = [[NSUserDefaults standardUserDefaults] 
colorForKey:fullScreen ? SKDarkFullScreenBackgroundColorKey : 
SKDarkBackgroundColorKey];
     if (backgroundColor == nil)
         backgroundColor = [[NSUserDefaults standardUserDefaults] 
colorForKey:fullScreen ? SKFullScreenBackgroundColorKey : SKBackgroundColorKey];
@@ -99,7 +99,7 @@
 }
 
 - (void)setBackgroundColor:(NSColor *)color {
-    if (SKHasDarkAppearance(NSApp))
+    if (SKHasDarkAppearance())
         [[NSUserDefaults standardUserDefaults] setColor:color 
forKey:fullScreen ? SKDarkFullScreenBackgroundColorKey : 
SKDarkBackgroundColorKey];
     else
         [[NSUserDefaults standardUserDefaults] setColor:color 
forKey:fullScreen ? SKFullScreenBackgroundColorKey : SKBackgroundColorKey];

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to