diff --git a/Classes/FanControl.m b/Classes/FanControl.m
index ffb9713..7ebca80 100755
--- a/Classes/FanControl.m
+++ b/Classes/FanControl.m
@@ -100,8 +100,9 @@ NSUserDefaults *defaults;
[pw registerForSleepWakeNotification];
[pw registerForPowerChange];
- //load defaults
+ //load defaults
+
[DefaultsController setAppliesImmediately:NO];
mdefaults=[[MachineDefaults alloc] init:nil];
@@ -131,7 +132,7 @@ NSUserDefaults *defaults;
//sync option for Macbook Pro's
NSRange range_mbp=[[MachineDefaults computerModel] rangeOfString:@"MacBookPro"];
- if (range_mbp.length>0) {
+ if (range_mbp.length>0 && [[s_sed objectForKey:@"Fans"] count] == 2) {
[sync setHidden:NO];
}
@@ -211,8 +212,12 @@ NSUserDefaults *defaults;
[self changeMenu:nil];
//seting toolbar image
- menu_image=[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"smc" ofType:@"png"]];
- menu_image_alt=[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"smcover" ofType:@"png"]];
+ menu_image = [[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"smc" ofType:@"png"]];
+ menu_image_alt = [[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"smcover" ofType:@"png"]];
+ if ([menu_image respondsToSelector:@selector(setTemplate:)]) {
+ [menu_image setTemplate:YES];
+ [menu_image_alt setTemplate:YES];
+ }
//release MachineDefaults class first call
//add timer for reading to RunLoop
@@ -233,9 +238,14 @@ NSUserDefaults *defaults;
-(void)init_statusitem{
statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength: NSVariableStatusItemLength] retain];
[statusItem setMenu: theMenu];
- [statusItem setEnabled: YES];
- [statusItem setHighlightMode:YES];
- [statusItem setTitle:@"smc..."];
+
+ if ([statusItem respondsToSelector:@selector(button)]) {
+ [statusItem.button setTitle:@"smc..."];
+ } else {
+ [statusItem setEnabled: YES];
+ [statusItem setHighlightMode:YES];
+ [statusItem setTitle:@"smc..."];
+ }
int i;
for(i=0;i<[s_menus count];i++) {
[theMenu insertItem:[s_menus objectAtIndex:i] atIndex:i];
@@ -312,9 +322,10 @@ NSUserDefaults *defaults;
}
+
// Called via a timer mechanism. This is where all the temp / RPM reading is done.
//reads fan data and updates the gui
--(void) readFanData:(NSTimer*)timer{
+-(void) readFanData:(id)caller{
int i = 0;
@@ -391,6 +402,11 @@ NSUserDefaults *defaults;
NSMutableAttributedString *s_status = nil;
NSMutableParagraphStyle *paragraphStyle = nil;
+ NSColor *menuColor = (NSColor*)[NSUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"MenuColor"]];
+ BOOL setColor = NO;
+ if (!([[menuColor colorUsingColorSpaceName:
+ NSCalibratedWhiteColorSpace] whiteComponent] == 0.0) || ![statusItem respondsToSelector:@selector(button)]) setColor = YES;
+
switch (menuBarSetting) {
default:
case 1: {
@@ -411,10 +427,18 @@ NSUserDefaults *defaults;
[paragraphStyle setAlignment:NSLeftTextAlignment];
[s_status addAttribute:NSFontAttributeName value:[NSFont fontWithName:@"Lucida Grande" size:fsize] range:NSMakeRange(0,[s_status length])];
[s_status addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0,[s_status length])];
- [s_status addAttribute:NSForegroundColorAttributeName value:(NSColor*)[NSUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"MenuColor"]] range:NSMakeRange(0,[s_status length])];
- [statusItem setAttributedTitle:s_status];
- [statusItem setImage:nil];
- [statusItem setAlternateImage:nil];
+
+ if (setColor) [s_status addAttribute:NSForegroundColorAttributeName value:menuColor range:NSMakeRange(0,[s_status length])];
+
+ if ([statusItem respondsToSelector:@selector(button)]) {
+ [statusItem.button setAttributedTitle:s_status];
+ [statusItem.button setImage:nil];
+ [statusItem.button setAlternateImage:nil];
+ } else {
+ [statusItem setAttributedTitle:s_status];
+ [statusItem setImage:nil];
+ [statusItem setAlternateImage:nil];
+ }
break;
}
@@ -422,30 +446,49 @@ NSUserDefaults *defaults;
// TODO: Big waste of energy to update this tooltip every X seconds when the user
// is unlikely to hover the smcFanControl icon over and over again.
[statusItem setLength:26];
- [statusItem setTitle:nil];
- [statusItem setToolTip:[NSString stringWithFormat:@"%@\n%@",temp,fan]];
- [statusItem setImage:menu_image];
- [statusItem setAlternateImage:menu_image_alt];
+ if ([statusItem respondsToSelector:@selector(button)]) {
+ [statusItem.button setTitle:nil];
+ [statusItem.button setToolTip:[NSString stringWithFormat:@"%@\n%@",temp,fan]];
+ [statusItem.button setImage:menu_image];
+ [statusItem.button setAlternateImage:menu_image_alt];
+ } else {
+ [statusItem setTitle:nil];
+ [statusItem setToolTip:[NSString stringWithFormat:@"%@\n%@",temp,fan]];
+ [statusItem setImage:menu_image];
+ [statusItem setAlternateImage:menu_image_alt];
+ }
break;
case 3:
[statusItem setLength:46];
s_status=[[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@",temp]];
[s_status addAttribute:NSFontAttributeName value:[NSFont fontWithName:@"Lucida Grande" size:12] range:NSMakeRange(0,[s_status length])];
- [s_status addAttribute:NSForegroundColorAttributeName value:(NSColor*)[NSUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"MenuColor"]] range:NSMakeRange(0,[s_status length])];
- [statusItem setAttributedTitle:s_status];
- [statusItem setImage:nil];
- [statusItem setAlternateImage:nil];
+ if (setColor) [s_status addAttribute:NSForegroundColorAttributeName value:menuColor range:NSMakeRange(0,[s_status length])];
+ if ([statusItem respondsToSelector:@selector(button)]) {
+ [statusItem.button setAttributedTitle:s_status];
+ [statusItem.button setImage:nil];
+ [statusItem.button setAlternateImage:nil];
+ } else {
+ [statusItem setAttributedTitle:s_status];
+ [statusItem setImage:nil];
+ [statusItem setAlternateImage:nil];
+ }
break;
case 4:
[statusItem setLength:65];
s_status=[[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@",fan]];
[s_status addAttribute:NSFontAttributeName value:[NSFont fontWithName:@"Lucida Grande" size:12] range:NSMakeRange(0,[s_status length])];
- [s_status addAttribute:NSForegroundColorAttributeName value:(NSColor*)[NSUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"MenuColor"]] range:NSMakeRange(0,[s_status length])];
- [statusItem setAttributedTitle:s_status];
- [statusItem setImage:nil];
- [statusItem setAlternateImage:nil];
+ if (setColor) [s_status addAttribute:NSForegroundColorAttributeName value:menuColor range:NSMakeRange(0,[s_status length])];
+ if ([statusItem respondsToSelector:@selector(button)]) {
+ [statusItem.button setAttributedTitle:s_status];
+ [statusItem.button setImage:nil];
+ [statusItem.button setAlternateImage:nil];
+ } else {
+ [statusItem setAttributedTitle:s_status];
+ [statusItem setImage:nil];
+ [statusItem setAlternateImage:nil];
+ }
break;
}
diff --git a/smcFanControl.xcodeproj/project.pbxproj b/smcFanControl.xcodeproj/project.pbxproj
index d750ef0..145cf09 100644
--- a/smcFanControl.xcodeproj/project.pbxproj
+++ b/smcFanControl.xcodeproj/project.pbxproj
@@ -306,9 +306,6 @@
8924ECED15AC96E70031730C = {
DevelopmentTeam = MC98392EJC;
};
- 8D1107260486CEB800E47090 = {
- DevelopmentTeam = MC98392EJC;
- };
};
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "smcFanControl" */;
@@ -433,8 +430,8 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "Mac Developer";
- "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
+ CODE_SIGN_IDENTITY = "Developer ID Application: Hendrik Holtmann";
+ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application: Hendrik Holtmann";
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
@@ -460,8 +457,8 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "Mac Developer";
- "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
+ CODE_SIGN_IDENTITY = "Developer ID Application: Hendrik Holtmann";
+ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application: Hendrik Holtmann";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -481,7 +478,7 @@
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CODE_SIGN_IDENTITY = "Mac Developer: Yancheng Zheng (5FNT3EVMK3)";
+ CODE_SIGN_IDENTITY = "Developer ID Application: Hendrik Holtmann";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
@@ -514,7 +511,7 @@
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CODE_SIGN_IDENTITY = "Mac Developer: Yancheng Zheng (5FNT3EVMK3)";
+ CODE_SIGN_IDENTITY = "Developer ID Application: Hendrik Holtmann";
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -546,6 +543,7 @@
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CODE_SIGN_IDENTITY = "Developer ID Application: Hendrik Holtmann";
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
@@ -561,6 +559,7 @@
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CODE_SIGN_IDENTITY = "Developer ID Application: Hendrik Holtmann";
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
diff --git a/smcFanControl.xcodeproj/project.xcworkspace/xcshareddata/smcFanControl.xccheckout b/smcFanControl.xcodeproj/project.xcworkspace/xcshareddata/smcFanControl.xccheckout
index 6eb38dd..c07be96 100644
--- a/smcFanControl.xcodeproj/project.xcworkspace/xcshareddata/smcFanControl.xccheckout
+++ b/smcFanControl.xcodeproj/project.xcworkspace/xcshareddata/smcFanControl.xccheckout
@@ -10,29 +10,29 @@
smcFanControl
IDESourceControlProjectOriginsDictionary
- 873C5522-1316-4367-B29F-BE94D7522D13
+ 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED
https://github.com/hholtmann/smcFanControl.git
IDESourceControlProjectPath
- smcFanControl.xcodeproj/project.xcworkspace
+ smcFanControl.xcodeproj
IDESourceControlProjectRelativeInstallPathDictionary
- 873C5522-1316-4367-B29F-BE94D7522D13
+ 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED
../..
IDESourceControlProjectURL
https://github.com/hholtmann/smcFanControl.git
IDESourceControlProjectVersion
- 110
+ 111
IDESourceControlProjectWCCIdentifier
- 873C5522-1316-4367-B29F-BE94D7522D13
+ 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED
IDESourceControlProjectWCConfigurations
IDESourceControlRepositoryExtensionIdentifierKey
public.vcs.git
IDESourceControlWCCIdentifierKey
- 873C5522-1316-4367-B29F-BE94D7522D13
+ 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED
IDESourceControlWCCName
smcFanControl
diff --git a/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate b/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate
index 5d77aec..ed471f1 100644
Binary files a/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate and b/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcschemes/smcFanControl.xcscheme b/smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcschemes/smcFanControl.xcscheme
index f6b21a7..d8150df 100644
--- a/smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcschemes/smcFanControl.xcscheme
+++ b/smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcschemes/smcFanControl.xcscheme
@@ -44,7 +44,7 @@
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
- buildConfiguration = "Release"
+ buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">