* 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
std::string label = ui::ConvertAcceleratorsFromWindowsStyle(
          base::UTF16ToUTF8(model->GetLabelAt(i)));
      menuitem_property_set(item, kPropertyLabel, label.c_str());
      menuitem_property_set_bool(item, kPropertyEnabled, model->IsEnabledAt(i));
      g_object_set_data(G_OBJECT(item), "model", model);
      SetMenuItemID(item, i);
      if (type == AtomMenuModel::TYPE_SUBMENU) {
        menuitem_property_set(item, kPropertyChildrenDisplay, kDisplaySubmenu);
        g_signal_connect(item, "about-to-show",
                         G_CALLBACK(OnSubMenuShowThunk), this);
      } else {
        ui::Accelerator accelerator;
        if (model->GetAcceleratorAtWithParams(i, true, &accelerator))
          RegisterAccelerator(item, accelerator);
        g_signal_connect(item, "item-activated",
                         G_CALLBACK(OnItemActivatedThunk), this);
        if (type == AtomMenuModel::TYPE_CHECK ||
            type == AtomMenuModel::TYPE_RADIO) {
          menuitem_property_set(item, kPropertyToggleType,
              type == AtomMenuModel::TYPE_CHECK ? kToggleCheck : kToggleRadio);
          menuitem_property_set_int(item, kPropertyToggleState,
              model->IsItemCheckedAt(i));
        }
      }
    }
    menuitem_child_append(parent, item);
    g_object_unref(item);
  }
}
void GlobalMenuBarX11::RegisterAccelerator(DbusmenuMenuitem* item,