diff options
author | iain <iaholmes@microsoft.com> | 2020-01-02 19:52:00 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-02 19:52:00 +0300 |
commit | 067ceb7b82890ac36f5df94167b2c881a0c2a8a0 (patch) | |
tree | 769d34a3ff9dfc9d60177fd116a9e5035b726420 | |
parent | 2b5e2ec34681a0a58f5ffb78384d75b99885669f (diff) | |
parent | eb69ad4222ae47b9e5a64923c39932c0838604bf (diff) |
Merge pull request #1016 from mono/fix-984249
[MacEngine] Track the startup reason
-rw-r--r-- | Xwt.XamMac/Xwt.Mac/MacEngine.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Xwt.XamMac/Xwt.Mac/MacEngine.cs b/Xwt.XamMac/Xwt.Mac/MacEngine.cs index 547e2507..a5baad77 100644 --- a/Xwt.XamMac/Xwt.Mac/MacEngine.cs +++ b/Xwt.XamMac/Xwt.Mac/MacEngine.cs @@ -295,6 +295,15 @@ namespace Xwt.Mac bool launched; List<IMacWindowBackend> pendingWindows = new List<IMacWindowBackend> (); + public enum LaunchType + { + Unknown, + Normal, + LaunchedFromFileManager + } + + public LaunchType LaunchReason { get; private set; } = LaunchType.Unknown; + public event EventHandler<TerminationEventArgs> Terminating; public event EventHandler Unhidden; public event EventHandler<OpenFilesEventArgs> OpenFilesRequest; @@ -319,6 +328,15 @@ namespace Xwt.Mac public override void DidFinishLaunching (NSNotification notification) { launched = true; + + NSObject val; + if (notification.UserInfo.TryGetValue (NSApplication.LaunchIsDefaultLaunchKey, out val)) { + var num = val as NSNumber; + if (num != null) { + LaunchReason = num.BoolValue ? LaunchType.Normal : LaunchType.LaunchedFromFileManager; + } + } + foreach (var w in pendingWindows) w.InternalShow (); } |