From 3a9a65b03ee41131810c23d8b8a4181d1ec57c62 Mon Sep 17 00:00:00 2001 From: Onne van Dijk Date: Sun, 17 Nov 2019 13:01:17 +0100 Subject: [PATCH] Fix brightness offset --- Brightness Sync.xcodeproj/project.pbxproj | 8 ++++---- Brightness Sync/AppDelegate.swift | 9 +++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Brightness Sync.xcodeproj/project.pbxproj b/Brightness Sync.xcodeproj/project.pbxproj index 1f5f523..d8985be 100644 --- a/Brightness Sync.xcodeproj/project.pbxproj +++ b/Brightness Sync.xcodeproj/project.pbxproj @@ -283,7 +283,7 @@ CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2.0.0; + CURRENT_PROJECT_VERSION = 2.0.1; DEVELOPMENT_TEAM = 2Z5D432U62; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "Brightness Sync/Info.plist"; @@ -291,7 +291,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 2.0.0; + MARKETING_VERSION = 2.0.1; PRODUCT_BUNDLE_IDENTIFIER = "dev.vandijk.Brightness-Sync"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -309,7 +309,7 @@ CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2.0.0; + CURRENT_PROJECT_VERSION = 2.0.1; DEVELOPMENT_TEAM = 2Z5D432U62; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "Brightness Sync/Info.plist"; @@ -317,7 +317,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 2.0.0; + MARKETING_VERSION = 2.0.1; PRODUCT_BUNDLE_IDENTIFIER = "dev.vandijk.Brightness-Sync"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Brightness Sync/AppDelegate.swift b/Brightness Sync/AppDelegate.swift index 0ba74c2..047c550 100644 --- a/Brightness Sync/AppDelegate.swift +++ b/Brightness Sync/AppDelegate.swift @@ -176,10 +176,15 @@ class AppDelegate: NSObject, NSApplicationDelegate { .combineLatest(brightnessOffsetPublisher, targetDisplaysPublisher) .sink { brightnessStatus, brightnessOffset, targets in guard case let .Running(brightness) = brightnessStatus else { return } - let adjustedBrightness = (brightness + brightnessOffset).clamped(to: 0.0...1.0) for target in targets { - CoreDisplay_Display_SetLinearBrightness(target, adjustedBrightness) + CoreDisplay_Display_SetLinearBrightness(target, brightness) + + if brightnessOffset != 0 { + let newUserBrightness = CoreDisplay_Display_GetUserBrightness(target) + let adjustedUserBrightness = (newUserBrightness + brightnessOffset).clamped(to: 0.0...1.0) + CoreDisplay_Display_SetUserBrightness(target, adjustedUserBrightness) + } } } .store(in: &cancelBag)