mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
fix: Alt+Click should not toggle menu bar (#29450)
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
This commit is contained in:
@@ -332,12 +332,12 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options,
|
||||
last_window_state_ = ui::SHOW_STATE_NORMAL;
|
||||
#endif
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
// Listen to move events.
|
||||
// Listen to mouse events.
|
||||
aura::Window* window = GetNativeWindow();
|
||||
if (window)
|
||||
window->AddPreTargetHandler(this);
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
// On linux after the widget is initialized we might have to force set the
|
||||
// bounds if the bounds are smaller than the current display
|
||||
SetBounds(gfx::Rect(GetPosition(), bounds.size()), false);
|
||||
@@ -352,11 +352,9 @@ NativeWindowViews::~NativeWindowViews() {
|
||||
SetForwardMouseMessages(false);
|
||||
#endif
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
aura::Window* window = GetNativeWindow();
|
||||
if (window)
|
||||
window->RemovePreTargetHandler(this);
|
||||
#endif
|
||||
}
|
||||
|
||||
void NativeWindowViews::SetGTKDarkThemeEnabled(bool use_dark_theme) {
|
||||
@@ -1450,11 +1448,9 @@ void NativeWindowViews::OnWidgetBoundsChanged(views::Widget* changed_widget,
|
||||
}
|
||||
|
||||
void NativeWindowViews::OnWidgetDestroying(views::Widget* widget) {
|
||||
#if defined(OS_LINUX)
|
||||
aura::Window* window = GetNativeWindow();
|
||||
if (window)
|
||||
window->RemovePreTargetHandler(this);
|
||||
#endif
|
||||
}
|
||||
|
||||
void NativeWindowViews::OnWidgetDestroyed(views::Widget* changed_widget) {
|
||||
@@ -1572,17 +1568,20 @@ void NativeWindowViews::HandleKeyboardEvent(
|
||||
root_view_->HandleKeyEvent(event);
|
||||
}
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
void NativeWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
if (event->type() != ui::ET_MOUSE_PRESSED)
|
||||
return;
|
||||
|
||||
// Alt+Click should not toggle menu bar.
|
||||
root_view_->ResetAltState();
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
if (event->changed_button_flags() == ui::EF_BACK_MOUSE_BUTTON)
|
||||
NotifyWindowExecuteAppCommand(kBrowserBackward);
|
||||
else if (event->changed_button_flags() == ui::EF_FORWARD_MOUSE_BUTTON)
|
||||
NotifyWindowExecuteAppCommand(kBrowserForward);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
ui::WindowShowState NativeWindowViews::GetRestoredState() {
|
||||
if (IsMaximized())
|
||||
|
||||
@@ -224,10 +224,8 @@ class NativeWindowViews : public NativeWindow,
|
||||
content::WebContents*,
|
||||
const content::NativeWebKeyboardEvent& event) override;
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
// ui::EventHandler:
|
||||
void OnMouseEvent(ui::MouseEvent* event) override;
|
||||
#endif
|
||||
|
||||
// Returns the restore state for the window.
|
||||
ui::WindowShowState GetRestoredState();
|
||||
|
||||
Reference in New Issue
Block a user