* Electron version: 1.4.15
* Operating system: Arch Linux, `Linux yoga 4.7.6-1-ARCH #1 SMP PREEMPT Fri Sep 30 19:28:42 CEST 2016 x86_64 GNU/Linux`.

I'm running Electron under [KDE Plasma 5.9](https://www.kde.org/announcements/plasma-5.8.95.php), but judging from https://github.com/atom/atom/issues/6255 and https://github.com/atom/atom/issues/5970, it could be also reproduced with other versions. This also affects Atom for obvious reasons ;-).

### Expected behavior

* Global menu should work (like in other programs).
* Electron apps shouldn't consume 100% CPU for no reason.

### Actual behavior

* Global menu is visible, but pressing any action does nothing.
* Electron apps consume 100% CPU.

### Workaround

Use `ELECTRON_FORCE_WINDOW_MENU_BAR=1` (disables globalmenu integration).

### How to reproduce

* Install Plasma 5.9 (for other options see linked issues above).
* Run `electron` under Plasma 5.9 with an enabled global menu (I'm using the menu button in the window titlebar option).
* Observe CPU usage, e.g. with `htop`.
* Try to click any entries in the globalmenu, e.g. `Quit` — they do nothing.

### Screenshots

Without `ELECTRON_FORCE_WINDOW_MENU_BAR`:
![spectacle x22161](https://cloud.githubusercontent.com/assets/291301/22151273/8564d130-df2e-11e6-8ad6-70d6a49b7adc.png)

With `ELECTRON_FORCE_WINDOW_MENU_BAR`:
![spectacle y22161](https://cloud.githubusercontent.com/assets/291301/22151382/da2349ea-df2e-11e6-87b2-667dcaf7ccf5.png)

What the menu looks like:
![spectacle b22161](https://cloud.githubusercontent.com/assets/291301/22151468/1e343932-df2f-11e6-824d-113bd1ef86b9.png)

None of the actions work, not even the `File → Quit` one.
atom/browser/ui/views/global_menu_bar_x11.cc
: window_(window),
      xid_(window_->GetNativeWindow()->GetHost()->GetAcceleratedWidget()),
      server_(NULL) {
  EnsureMethodsLoaded();
  if (server_new)
    InitServer(xid_);
  GlobalMenuBarRegistrarX11::GetInstance()->OnWindowMapped(xid_);
}
GlobalMenuBarX11::~GlobalMenuBarX11() {
  if (IsServerStarted())
    g_object_unref(server_);
  GlobalMenuBarRegistrarX11::GetInstance()->OnWindowUnmapped(xid_);
}
std::string GlobalMenuBarX11::GetPathForWindow(gfx::AcceleratedWidget xid) {
  return base::StringPrintf("/com/canonical/menu/%lX", xid);
}
void GlobalMenuBarX11::SetMenu(AtomMenuModel* menu_model) {
  if (!IsServerStarted())
    return;
  DbusmenuMenuitem* root_item = menuitem_new();
  menuitem_property_set(root_item, kPropertyLabel, "Root");
  menuitem_property_set_bool(root_item, kPropertyVisible, true);
  BuildMenuFromModel(menu_model, root_item);
  server_set_root(server_, root_item);
  g_object_unref(root_item);
}
bool GlobalMenuBarX11::IsServerStarted() const {