Skip to content
This repository was archived by the owner on Sep 2, 2021. It is now read-only.

Commit dc6e67e

Browse files
committed
Merge pull request #478 from adobe/jeff/yosemite-traffic-lights
Enable Yosemite Native Traffic Lights on OSX 10.10
2 parents 0736837 + 2452e1d commit dc6e67e

File tree

2 files changed

+54
-15
lines changed

2 files changed

+54
-15
lines changed

appshell/cefclient_mac.mm

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,35 @@ -(void)windowTitleDidChange:(NSString*)title {
221221
#endif
222222
}
223223

224+
-(BOOL)isRunningOnYosemite {
225+
NSDictionary* dict = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"];
226+
NSString* version = [dict objectForKey:@"ProductVersion"];
227+
return [version hasPrefix:@"10.10"];
228+
}
229+
224230
- (BOOL)isFullScreenSupported {
225-
SInt32 version;
226-
Gestalt(gestaltSystemVersion, &version);
227-
return (version >= 0x1070);
231+
// Return False on Yosemite so we
232+
// don't draw our own full screen button
233+
// and handle full screen mode
234+
if (![self isRunningOnYosemite]) {
235+
SInt32 version;
236+
Gestalt(gestaltSystemVersion, &version);
237+
return (version >= 0x1070);
238+
}
239+
return false;
228240
}
229241

230242
-(BOOL)needsFullScreenActivateHack {
231-
SInt32 version;
232-
Gestalt(gestaltSystemVersion, &version);
233-
return (version >= 0x1090);
243+
if (![self isRunningOnYosemite]) {
244+
SInt32 version;
245+
Gestalt(gestaltSystemVersion, &version);
246+
return (version >= 0x1090);
247+
}
248+
return false;
249+
}
250+
251+
-(BOOL)useSystemTrafficLights {
252+
return [self isRunningOnYosemite];
234253
}
235254

236255
-(void)windowDidResize:(NSNotification *)notification
@@ -299,7 +318,7 @@ -(void)initUI:(NSWindow*)mainWindow {
299318
NSButton *windowButton = nil;
300319

301320
#ifdef CUSTOM_TRAFFIC_LIGHTS
302-
if (!trafficLightsView) {
321+
if (![self useSystemTrafficLights] && !trafficLightsView) {
303322
windowButton = [mainWindow standardWindowButton:NSWindowCloseButton];
304323
[windowButton setHidden:YES];
305324
windowButton = [mainWindow standardWindowButton:NSWindowMiniaturizeButton];

appshell/client_handler_mac.mm

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -165,17 +165,35 @@ - (void)setIsReallyClosing {
165165
isReallyClosing = true;
166166
}
167167

168-
- (BOOL)isFullScreenSupported {
169-
SInt32 version;
170-
Gestalt(gestaltSystemVersion, &version);
171-
return (version >= 0x1070);
168+
-(BOOL)isRunningOnYosemite {
169+
NSDictionary* dict = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"];
170+
NSString* version = [dict objectForKey:@"ProductVersion"];
171+
return [version hasPrefix:@"10.10"];
172172
}
173173

174+
- (BOOL)isFullScreenSupported {
175+
// Return False on Yosemite so we
176+
// don't draw our own full screen button
177+
// and handle full screen mode
178+
if (![self isRunningOnYosemite]) {
179+
SInt32 version;
180+
Gestalt(gestaltSystemVersion, &version);
181+
return (version >= 0x1070);
182+
}
183+
return false;
184+
}
174185

175186
-(BOOL)needsFullScreenActivateHack {
176-
SInt32 version;
177-
Gestalt(gestaltSystemVersion, &version);
178-
return (version >= 0x1090);
187+
if (![self isRunningOnYosemite]) {
188+
SInt32 version;
189+
Gestalt(gestaltSystemVersion, &version);
190+
return (version >= 0x1090);
191+
}
192+
return false;
193+
}
194+
195+
-(BOOL)useSystemTrafficLights {
196+
return [self isRunningOnYosemite];
179197
}
180198

181199
-(void)setFullScreenButtonView:(NSView *)view {
@@ -186,6 +204,8 @@ -(void)setTrafficLightsView:(NSView *)view {
186204
trafficLightsView = view;
187205
}
188206

207+
208+
189209
-(void)windowTitleDidChange:(NSString*)title {
190210
#ifdef DARK_UI
191211
if (customTitlebar) {
@@ -237,7 +257,7 @@ - (void)initUI {
237257
NSButton* windowButton = nil;
238258

239259
#ifdef CUSTOM_TRAFFIC_LIGHTS
240-
if (!trafficLightsView) {
260+
if (![self useSystemTrafficLights] && !trafficLightsView) {
241261
windowButton = [theWin standardWindowButton:NSWindowCloseButton];
242262
[windowButton setHidden:YES];
243263
windowButton = [theWin standardWindowButton:NSWindowMiniaturizeButton];

0 commit comments

Comments
 (0)