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