|
|
|
@ -14,6 +14,9 @@ namespace Avalonia.MonoMac |
|
|
|
internal readonly MouseDevice MouseDevice = new MouseDevice(); |
|
|
|
readonly KeyboardDevice _keyboardDevice = new KeyboardDevice(); |
|
|
|
internal static NSApplication App; |
|
|
|
private static bool s_monoMacInitialized; |
|
|
|
private static bool s_showInDock = true; |
|
|
|
|
|
|
|
void DoInitialize() |
|
|
|
{ |
|
|
|
AvaloniaLocator.CurrentMutable |
|
|
|
@ -26,7 +29,7 @@ namespace Avalonia.MonoMac |
|
|
|
.Bind<ISystemDialogImpl>().ToSingleton<SystemDialogsImpl>() |
|
|
|
.Bind<IPlatformThreadingInterface>().ToConstant(PlatformThreadingInterface.Instance); |
|
|
|
|
|
|
|
InitializeCocoaApp(); |
|
|
|
InitializeMonoMac(); |
|
|
|
} |
|
|
|
|
|
|
|
public static void Initialize() |
|
|
|
@ -36,12 +39,29 @@ namespace Avalonia.MonoMac |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
void InitializeCocoaApp() |
|
|
|
void InitializeMonoMac() |
|
|
|
{ |
|
|
|
if(s_monoMacInitialized) |
|
|
|
return; |
|
|
|
NSApplication.Init(); |
|
|
|
App = NSApplication.SharedApplication; |
|
|
|
App.ActivationPolicy = NSApplicationActivationPolicy.Regular; |
|
|
|
UpdateActivationPolicy(); |
|
|
|
s_monoMacInitialized = true; |
|
|
|
} |
|
|
|
|
|
|
|
static void UpdateActivationPolicy() => App.ActivationPolicy = ShowInDock |
|
|
|
? NSApplicationActivationPolicy.Regular |
|
|
|
: NSApplicationActivationPolicy.Accessory; |
|
|
|
|
|
|
|
public static bool ShowInDock |
|
|
|
{ |
|
|
|
get => s_showInDock; |
|
|
|
set |
|
|
|
{ |
|
|
|
s_showInDock = value; |
|
|
|
if (s_monoMacInitialized) |
|
|
|
UpdateActivationPolicy(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|