Browse Source

[Avalonia.Native] Respect info.plist values for setActivationPolicy (#19066)

* [Avalonia.Native] Respect info.plist values

* Only set setActivationPolicy if it's different from the users default
pull/19075/head
Tim Miller 8 months ago
committed by GitHub
parent
commit
b5b5ec2d38
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      native/Avalonia.Native/src/OSX/app.mm
  2. 14
      native/Avalonia.Native/src/OSX/main.mm

2
native/Avalonia.Native/src/OSX/app.mm

@ -30,8 +30,6 @@ ComPtr<IAvnApplicationEvents> _events;
break; break;
} }
[[NSApplication sharedApplication] setActivationPolicy: AvnDesiredActivationPolicy];
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSFullScreenMenuItemEverywhere"]; [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSFullScreenMenuItemEverywhere"];
[[NSApplication sharedApplication] setHelpMenu: [[NSMenu new] initWithTitle:@""]]; [[NSApplication sharedApplication] setHelpMenu: [[NSMenu new] initWithTitle:@""]];

14
native/Avalonia.Native/src/OSX/main.mm

@ -129,14 +129,22 @@ public:
} }
} }
virtual HRESULT SetShowInDock(int show) override virtual HRESULT SetShowInDock(int show) override
{ {
START_COM_CALL; START_COM_CALL;
@autoreleasepool @autoreleasepool
{ {
AvnDesiredActivationPolicy = show NSApplication* app = [NSApplication sharedApplication];
? NSApplicationActivationPolicyRegular : NSApplicationActivationPolicyAccessory; NSApplicationActivationPolicy requestedPolicy = show
? NSApplicationActivationPolicyRegular
: NSApplicationActivationPolicyAccessory;
if ([app activationPolicy] != requestedPolicy)
{
[app setActivationPolicy:requestedPolicy];
}
return S_OK; return S_OK;
} }
} }

Loading…
Cancel
Save