- Electron version: the one bundled with Atom 1.7.1, also 0.36.0
- Operating system: Linux

The "focus()" call does not actually focus the window, it only raises it. Focus remains in the caller app (terminal, for instance).

No "focus stealing prevention" is used. This can be reproduced on multiple window managers (xfwm, unity).

Steps to reproduce, using Atom (as an example -- works with any other Electron-based app that focuses itself):
1. open terminal
2. `atom myfile.txt`
3. switch back to terminal
4. `atom myfile.txt`
5. note that Atom raised itself, but the focus is still in terminal.

atom/browser/native_window_views.cc
if (!has_frame())
    return size;
  gfx::Size content_size(size);
#if defined(OS_WIN)
  content_size = gfx::win::DIPToScreenSize(content_size);
  RECT rect;
  SetRectEmpty(&rect);
  HWND hwnd = GetAcceleratedWidget();
  DWORD style = ::GetWindowLong(hwnd, GWL_STYLE);
  DWORD ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE);
  AdjustWindowRectEx(&rect, style, FALSE, ex_style);
  content_size.set_width(content_size.width() - (rect.right - rect.left));
  content_size.set_height(content_size.height() - (rect.bottom - rect.top));
  content_size = gfx::win::ScreenToDIPSize(content_size);
#endif
  if (menu_bar_ && menu_bar_visible_)
    content_size.set_height(content_size.height() - kMenuBarHeight);
  return content_size;
}
void NativeWindowViews::HandleKeyboardEvent(