Skip to content

Commit

Permalink
Feature: Scale RDP session based on per monitor DPI & make reconnect …
Browse files Browse the repository at this point in the history
…faster (#2968)

* Feature: Scale rdp session and use UpdateSessionDisplaySettings instead of reconnect

* Chore: Cleanup

* Fix: Set correct size for dpi

* Fix: Rounding issue

* Feature: RDP scaling

* Docs: ...
  • Loading branch information
BornToBeRoot authored Dec 31, 2024
1 parent 6d2c6a1 commit e7116f6
Show file tree
Hide file tree
Showing 8 changed files with 343 additions and 125 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ private void RemoteDesktop_FullscreenAction(object view)
private void RemoteDesktop_AdjustScreenAction(object view)
{
if (view is RemoteDesktopControl control)
control.AdjustScreen();
control.AdjustScreen(force:true);
}

public ICommand RemoteDesktop_SendCtrlAltDelCommand =>
Expand Down
1 change: 1 addition & 0 deletions Source/NETworkManager/Controls/IDragablzTabItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ public interface IDragablzTabItem
/// </summary>
public void CloseTab()
{

}
}
32 changes: 9 additions & 23 deletions Source/NETworkManager/Controls/RemoteDesktopControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,19 @@
xmlns:localization="clr-namespace:NETworkManager.Localization.Resources;assembly=NETworkManager.Localization"
xmlns:local="clr-namespace:NETworkManager.Controls"
xmlns:settings="clr-namespace:NETworkManager.Settings;assembly=NETworkManager.Settings"
mc:Ignorable="d" Loaded="UserControl_Loaded"
mc:Ignorable="d" Loaded="UserControl_Loaded"
d:DataContext="{d:DesignInstance local:RemoteDesktopControl}">
<local:UserControlBase.Resources>
<converters:BooleanReverseConverter x:Key="BooleanReverseConverter" />
<converters:BooleanReverseToVisibilityCollapsedConverter x:Key="BooleanReverseToVisibilityCollapsedConverter" />
<converters:BooleanReverseToVisibilityHiddenConverter x:Key="BooleanReverseToVisibilityHiddenConverter" />
<converters:BooleanToVisibilityCollapsedConverter x:Key="BooleanToVisibilityCollapsedConverter" />
</local:UserControlBase.Resources>
<Grid x:Name="RdpGrid" SizeChanged="RdpGrid_SizeChanged">
<WindowsFormsHost MaxWidth="{Binding RdpClientWidth, Mode=OneWay}"
MaxHeight="{Binding RdpClientHeight, Mode=OneWay}"
Background="{DynamicResource ResourceKey=MahApps.Brushes.Window.Background}">
<Grid x:Name="RdpGrid">
<WindowsFormsHost MaxWidth="{Binding WindowsFormsHostMaxWidth, Mode=OneWay}"
MaxHeight="{Binding WindowsFormsHostMaxHeight, Mode=OneWay}"
Background="{DynamicResource ResourceKey=MahApps.Brushes.Window.Background}"
DpiChanged="WindowsFormsHost_DpiChanged">
<WindowsFormsHost.Style>
<Style TargetType="{x:Type WindowsFormsHost}">
<Style.Triggers>
Expand All @@ -31,14 +32,11 @@
</DataTrigger>
<DataTrigger Binding="{Binding IsConnected}" Value="False">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
<DataTrigger Binding="{Binding IsReconnecting}" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</DataTrigger>
</Style.Triggers>
</Style>
</WindowsFormsHost.Style>
<mstsc:AxMsRdpClient9NotSafeForScripting x:Name="RdpClient" />
<mstsc:AxMsRdpClient10NotSafeForScripting x:Name="RdpClient" />
</WindowsFormsHost>
<Grid VerticalAlignment="Center" HorizontalAlignment="Center" TextBlock.TextAlignment="Center"
Visibility="{Binding IsConnected, Converter={StaticResource BooleanReverseToVisibilityCollapsedConverter}}">
Expand All @@ -65,18 +63,6 @@
<TextBlock Grid.Row="3" Text="{x:Static localization:Strings.ConnectingDots}"
Style="{StaticResource MessageTextBlock}"
Visibility="{Binding IsConnecting, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}" />
</Grid>
<Grid VerticalAlignment="Center" HorizontalAlignment="Center" TextBlock.TextAlignment="Center"
Visibility="{Binding IsReconnecting, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="20" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<mah:ProgressRing Grid.Row="0" Grid.RowSpan="2" Height="50" Width="50" />
<TextBlock Grid.Row="3" Text="{x:Static localization:Strings.ConnectingDots}"
Style="{StaticResource MessageTextBlock}" />
</Grid>
</Grid>
</Grid>
</local:UserControlBase>
Loading

0 comments on commit e7116f6

Please sign in to comment.