MacOperatingSystem.cs 901 B

1234567891011121314151617181920212223242526272829303132333435
  1. using System.Text;
  2. using Avalonia.Controls.ApplicationLifetimes;
  3. using Avalonia.Threading;
  4. using PixiEditor.OperatingSystem;
  5. namespace PixiEditor.MacOs;
  6. public sealed class MacOperatingSystem : IOperatingSystem
  7. {
  8. public string Name { get; } = "MacOS";
  9. public string AnalyticsId => "macOS";
  10. public IInputKeys InputKeys { get; } = new MacOsInputKeys();
  11. public IProcessUtility ProcessUtility { get; } = new MacOsProcessUtility();
  12. public string ExecutableExtension { get; } = string.Empty;
  13. public void OpenUri(string uri)
  14. {
  15. ProcessUtility.ShellExecute(uri);
  16. }
  17. public void OpenFolder(string path)
  18. {
  19. ProcessUtility.ShellExecute(Path.GetDirectoryName(path));
  20. }
  21. public bool HandleNewInstance(Dispatcher? dispatcher, Action<string, bool> openInExistingAction,
  22. IApplicationLifetime lifetime)
  23. {
  24. return true;
  25. }
  26. }