diff --git a/Desktop.Linux/App.xaml b/Desktop.XPlat/App.xaml similarity index 94% rename from Desktop.Linux/App.xaml rename to Desktop.XPlat/App.xaml index 1bd7b475..cbb18822 100644 --- a/Desktop.Linux/App.xaml +++ b/Desktop.XPlat/App.xaml @@ -1,7 +1,7 @@  + xmlns:local="clr-namespace:Remotely.Desktop.XPlat;assembly=Remotely_Desktop" + x:Class="Remotely.Desktop.XPlat.App"> diff --git a/Desktop.Linux/App.xaml.cs b/Desktop.XPlat/App.xaml.cs similarity index 98% rename from Desktop.Linux/App.xaml.cs rename to Desktop.XPlat/App.xaml.cs index 7eee9d66..f90f2bf9 100644 --- a/Desktop.Linux/App.xaml.cs +++ b/Desktop.XPlat/App.xaml.cs @@ -8,15 +8,15 @@ using Microsoft.Extensions.Logging; using Remotely.Desktop.Core; using Remotely.Desktop.Core.Interfaces; using Remotely.Desktop.Core.Services; -using Remotely.Desktop.Linux.Services; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.Services; +using Remotely.Desktop.XPlat.Views; using Remotely.Shared.Utilities; using System; using System.Linq; using System.Threading; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux +namespace Remotely.Desktop.XPlat { public class App : Application { diff --git a/Desktop.Linux/Assets/Gear.png b/Desktop.XPlat/Assets/Gear.png similarity index 100% rename from Desktop.Linux/Assets/Gear.png rename to Desktop.XPlat/Assets/Gear.png diff --git a/Desktop.Linux/Assets/Remotely_Icon.png b/Desktop.XPlat/Assets/Remotely_Icon.png similarity index 100% rename from Desktop.Linux/Assets/Remotely_Icon.png rename to Desktop.XPlat/Assets/Remotely_Icon.png diff --git a/Desktop.Linux/Assets/avalonia-logo.ico b/Desktop.XPlat/Assets/avalonia-logo.ico similarity index 100% rename from Desktop.Linux/Assets/avalonia-logo.ico rename to Desktop.XPlat/Assets/avalonia-logo.ico diff --git a/Desktop.Linux/Assets/favicon.ico b/Desktop.XPlat/Assets/favicon.ico similarity index 100% rename from Desktop.Linux/Assets/favicon.ico rename to Desktop.XPlat/Assets/favicon.ico diff --git a/Desktop.Linux/Controls/MessageBox.axaml b/Desktop.XPlat/Controls/MessageBox.axaml similarity index 93% rename from Desktop.Linux/Controls/MessageBox.axaml rename to Desktop.XPlat/Controls/MessageBox.axaml index cf288fcb..3fc24335 100644 --- a/Desktop.Linux/Controls/MessageBox.axaml +++ b/Desktop.XPlat/Controls/MessageBox.axaml @@ -3,8 +3,8 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" - xmlns:vm="clr-namespace:Remotely.Desktop.Linux.ViewModels;assembly=Remotely_Desktop" - x:Class="Remotely.Desktop.Linux.Controls.MessageBox" + xmlns:vm="clr-namespace:Remotely.Desktop.XPlat.ViewModels;assembly=Remotely_Desktop" + x:Class="Remotely.Desktop.XPlat.Controls.MessageBox" Icon="{Binding WindowIcon}" Title="{Binding Caption}" SizeToContent="WidthAndHeight" MinWidth="300" MinHeight="100" diff --git a/Desktop.Linux/Controls/MessageBox.axaml.cs b/Desktop.XPlat/Controls/MessageBox.axaml.cs similarity index 96% rename from Desktop.Linux/Controls/MessageBox.axaml.cs rename to Desktop.XPlat/Controls/MessageBox.axaml.cs index 7596a751..08173eff 100644 --- a/Desktop.Linux/Controls/MessageBox.axaml.cs +++ b/Desktop.XPlat/Controls/MessageBox.axaml.cs @@ -2,13 +2,13 @@ using Avalonia.Controls; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; -using Remotely.Desktop.Linux.ViewModels; +using Remotely.Desktop.XPlat.ViewModels; using Remotely.Shared.Utilities; using System; using System.Linq; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Controls +namespace Remotely.Desktop.XPlat.Controls { public class MessageBox : Window { diff --git a/Desktop.Linux/Desktop.Linux.csproj b/Desktop.XPlat/Desktop.XPlat.csproj similarity index 97% rename from Desktop.Linux/Desktop.Linux.csproj rename to Desktop.XPlat/Desktop.XPlat.csproj index 165b92c6..4b7763f8 100644 --- a/Desktop.Linux/Desktop.Linux.csproj +++ b/Desktop.XPlat/Desktop.XPlat.csproj @@ -4,7 +4,7 @@ net5.0 Assets\favicon.ico Remotely_Desktop - Remotely.Desktop.Linux + Remotely.Desktop.XPlat AnyCPU;x64;x86 diff --git a/Desktop.Linux/Native/LibX11.cs b/Desktop.XPlat/Native/Linux/LibX11.cs similarity index 99% rename from Desktop.Linux/Native/LibX11.cs rename to Desktop.XPlat/Native/Linux/LibX11.cs index 33ccf384..d4e9a6f0 100644 --- a/Desktop.Linux/Native/LibX11.cs +++ b/Desktop.XPlat/Native/Linux/LibX11.cs @@ -27,7 +27,7 @@ in this Software without prior written authorization from The Open Group. using System; using System.Runtime.InteropServices; -namespace Remotely.Desktop.Linux.Native +namespace Remotely.Desktop.XPlat.Native.Linux { public static unsafe class LibX11 { diff --git a/Desktop.Linux/Native/LibXtst.cs b/Desktop.XPlat/Native/Linux/LibXtst.cs similarity index 93% rename from Desktop.Linux/Native/LibXtst.cs rename to Desktop.XPlat/Native/Linux/LibXtst.cs index 1e74c74f..19fd546d 100644 --- a/Desktop.Linux/Native/LibXtst.cs +++ b/Desktop.XPlat/Native/Linux/LibXtst.cs @@ -1,7 +1,7 @@ using System; using System.Runtime.InteropServices; -namespace Remotely.Desktop.Linux.Native +namespace Remotely.Desktop.XPlat.Native.Linux { public class LibXtst { diff --git a/Desktop.Linux/Native/Libc.cs b/Desktop.XPlat/Native/Linux/Libc.cs similarity index 86% rename from Desktop.Linux/Native/Libc.cs rename to Desktop.XPlat/Native/Linux/Libc.cs index 7df9c0ab..30f90333 100644 --- a/Desktop.Linux/Native/Libc.cs +++ b/Desktop.XPlat/Native/Linux/Libc.cs @@ -5,7 +5,7 @@ using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Native +namespace Remotely.Desktop.XPlat.Native.Linux { public class Libc { diff --git a/Desktop.Linux/Native/libXrandr.cs b/Desktop.XPlat/Native/Linux/libXrandr.cs similarity index 98% rename from Desktop.Linux/Native/libXrandr.cs rename to Desktop.XPlat/Native/Linux/libXrandr.cs index 22132c72..a55c4263 100644 --- a/Desktop.Linux/Native/libXrandr.cs +++ b/Desktop.XPlat/Native/Linux/libXrandr.cs @@ -34,7 +34,7 @@ using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Native +namespace Remotely.Desktop.XPlat.Native.Linux { public static class LibXrandr { diff --git a/Desktop.Linux/Program.cs b/Desktop.XPlat/Program.cs similarity index 97% rename from Desktop.Linux/Program.cs rename to Desktop.XPlat/Program.cs index 52587b7f..7a2aa7e9 100644 --- a/Desktop.Linux/Program.cs +++ b/Desktop.XPlat/Program.cs @@ -6,7 +6,7 @@ using Remotely.Shared.Utilities; using System; using System.Threading; -namespace Remotely.Desktop.Linux +namespace Remotely.Desktop.XPlat { class Program { diff --git a/Desktop.Linux/Properties/PublishProfiles/desktop-linux-x64.pubxml b/Desktop.XPlat/Properties/PublishProfiles/desktop-linux-x64.pubxml similarity index 100% rename from Desktop.Linux/Properties/PublishProfiles/desktop-linux-x64.pubxml rename to Desktop.XPlat/Properties/PublishProfiles/desktop-linux-x64.pubxml diff --git a/Desktop.Linux/Properties/PublishProfiles/packaged-linux-x64.pubxml b/Desktop.XPlat/Properties/PublishProfiles/packaged-linux-x64.pubxml similarity index 100% rename from Desktop.Linux/Properties/PublishProfiles/packaged-linux-x64.pubxml rename to Desktop.XPlat/Properties/PublishProfiles/packaged-linux-x64.pubxml diff --git a/Desktop.Linux/Properties/launchSettings.json b/Desktop.XPlat/Properties/launchSettings.json similarity index 100% rename from Desktop.Linux/Properties/launchSettings.json rename to Desktop.XPlat/Properties/launchSettings.json diff --git a/Desktop.Linux/Services/AudioCapturerLinux.cs b/Desktop.XPlat/Services/AudioCapturerLinux.cs similarity index 88% rename from Desktop.Linux/Services/AudioCapturerLinux.cs rename to Desktop.XPlat/Services/AudioCapturerLinux.cs index ad7323c7..f336236e 100644 --- a/Desktop.Linux/Services/AudioCapturerLinux.cs +++ b/Desktop.XPlat/Services/AudioCapturerLinux.cs @@ -1,7 +1,7 @@ using Remotely.Desktop.Core.Interfaces; using System; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class AudioCapturerLinux : IAudioCapturer { diff --git a/Desktop.Linux/Services/ChatUiServiceLinux.cs b/Desktop.XPlat/Services/ChatUiServiceLinux.cs similarity index 92% rename from Desktop.Linux/Services/ChatUiServiceLinux.cs rename to Desktop.XPlat/Services/ChatUiServiceLinux.cs index 5f4be5d3..2eff2488 100644 --- a/Desktop.Linux/Services/ChatUiServiceLinux.cs +++ b/Desktop.XPlat/Services/ChatUiServiceLinux.cs @@ -1,9 +1,9 @@ using Avalonia.Controls; using Avalonia.Threading; using Remotely.Desktop.Core.Interfaces; -using Remotely.Desktop.Linux.Controls; -using Remotely.Desktop.Linux.ViewModels; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.Controls; +using Remotely.Desktop.XPlat.ViewModels; +using Remotely.Desktop.XPlat.Views; using Remotely.Shared.Models; using System; using System.Collections.Generic; @@ -14,7 +14,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class ChatUiServiceLinux : IChatUiService { diff --git a/Desktop.Linux/Services/ClipboardServiceLinux.cs b/Desktop.XPlat/Services/ClipboardServiceLinux.cs similarity index 98% rename from Desktop.Linux/Services/ClipboardServiceLinux.cs rename to Desktop.XPlat/Services/ClipboardServiceLinux.cs index d9c3ea0f..5a3b8c67 100644 --- a/Desktop.Linux/Services/ClipboardServiceLinux.cs +++ b/Desktop.XPlat/Services/ClipboardServiceLinux.cs @@ -4,7 +4,7 @@ using System; using System.Threading; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class ClipboardServiceLinux : IClipboardService { diff --git a/Desktop.Linux/Services/ConfigServiceLinux.cs b/Desktop.XPlat/Services/ConfigServiceLinux.cs similarity index 96% rename from Desktop.Linux/Services/ConfigServiceLinux.cs rename to Desktop.XPlat/Services/ConfigServiceLinux.cs index 641cc11b..0eadf56f 100644 --- a/Desktop.Linux/Services/ConfigServiceLinux.cs +++ b/Desktop.XPlat/Services/ConfigServiceLinux.cs @@ -5,7 +5,7 @@ using System; using System.IO; using System.Text.Json; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class ConfigServiceLinux : IConfigService { diff --git a/Desktop.Linux/Services/CursorIconWatcherLinux.cs b/Desktop.XPlat/Services/CursorIconWatcherLinux.cs similarity index 89% rename from Desktop.Linux/Services/CursorIconWatcherLinux.cs rename to Desktop.XPlat/Services/CursorIconWatcherLinux.cs index eac7eff7..f677b8a9 100644 --- a/Desktop.Linux/Services/CursorIconWatcherLinux.cs +++ b/Desktop.XPlat/Services/CursorIconWatcherLinux.cs @@ -3,7 +3,7 @@ using Remotely.Shared.Models; using System; using System.Drawing; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class CursorIconWatcherLinux : ICursorIconWatcher { diff --git a/Desktop.Linux/Services/Executor.cs b/Desktop.XPlat/Services/Executor.cs similarity index 95% rename from Desktop.Linux/Services/Executor.cs rename to Desktop.XPlat/Services/Executor.cs index e7d0b85a..0217eea9 100644 --- a/Desktop.Linux/Services/Executor.cs +++ b/Desktop.XPlat/Services/Executor.cs @@ -1,7 +1,7 @@ using System; using System.Windows.Input; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class Executor : ICommand { diff --git a/Desktop.Linux/Services/FileTransferServiceLinux.cs b/Desktop.XPlat/Services/FileTransferServiceLinux.cs similarity index 96% rename from Desktop.Linux/Services/FileTransferServiceLinux.cs rename to Desktop.XPlat/Services/FileTransferServiceLinux.cs index 527dd623..0cb78419 100644 --- a/Desktop.Linux/Services/FileTransferServiceLinux.cs +++ b/Desktop.XPlat/Services/FileTransferServiceLinux.cs @@ -2,9 +2,9 @@ using Remotely.Desktop.Core.Interfaces; using Remotely.Desktop.Core.Services; using Remotely.Desktop.Core.ViewModels; -using Remotely.Desktop.Linux.Controls; -using Remotely.Desktop.Linux.ViewModels; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.Controls; +using Remotely.Desktop.XPlat.ViewModels; +using Remotely.Desktop.XPlat.Views; using Remotely.Shared.Utilities; using System; using System.Collections.Concurrent; @@ -13,7 +13,7 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class FileTransferServiceLinux : IFileTransferService { diff --git a/Desktop.Linux/Services/KeyboardMouseInputLinux.cs b/Desktop.XPlat/Services/KeyboardMouseInputLinux.cs similarity index 98% rename from Desktop.Linux/Services/KeyboardMouseInputLinux.cs rename to Desktop.XPlat/Services/KeyboardMouseInputLinux.cs index f1bfbfcd..86f6046d 100644 --- a/Desktop.Linux/Services/KeyboardMouseInputLinux.cs +++ b/Desktop.XPlat/Services/KeyboardMouseInputLinux.cs @@ -1,11 +1,11 @@ using Remotely.Desktop.Core.Enums; using Remotely.Desktop.Core.Interfaces; using Remotely.Desktop.Core.Services; -using Remotely.Desktop.Linux.Native; +using Remotely.Desktop.XPlat.Native.Linux; using Remotely.Shared.Utilities; using System; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class KeyboardMouseInputLinux : IKeyboardMouseInput { diff --git a/Desktop.Linux/Services/RemoteControlAccessServiceLinux.cs b/Desktop.XPlat/Services/RemoteControlAccessServiceLinux.cs similarity index 92% rename from Desktop.Linux/Services/RemoteControlAccessServiceLinux.cs rename to Desktop.XPlat/Services/RemoteControlAccessServiceLinux.cs index 3482cb4f..e2bd90a9 100644 --- a/Desktop.Linux/Services/RemoteControlAccessServiceLinux.cs +++ b/Desktop.XPlat/Services/RemoteControlAccessServiceLinux.cs @@ -1,7 +1,7 @@ using Avalonia.Threading; using Remotely.Desktop.Core.Interfaces; -using Remotely.Desktop.Linux.ViewModels; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.ViewModels; +using Remotely.Desktop.XPlat.Views; using Remotely.Shared.Utilities; using System; using System.Collections.Generic; @@ -9,7 +9,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class RemoteControlAccessServiceLinux : IRemoteControlAccessService { diff --git a/Desktop.Linux/Services/ScreenCapturerLinux.cs b/Desktop.XPlat/Services/ScreenCapturerLinux.cs similarity index 98% rename from Desktop.Linux/Services/ScreenCapturerLinux.cs rename to Desktop.XPlat/Services/ScreenCapturerLinux.cs index a6d932e4..0adb0715 100644 --- a/Desktop.Linux/Services/ScreenCapturerLinux.cs +++ b/Desktop.XPlat/Services/ScreenCapturerLinux.cs @@ -1,5 +1,5 @@ using Remotely.Desktop.Core.Interfaces; -using Remotely.Desktop.Linux.Native; +using Remotely.Desktop.XPlat.Native.Linux; using Remotely.Shared.Utilities; using System; using System.Collections.Generic; @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; using System.Text.Json; using System.Threading; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class ScreenCapturerLinux : IScreenCapturer { diff --git a/Desktop.Linux/Services/SessionIndicatorLinux.cs b/Desktop.XPlat/Services/SessionIndicatorLinux.cs similarity index 83% rename from Desktop.Linux/Services/SessionIndicatorLinux.cs rename to Desktop.XPlat/Services/SessionIndicatorLinux.cs index a9b74e4a..e32adf9b 100644 --- a/Desktop.Linux/Services/SessionIndicatorLinux.cs +++ b/Desktop.XPlat/Services/SessionIndicatorLinux.cs @@ -1,9 +1,9 @@ using Avalonia.Controls; using Avalonia.Threading; using Remotely.Desktop.Core.Interfaces; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.Views; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class SessionIndicatorLinux : ISessionIndicator { diff --git a/Desktop.Linux/Services/ShutdownServiceLinux.cs b/Desktop.XPlat/Services/ShutdownServiceLinux.cs similarity index 93% rename from Desktop.Linux/Services/ShutdownServiceLinux.cs rename to Desktop.XPlat/Services/ShutdownServiceLinux.cs index bc1a7962..21e15f2b 100644 --- a/Desktop.Linux/Services/ShutdownServiceLinux.cs +++ b/Desktop.XPlat/Services/ShutdownServiceLinux.cs @@ -7,7 +7,7 @@ using System; using System.Diagnostics; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Services +namespace Remotely.Desktop.XPlat.Services { public class ShutdownServiceLinux : IShutdownService { diff --git a/Desktop.Linux/ViewLocator.cs b/Desktop.XPlat/ViewLocator.cs similarity index 90% rename from Desktop.Linux/ViewLocator.cs rename to Desktop.XPlat/ViewLocator.cs index 35764871..36aace43 100644 --- a/Desktop.Linux/ViewLocator.cs +++ b/Desktop.XPlat/ViewLocator.cs @@ -1,9 +1,9 @@ using Avalonia.Controls; using Avalonia.Controls.Templates; -using Remotely.Desktop.Linux.ViewModels; +using Remotely.Desktop.XPlat.ViewModels; using System; -namespace Remotely.Desktop.Linux +namespace Remotely.Desktop.XPlat { public class ViewLocator : IDataTemplate { diff --git a/Desktop.Linux/ViewModels/BrandedViewModelBase.cs b/Desktop.XPlat/ViewModels/BrandedViewModelBase.cs similarity index 96% rename from Desktop.Linux/ViewModels/BrandedViewModelBase.cs rename to Desktop.XPlat/ViewModels/BrandedViewModelBase.cs index 2f6752b8..326072bb 100644 --- a/Desktop.Linux/ViewModels/BrandedViewModelBase.cs +++ b/Desktop.XPlat/ViewModels/BrandedViewModelBase.cs @@ -11,7 +11,7 @@ using System.IO; using System.Linq; using System.Reflection; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class BrandedViewModelBase : ReactiveViewModel { @@ -66,7 +66,7 @@ namespace Remotely.Desktop.Linux.ViewModels } else { - using var imageStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Remotely.Desktop.Linux.Assets.Remotely_Icon.png"); + using var imageStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Remotely.Desktop.XPlat.Assets.Remotely_Icon.png"); Icon = new Bitmap(imageStream); } diff --git a/Desktop.Linux/ViewModels/ChatWindowViewModel.cs b/Desktop.XPlat/ViewModels/ChatWindowViewModel.cs similarity index 96% rename from Desktop.Linux/ViewModels/ChatWindowViewModel.cs rename to Desktop.XPlat/ViewModels/ChatWindowViewModel.cs index 8bb415e8..24798a3a 100644 --- a/Desktop.Linux/ViewModels/ChatWindowViewModel.cs +++ b/Desktop.XPlat/ViewModels/ChatWindowViewModel.cs @@ -1,6 +1,6 @@ using Avalonia.Controls; using ReactiveUI; -using Remotely.Desktop.Linux.Services; +using Remotely.Desktop.XPlat.Services; using Remotely.Shared.Models; using System.Collections.ObjectModel; using System.IO; @@ -8,7 +8,7 @@ using System.Text.Json; using System.Threading.Tasks; using System.Windows.Input; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class ChatWindowViewModel : BrandedViewModelBase { diff --git a/Desktop.Linux/ViewModels/FileTransferWindowViewModel.cs b/Desktop.XPlat/ViewModels/FileTransferWindowViewModel.cs similarity index 96% rename from Desktop.Linux/ViewModels/FileTransferWindowViewModel.cs rename to Desktop.XPlat/ViewModels/FileTransferWindowViewModel.cs index ebe059e5..2a57534a 100644 --- a/Desktop.Linux/ViewModels/FileTransferWindowViewModel.cs +++ b/Desktop.XPlat/ViewModels/FileTransferWindowViewModel.cs @@ -4,8 +4,8 @@ using ReactiveUI; using Remotely.Desktop.Core.Interfaces; using Remotely.Desktop.Core.Services; using Remotely.Desktop.Core.ViewModels; -using Remotely.Desktop.Linux.Services; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.Services; +using Remotely.Desktop.XPlat.Views; using System; using System.Collections.ObjectModel; using System.IO; @@ -13,7 +13,7 @@ using System.Linq; using System.Threading.Tasks; using System.Windows.Input; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class FileTransferWindowViewModel : BrandedViewModelBase { diff --git a/Desktop.Linux/ViewModels/HostNamePromptViewModel.cs b/Desktop.XPlat/ViewModels/HostNamePromptViewModel.cs similarity index 84% rename from Desktop.Linux/ViewModels/HostNamePromptViewModel.cs rename to Desktop.XPlat/ViewModels/HostNamePromptViewModel.cs index 4a0f97bd..db3d3c5d 100644 --- a/Desktop.Linux/ViewModels/HostNamePromptViewModel.cs +++ b/Desktop.XPlat/ViewModels/HostNamePromptViewModel.cs @@ -1,9 +1,9 @@ using Avalonia.Controls; using ReactiveUI; -using Remotely.Desktop.Linux.Services; +using Remotely.Desktop.XPlat.Services; using System.Windows.Input; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class HostNamePromptViewModel : BrandedViewModelBase { diff --git a/Desktop.Linux/ViewModels/MainWindowViewModel.cs b/Desktop.XPlat/ViewModels/MainWindowViewModel.cs similarity index 98% rename from Desktop.Linux/ViewModels/MainWindowViewModel.cs rename to Desktop.XPlat/ViewModels/MainWindowViewModel.cs index 80858e73..6d5d040c 100644 --- a/Desktop.Linux/ViewModels/MainWindowViewModel.cs +++ b/Desktop.XPlat/ViewModels/MainWindowViewModel.cs @@ -6,10 +6,10 @@ using ReactiveUI; using Remotely.Desktop.Core; using Remotely.Desktop.Core.Interfaces; using Remotely.Desktop.Core.Services; -using Remotely.Desktop.Linux.Controls; -using Remotely.Desktop.Linux.Native; -using Remotely.Desktop.Linux.Services; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.Controls; +using Remotely.Desktop.XPlat.Native.Linux; +using Remotely.Desktop.XPlat.Services; +using Remotely.Desktop.XPlat.Views; using Remotely.Shared.Models; using Remotely.Shared.Utilities; using System; @@ -19,7 +19,7 @@ using System.Linq; using System.Threading.Tasks; using System.Windows.Input; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class MainWindowViewModel : BrandedViewModelBase { diff --git a/Desktop.Linux/ViewModels/MessageBoxViewModel.cs b/Desktop.XPlat/ViewModels/MessageBoxViewModel.cs similarity index 92% rename from Desktop.Linux/ViewModels/MessageBoxViewModel.cs rename to Desktop.XPlat/ViewModels/MessageBoxViewModel.cs index 22b31fa6..ba5a5e6c 100644 --- a/Desktop.Linux/ViewModels/MessageBoxViewModel.cs +++ b/Desktop.XPlat/ViewModels/MessageBoxViewModel.cs @@ -1,10 +1,10 @@ using Avalonia.Controls; using ReactiveUI; -using Remotely.Desktop.Linux.Controls; -using Remotely.Desktop.Linux.Services; +using Remotely.Desktop.XPlat.Controls; +using Remotely.Desktop.XPlat.Services; using System.Windows.Input; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class MessageBoxViewModel : BrandedViewModelBase { diff --git a/Desktop.Linux/ViewModels/PromptForAccessWindowViewModel.cs b/Desktop.XPlat/ViewModels/PromptForAccessWindowViewModel.cs similarity index 95% rename from Desktop.Linux/ViewModels/PromptForAccessWindowViewModel.cs rename to Desktop.XPlat/ViewModels/PromptForAccessWindowViewModel.cs index 9b0f3b34..dbec8797 100644 --- a/Desktop.Linux/ViewModels/PromptForAccessWindowViewModel.cs +++ b/Desktop.XPlat/ViewModels/PromptForAccessWindowViewModel.cs @@ -1,12 +1,12 @@ using Avalonia.Controls; using ReactiveUI; -using Remotely.Desktop.Linux.Services; +using Remotely.Desktop.XPlat.Services; using System; using System.Collections.Generic; using System.Text; using System.Windows.Input; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class PromptForAccessWindowViewModel : BrandedViewModelBase { diff --git a/Desktop.Linux/ViewModels/ReactiveViewModel.cs b/Desktop.XPlat/ViewModels/ReactiveViewModel.cs similarity index 67% rename from Desktop.Linux/ViewModels/ReactiveViewModel.cs rename to Desktop.XPlat/ViewModels/ReactiveViewModel.cs index 72886e72..92bd489f 100644 --- a/Desktop.Linux/ViewModels/ReactiveViewModel.cs +++ b/Desktop.XPlat/ViewModels/ReactiveViewModel.cs @@ -1,6 +1,6 @@ using ReactiveUI; -namespace Remotely.Desktop.Linux.ViewModels +namespace Remotely.Desktop.XPlat.ViewModels { public class ReactiveViewModel : ReactiveObject { diff --git a/Desktop.Linux/Views/ChatWindow.axaml b/Desktop.XPlat/Views/ChatWindow.axaml similarity index 97% rename from Desktop.Linux/Views/ChatWindow.axaml rename to Desktop.XPlat/Views/ChatWindow.axaml index 34b6d82a..f91bef51 100644 --- a/Desktop.Linux/Views/ChatWindow.axaml +++ b/Desktop.XPlat/Views/ChatWindow.axaml @@ -2,10 +2,10 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:vm="clr-namespace:Remotely.Desktop.Linux.ViewModels;assembly=Remotely_Desktop" + xmlns:vm="clr-namespace:Remotely.Desktop.XPlat.ViewModels;assembly=Remotely_Desktop" xmlns:Models="clr-namespace:Remotely.Shared.Models;assembly=Remotely_Shared" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" - x:Class="Remotely.Desktop.Linux.Views.ChatWindow" + x:Class="Remotely.Desktop.XPlat.Views.ChatWindow" Icon="{Binding WindowIcon}" HasSystemDecorations="False" BorderBrush="DimGray" diff --git a/Desktop.Linux/Views/ChatWindow.axaml.cs b/Desktop.XPlat/Views/ChatWindow.axaml.cs similarity index 96% rename from Desktop.Linux/Views/ChatWindow.axaml.cs rename to Desktop.XPlat/Views/ChatWindow.axaml.cs index 2819e07d..73ef3cee 100644 --- a/Desktop.Linux/Views/ChatWindow.axaml.cs +++ b/Desktop.XPlat/Views/ChatWindow.axaml.cs @@ -1,11 +1,11 @@ using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; -using Remotely.Desktop.Linux.ViewModels; +using Remotely.Desktop.XPlat.ViewModels; using System; using System.Threading.Tasks; -namespace Remotely.Desktop.Linux.Views +namespace Remotely.Desktop.XPlat.Views { public class ChatWindow : Window { diff --git a/Desktop.Linux/Views/FileTransferWindow.axaml b/Desktop.XPlat/Views/FileTransferWindow.axaml similarity index 93% rename from Desktop.Linux/Views/FileTransferWindow.axaml rename to Desktop.XPlat/Views/FileTransferWindow.axaml index dd78f64b..f43a134a 100644 --- a/Desktop.Linux/Views/FileTransferWindow.axaml +++ b/Desktop.XPlat/Views/FileTransferWindow.axaml @@ -2,10 +2,10 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:vm="clr-namespace:Remotely.Desktop.Linux.ViewModels;assembly=Remotely_Desktop" - xmlns:local="clr-namespace:Remotely.Desktop.Linux.Views;assembly=Remotely_Desktop" + xmlns:vm="clr-namespace:Remotely.Desktop.XPlat.ViewModels;assembly=Remotely_Desktop" + xmlns:local="clr-namespace:Remotely.Desktop.XPlat.Views;assembly=Remotely_Desktop" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" - x:Class="Remotely.Desktop.Linux.Views.FileTransferWindow" + x:Class="Remotely.Desktop.XPlat.Views.FileTransferWindow" Title="File Transfer" Height="300" Width="400" Topmost="True" diff --git a/Desktop.Linux/Views/FileTransferWindow.axaml.cs b/Desktop.XPlat/Views/FileTransferWindow.axaml.cs similarity index 94% rename from Desktop.Linux/Views/FileTransferWindow.axaml.cs rename to Desktop.XPlat/Views/FileTransferWindow.axaml.cs index 4a62b254..0648eca1 100644 --- a/Desktop.Linux/Views/FileTransferWindow.axaml.cs +++ b/Desktop.XPlat/Views/FileTransferWindow.axaml.cs @@ -3,7 +3,7 @@ using Avalonia.Controls; using Avalonia.Markup.Xaml; using System; -namespace Remotely.Desktop.Linux.Views +namespace Remotely.Desktop.XPlat.Views { public class FileTransferWindow : Window { diff --git a/Desktop.Linux/Views/HostNamePrompt.axaml b/Desktop.XPlat/Views/HostNamePrompt.axaml similarity index 89% rename from Desktop.Linux/Views/HostNamePrompt.axaml rename to Desktop.XPlat/Views/HostNamePrompt.axaml index f033013d..8ae7968e 100644 --- a/Desktop.Linux/Views/HostNamePrompt.axaml +++ b/Desktop.XPlat/Views/HostNamePrompt.axaml @@ -3,8 +3,8 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" - x:Class="Remotely.Desktop.Linux.Views.HostNamePrompt" - xmlns:ViewModels="clr-namespace:Remotely.Desktop.Linux.ViewModels;assembly=Remotely_Desktop" + x:Class="Remotely.Desktop.XPlat.Views.HostNamePrompt" + xmlns:ViewModels="clr-namespace:Remotely.Desktop.XPlat.ViewModels;assembly=Remotely_Desktop" Title="Host Name" Icon="{Binding WindowIcon}" Height="150" Width="350" diff --git a/Desktop.Linux/Views/HostNamePrompt.axaml.cs b/Desktop.XPlat/Views/HostNamePrompt.axaml.cs similarity index 79% rename from Desktop.Linux/Views/HostNamePrompt.axaml.cs rename to Desktop.XPlat/Views/HostNamePrompt.axaml.cs index 9b274b2f..18208441 100644 --- a/Desktop.Linux/Views/HostNamePrompt.axaml.cs +++ b/Desktop.XPlat/Views/HostNamePrompt.axaml.cs @@ -1,10 +1,10 @@ using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; -using Remotely.Desktop.Linux.ViewModels; -using Remotely.Desktop.Linux.Views; +using Remotely.Desktop.XPlat.ViewModels; +using Remotely.Desktop.XPlat.Views; -namespace Remotely.Desktop.Linux.Views +namespace Remotely.Desktop.XPlat.Views { public class HostNamePrompt : Window { diff --git a/Desktop.Linux/Views/MainWindow.axaml b/Desktop.XPlat/Views/MainWindow.axaml similarity index 97% rename from Desktop.Linux/Views/MainWindow.axaml rename to Desktop.XPlat/Views/MainWindow.axaml index 8f74e565..d7df046b 100644 --- a/Desktop.Linux/Views/MainWindow.axaml +++ b/Desktop.XPlat/Views/MainWindow.axaml @@ -1,10 +1,10 @@  diff --git a/Desktop.Linux/Views/MainWindow.axaml.cs b/Desktop.XPlat/Views/MainWindow.axaml.cs similarity index 92% rename from Desktop.Linux/Views/MainWindow.axaml.cs rename to Desktop.XPlat/Views/MainWindow.axaml.cs index 7ee60f2f..2a45aa64 100644 --- a/Desktop.Linux/Views/MainWindow.axaml.cs +++ b/Desktop.XPlat/Views/MainWindow.axaml.cs @@ -1,9 +1,9 @@ using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; -using Remotely.Desktop.Linux.ViewModels; +using Remotely.Desktop.XPlat.ViewModels; -namespace Remotely.Desktop.Linux.Views +namespace Remotely.Desktop.XPlat.Views { public class MainWindow : Window { diff --git a/Desktop.Linux/Views/PromptForAccessWindow.axaml b/Desktop.XPlat/Views/PromptForAccessWindow.axaml similarity index 96% rename from Desktop.Linux/Views/PromptForAccessWindow.axaml rename to Desktop.XPlat/Views/PromptForAccessWindow.axaml index e8ef7f3d..56752d42 100644 --- a/Desktop.Linux/Views/PromptForAccessWindow.axaml +++ b/Desktop.XPlat/Views/PromptForAccessWindow.axaml @@ -2,9 +2,9 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:vm="clr-namespace:Remotely.Desktop.Linux.ViewModels;assembly=Remotely_Desktop" + xmlns:vm="clr-namespace:Remotely.Desktop.XPlat.ViewModels;assembly=Remotely_Desktop" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" - x:Class="Remotely.Desktop.Linux.Views.PromptForAccessWindow" + x:Class="Remotely.Desktop.XPlat.Views.PromptForAccessWindow" HasSystemDecorations="False" BorderBrush="DimGray" BorderThickness="1" diff --git a/Desktop.Linux/Views/PromptForAccessWindow.axaml.cs b/Desktop.XPlat/Views/PromptForAccessWindow.axaml.cs similarity index 95% rename from Desktop.Linux/Views/PromptForAccessWindow.axaml.cs rename to Desktop.XPlat/Views/PromptForAccessWindow.axaml.cs index ffc93c29..08cbacc8 100644 --- a/Desktop.Linux/Views/PromptForAccessWindow.axaml.cs +++ b/Desktop.XPlat/Views/PromptForAccessWindow.axaml.cs @@ -3,7 +3,7 @@ using Avalonia.Controls; using Avalonia.Markup.Xaml; using System; -namespace Remotely.Desktop.Linux.Views +namespace Remotely.Desktop.XPlat.Views { public class PromptForAccessWindow : Window { diff --git a/Desktop.Linux/Views/SessionIndicatorWindow.axaml b/Desktop.XPlat/Views/SessionIndicatorWindow.axaml similarity index 88% rename from Desktop.Linux/Views/SessionIndicatorWindow.axaml rename to Desktop.XPlat/Views/SessionIndicatorWindow.axaml index 9a9ced59..a382c17d 100644 --- a/Desktop.Linux/Views/SessionIndicatorWindow.axaml +++ b/Desktop.XPlat/Views/SessionIndicatorWindow.axaml @@ -2,11 +2,11 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:vm="clr-namespace:Remotely.Desktop.Linux.ViewModels;assembly=Remotely_Desktop" + xmlns:vm="clr-namespace:Remotely.Desktop.XPlat.ViewModels;assembly=Remotely_Desktop" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" Width="300" Height="100" - x:Class="Remotely.Desktop.Linux.Views.SessionIndicatorWindow" + x:Class="Remotely.Desktop.XPlat.Views.SessionIndicatorWindow" Background="#2b2726" Title="{Binding ProductName}p" Icon="{Binding WindowIcon}" diff --git a/Desktop.Linux/Views/SessionIndicatorWindow.axaml.cs b/Desktop.XPlat/Views/SessionIndicatorWindow.axaml.cs similarity index 95% rename from Desktop.Linux/Views/SessionIndicatorWindow.axaml.cs rename to Desktop.XPlat/Views/SessionIndicatorWindow.axaml.cs index b07f1ae6..49616345 100644 --- a/Desktop.Linux/Views/SessionIndicatorWindow.axaml.cs +++ b/Desktop.XPlat/Views/SessionIndicatorWindow.axaml.cs @@ -4,10 +4,10 @@ using Avalonia.Markup.Xaml; using Microsoft.Extensions.DependencyInjection; using Remotely.Desktop.Core; using Remotely.Desktop.Core.Interfaces; -using Remotely.Desktop.Linux.Controls; +using Remotely.Desktop.XPlat.Controls; using System; -namespace Remotely.Desktop.Linux.Views +namespace Remotely.Desktop.XPlat.Views { public class SessionIndicatorWindow : Window { diff --git a/Desktop.Linux/nuget.config b/Desktop.XPlat/nuget.config similarity index 100% rename from Desktop.Linux/nuget.config rename to Desktop.XPlat/nuget.config diff --git a/Remotely.sln b/Remotely.sln index c4e5c5f9..5b00862e 100644 --- a/Remotely.sln +++ b/Remotely.sln @@ -29,7 +29,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Desktop.Core", "Desktop.Cor EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shared", "Shared\Shared.csproj", "{3B1B36AE-7A60-4974-A868-1E24894D4149}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Desktop.Linux", "Desktop.Linux\Desktop.Linux.csproj", "{FF7FD66A-B3E2-4D39-A457-A00C94EDE9E6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Desktop.XPlat", "Desktop.XPlat\Desktop.XPlat.csproj", "{FF7FD66A-B3E2-4D39-A457-A00C94EDE9E6}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Desktop.Win", "Desktop.Win\Desktop.Win.csproj", "{6B726FC4-A907-4813-BF38-3342E02AA8D2}" EndProject diff --git a/Server/API/ClientDownloadsController.cs b/Server/API/ClientDownloadsController.cs index 430b1c6a..26e16c39 100644 --- a/Server/API/ClientDownloadsController.cs +++ b/Server/API/ClientDownloadsController.cs @@ -47,12 +47,12 @@ namespace Remotely.Server.API } case "UbuntuDesktop": { - var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "Remotely_Desktop"); + var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "Linux-x64", "Remotely_Desktop"); return await GetDesktopFile(filePath); } - case "MacOS": + case "MacOS-x64": { - var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "MacOS", "Remotely_Desktop"); + var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "MacOS-x64", "Remotely_Desktop"); return await GetDesktopFile(filePath); } default: @@ -78,12 +78,12 @@ namespace Remotely.Server.API } case "UbuntuDesktop": { - var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "Remotely_Desktop"); + var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "Linux-x64", "Remotely_Desktop"); return await GetDesktopFile(filePath, organizationId); } case "MacOS": { - var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "MacOS", "Remotely_Desktop"); + var filePath = Path.Combine(_hostEnv.WebRootPath, "Content", "MacOS-x64", "Remotely_Desktop"); return await GetDesktopFile(filePath); } default: @@ -182,9 +182,9 @@ namespace Remotely.Server.API return await GetBashInstaller(fileName, organizationId); } - case "MacOS": + case "MacOS-x64": { - var fileName = "Install-MacOS.sh"; + var fileName = "Install-MacOS-x64.sh"; return await GetBashInstaller(fileName, organizationId); } diff --git a/Server/Pages/Downloads.razor b/Server/Pages/Downloads.razor index 1bb6d7eb..0bcc3fd0 100644 --- a/Server/Pages/Downloads.razor +++ b/Server/Pages/Downloads.razor @@ -43,7 +43,7 @@

Download:
- macOS Executable + macOS Executable

@@ -188,13 +188,13 @@
-
macOS (10.5+)
+
macOS x64 (10.15+)

Download:
- macOS ZSH Installer + macOS ZSH Installer
- macOS Files Only + macOS Files Only

Example Install:
@@ -204,12 +204,12 @@

Example Local Install:
- sudo [path]/Install-MacOS.sh --path [path]/Remotely-MacOS.zip + sudo [path]/Install-MacOS-x64.sh --path [path]/Remotely-MacOS-x64.zip

Example Uninstall:
- sudo [path]/Install-MacOS.sh --uninstall + sudo [path]/Install-MacOS-x64.sh --uninstall

} diff --git a/Server/wwwroot/Content/Install-MacOS.sh b/Server/wwwroot/Content/Install-MacOS-x64.sh similarity index 100% rename from Server/wwwroot/Content/Install-MacOS.sh rename to Server/wwwroot/Content/Install-MacOS-x64.sh