Now that we have a supported platform list of >= 10.10 we can use the `[NSStatusItem button]` instead of the hacks and tricks we use currently.
shell/browser/ui/tray_icon.h
#ifndef SHELL_BROWSER_UI_TRAY_ICON_H_
#define SHELL_BROWSER_UI_TRAY_ICON_H_
#include <string>
#include <vector>
#include "base/observer_list.h"
#include "shell/browser/ui/atom_menu_model.h"
#include "shell/browser/ui/tray_icon_observer.h"
#include "ui/gfx/geometry/rect.h"
namespace electron {
class TrayIcon {
 public:
  static TrayIcon* Create();
#if defined(OS_WIN)
  using ImageType = HICON;
#else
  using ImageType = const gfx::Image&;
#endif
  virtual ~TrayIcon();
  
  virtual void SetImage(ImageType image) = 0;
  
  virtual void SetPressedImage(ImageType image);
  
  
  
  
  virtual void SetToolTip(const std::string& tool_tip) = 0;
  
  enum class HighlightMode {