diff --git a/atom/browser/native_window_views.cc b/atom/browser/native_window_views.cc index 6b16072f6adb..29c4187a124c 100644 --- a/atom/browser/native_window_views.cc +++ b/atom/browser/native_window_views.cc @@ -680,6 +680,15 @@ void NativeWindowViews::SetIgnoreMouseEvents(bool ignore) { else ex_style &= ~(WS_EX_TRANSPARENT | WS_EX_LAYERED); ::SetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE, ex_style); +#elif defined(USE_X11) + if (ignore) { + XRectangle r = {0, 0, 1, 1}; + XShapeCombineRectangles(gfx::GetXDisplay(), GetAcceleratedWidget(), + ShapeInput, 0, 0, &r, 1, ShapeSet, YXBanded); + } else { + XShapeCombineMask(gfx::GetXDisplay(), GetAcceleratedWidget(), + ShapeInput, 0, 0, None, ShapeSet); + } #endif }