diff --git a/src/gui/src/MainWindow.cpp b/src/gui/src/MainWindow.cpp index 91ec58651..b56634350 100644 --- a/src/gui/src/MainWindow.cpp +++ b/src/gui/src/MainWindow.cpp @@ -1055,6 +1055,9 @@ void MainWindow::enableClient(bool enable) void MainWindow::showAndActivate() { +#ifdef Q_OS_MAC + forceAppActive(); +#endif show(); raise(); activateWindow(); diff --git a/src/lib/gui/OSXHelpers.h b/src/lib/gui/OSXHelpers.h index b6c3ab978..3d319a040 100644 --- a/src/lib/gui/OSXHelpers.h +++ b/src/lib/gui/OSXHelpers.h @@ -30,4 +30,5 @@ void requestOSXNotificationPermission(); bool isOSXDevelopmentBuild(); bool showOSXNotification(const QString &title, const QString &body); bool isOSXInterfaceStyleDark(); +void forceAppActive(); IconsTheme getOSXIconsTheme(); diff --git a/src/lib/gui/OSXHelpers.mm b/src/lib/gui/OSXHelpers.mm index 06cb2fe57..37701e489 100644 --- a/src/lib/gui/OSXHelpers.mm +++ b/src/lib/gui/OSXHelpers.mm @@ -107,6 +107,11 @@ bool isOSXInterfaceStyleDark() return (style && [style isKindOfClass:[NSString class]] && NSOrderedSame == [style caseInsensitiveCompare:@"dark"]); } +void forceAppActive() +{ + [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; +} + IconsTheme getOSXIconsTheme() { if (@available(macOS 11, *))