Skip to content

Commit

Permalink
fix: use effectiveAppearance to check dark mode on mojave and above (#…
Browse files Browse the repository at this point in the history
…18666) (#18852)

* fix: use effectiveAppearance to check dark mode on mojave and above

* chore: add forward declarations for dark appearance
  • Loading branch information
trop[bot] authored and codebytere committed Jun 18, 2019
1 parent 4964a09 commit f09f926
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions atom/browser/ui/tray_icon_cocoa.mm
Expand Up @@ -4,8 +4,10 @@

#include "atom/browser/ui/tray_icon_cocoa.h"

#include "atom/browser/mac/atom_application.h"
#include "atom/browser/ui/cocoa/NSString+ANSI.h"
#include "atom/browser/ui/cocoa/atom_menu_controller.h"
#include "base/mac/sdk_forward_declarations.h"
#include "base/strings/sys_string_conversions.h"
#include "ui/display/screen.h"
#include "ui/events/cocoa/cocoa_event_utils.h"
Expand Down Expand Up @@ -143,6 +145,10 @@ - (void)drawRect:(NSRect)dirtyRect {
}

- (BOOL)isDarkMode {
if (@available(macOS 10.14, *)) {
return [[NSApplication sharedApplication].effectiveAppearance.name
isEqualToString:NSAppearanceNameDarkAqua];
}
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSString* mode = [defaults stringForKey:@"AppleInterfaceStyle"];
return mode && [mode isEqualToString:@"Dark"];
Expand Down Expand Up @@ -322,9 +328,9 @@ - (void)mouseUp:(NSEvent*)event {
- (void)popUpContextMenu:(atom::AtomMenuModel*)menu_model {
// Show a custom menu.
if (menu_model) {
base::scoped_nsobject<AtomMenuController> menuController([
[AtomMenuController alloc] initWithModel:menu_model
useDefaultAccelerator:NO]);
base::scoped_nsobject<AtomMenuController> menuController(
[[AtomMenuController alloc] initWithModel:menu_model
useDefaultAccelerator:NO]);
forceHighlight_ = YES; // Should highlight when showing menu.
[self setNeedsDisplay:YES];
[statusItem_ popUpStatusItemMenu:[menuController menu]];
Expand Down

0 comments on commit f09f926

Please sign in to comment.