diff --git a/Application/Resources/Platypus-Info.plist b/Application/Resources/Platypus-Info.plist
index a317cfeb..66395b7c 100644
--- a/Application/Resources/Platypus-Info.plist
+++ b/Application/Resources/Platypus-Info.plist
@@ -411,7 +411,7 @@
CFBundleSignature
????
CFBundleVersion
- 1256
+ 1257
LSApplicationCategoryType
public.app-category.developer-tools
LSMinimumSystemVersion
diff --git a/Application/Resources/Platypus.xib b/Application/Resources/Platypus.xib
index cf4144a4..6966b454 100644
--- a/Application/Resources/Platypus.xib
+++ b/Application/Resources/Platypus.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -48,7 +48,7 @@
-
+
@@ -57,7 +57,7 @@
-
+
@@ -88,7 +88,7 @@ DQ
-
+
@@ -101,7 +101,7 @@ DQ
-
+
@@ -110,7 +110,7 @@ DQ
-
+
@@ -119,7 +119,7 @@ DQ
-
+
@@ -161,7 +161,7 @@ DQ
-
+
@@ -170,7 +170,7 @@ DQ
-
+
@@ -179,7 +179,7 @@ DQ
-
+
@@ -188,7 +188,7 @@ DQ
-
+
@@ -197,7 +197,7 @@ DQ
-
+
@@ -265,7 +265,7 @@ DQ
-
+
@@ -274,7 +274,7 @@ DQ
-
+
@@ -337,7 +337,7 @@ DQ
-
+
@@ -346,7 +346,7 @@ DQ
-
+
@@ -426,7 +426,7 @@ DQ
-
+
@@ -472,7 +472,7 @@ DQ
-
+
@@ -534,7 +534,7 @@ DQ
-
+
@@ -1512,18 +1512,18 @@ DQ
-
+
-
+
-
+
-
+
@@ -1564,12 +1564,12 @@ DQ
-
+
-
+
@@ -1663,12 +1663,12 @@ DQ
-
+
-
+
@@ -1782,12 +1782,12 @@ DQ
-
+
-
+
@@ -1852,7 +1852,7 @@ DQ
-
+
@@ -1861,7 +1861,7 @@ DQ
-
+
@@ -1870,7 +1870,7 @@ DQ
-
+
@@ -2015,7 +2015,7 @@ DQ
-
+
@@ -2025,7 +2025,7 @@ DQ
-
+
@@ -2034,7 +2034,7 @@ DQ
-
+
@@ -2218,7 +2218,7 @@ DQ
-
+
@@ -2227,7 +2227,7 @@ DQ
-
+
@@ -2247,7 +2247,7 @@ DQ
-
+
@@ -2276,9 +2276,9 @@ DQ
-
+
-
+
@@ -2406,7 +2406,7 @@ DQ
-
+
@@ -2415,6 +2415,15 @@ DQ
+
+
+
+
+
+
+
+
+
@@ -2510,10 +2519,10 @@ DQ
-
+
-
+
@@ -2522,7 +2531,7 @@ DQ
-
+
@@ -2534,7 +2543,7 @@ DQ
-
+
@@ -2548,7 +2557,7 @@ DQ
-
+
@@ -2573,7 +2582,7 @@ DQ
-
+
@@ -2590,7 +2599,7 @@ DQ
-
-
+
+
-
-
+
+
diff --git a/Application/TextSettingsController.m b/Application/TextSettingsController.m
index d74a866f..2501569f 100644
--- a/Application/TextSettingsController.m
+++ b/Application/TextSettingsController.m
@@ -30,6 +30,7 @@
#import "TextSettingsController.h"
#import "Common.h"
+#import "NSColor+Inverted.h"
@interface TextSettingsController()
{
@@ -48,11 +49,21 @@ @implementation TextSettingsController
- (void)awakeFromNib {
[self setCurrentFont:[NSFont fontWithName:DEFAULT_TEXT_FONT_NAME size:DEFAULT_TEXT_FONT_SIZE]];
+ [self updateTextViewColor:self];
+
+// [NSDistributedNotificationCenter.defaultCenter addObserver:self
+// selector:@selector(themeChanged:) name:@"AppleInterfaceThemeChangedNotification"
+// object: nil];
+
+}
+
+- (void)themeChanged:(NSNotification *)notification {
+// [self updateTextViewColor:notification];
}
- (IBAction)show:(id)sender {
[parentWindow setTitle:[NSString stringWithFormat:@"%@ - Text Settings", PROGRAM_NAME]];
-
+ [self updateTextViewColor:self];
[NSApp beginSheet:[self window]
modalForWindow:parentWindow
modalDelegate:nil
@@ -83,8 +94,26 @@ - (IBAction)setToDefaults:(id)sender {
}
- (IBAction)updateTextViewColor:(id)sender {
- [textPreviewTextView setBackgroundColor:[backgroundColorWell color]];
- [textPreviewTextView setTextColor:[foregroundColorWell color]];
+ NSColor *bgColor = [backgroundColorWell color];
+ NSColor *fgColor = [foregroundColorWell color];
+
+ BOOL darkMode = NO;
+ BOOL darkPossible = NO;
+ if (@available(macOS 10.14, *)) {
+ darkPossible = YES;
+
+ }
+ if (darkPossible) {
+ darkMode = [[[NSAppearance currentAppearance] name] isEqualToString:NSAppearanceNameDarkAqua];
+ if (darkMode) {
+ bgColor = [bgColor inverted];
+ fgColor = [fgColor inverted];
+ }
+ }
+
+// NSLog(@"Dark mode?: %d", darkMode);
+ [textPreviewTextView setBackgroundColor:bgColor];
+ [textPreviewTextView setTextColor:fgColor];
}
#pragma mark - Font Manager
diff --git a/CHANGES.txt b/CHANGES.txt
index 56906f45..6d1c8b76 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -26,7 +26,7 @@ For future versions...
For 5.4.2
* Fixed bug where the argument settings window would lock up
* Better support for Dark Mode
- * Performance optimizations in the app build process
+ * TODO?: Performance optimization in the app build process (precompiled nib)
* TODO: Upgrade Sparkle version
For 5.4.1 - 22/10/2022
diff --git a/Platypus.xcodeproj/project.pbxproj b/Platypus.xcodeproj/project.pbxproj
index 904c574a..bb290401 100755
--- a/Platypus.xcodeproj/project.pbxproj
+++ b/Platypus.xcodeproj/project.pbxproj
@@ -88,6 +88,8 @@
F46EF85113C3F36900E4C0E4 /* Examples in Resources */ = {isa = PBXBuildFile; fileRef = F46EF84E13C3F36900E4C0E4 /* Examples */; };
F47B9F062606E9850076C3EC /* Interpreter_Python_2.png in Resources */ = {isa = PBXBuildFile; fileRef = F47B9F052606E9850076C3EC /* Interpreter_Python_2.png */; };
F48002CB121AF042003FB5B3 /* images in Resources */ = {isa = PBXBuildFile; fileRef = F48002BA121AF042003FB5B3 /* images */; };
+ F481A4B02AE860FF000E46DC /* NSColor+Inverted.m in Sources */ = {isa = PBXBuildFile; fileRef = F4911FC8260A6C50004AC8CD /* NSColor+Inverted.m */; };
+ F481A4B12AE86487000E46DC /* SETextView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F740D92684CFA5000673C0 /* SETextView.m */; };
F482697F1BCAE1EE00169D8B /* TypeListController.m in Sources */ = {isa = PBXBuildFile; fileRef = F482697E1BCAE1EE00169D8B /* TypeListController.m */; };
F48269831BCAF1D800169D8B /* UniformTypeListController.m in Sources */ = {isa = PBXBuildFile; fileRef = F48269821BCAF1D800169D8B /* UniformTypeListController.m */; };
F484D45921A9DDAE006EE28D /* ScriptDocument.icns in Resources */ = {isa = PBXBuildFile; fileRef = F484D45721A9DDAE006EE28D /* ScriptDocument.icns */; };
@@ -1279,6 +1281,7 @@
F4975DB61B2E71EE0099D16E /* SuffixTypeListController.m in Sources */,
F4AB186F1BE1908100B83A95 /* NSBundle+Templates.m in Sources */,
F45B1EFC1FF560D800A935D7 /* NSTextView+JSDExtensions.m in Sources */,
+ F481A4B12AE86487000E46DC /* SETextView.m in Sources */,
F4975D751B2E09310099D16E /* STPrivilegedTask.m in Sources */,
F4975DB41B2E71EE0099D16E /* ShellCommandController.m in Sources */,
F4975DAB1B2E71EE0099D16E /* BundledFilesController.m in Sources */,
@@ -1312,6 +1315,7 @@
F484D45E21AA03C2006EE28D /* NSFileManager+TempFiles.m in Sources */,
F482697F1BCAE1EE00169D8B /* TypeListController.m in Sources */,
F4A8B5D0222DD5800049FA51 /* InterpreterTextField.m in Sources */,
+ F481A4B02AE860FF000E46DC /* NSColor+Inverted.m in Sources */,
F48B1EE017935BBC007DA173 /* PlatypusScriptUtils.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;