diff --git a/src/modules/powerdisplay/PowerDisplay/Configuration/AppConstants.cs b/src/modules/powerdisplay/PowerDisplay/Configuration/AppConstants.cs
index 30467dd4b4..82642c8952 100644
--- a/src/modules/powerdisplay/PowerDisplay/Configuration/AppConstants.cs
+++ b/src/modules/powerdisplay/PowerDisplay/Configuration/AppConstants.cs
@@ -52,12 +52,11 @@ namespace PowerDisplay.Configuration
public static class UI
{
// Window dimensions
- public const int WindowWidth = 640;
+ public const int WindowWidth = 386;
public const int MaxWindowHeight = 650;
- public const int WindowRightMargin = 10;
+ public const int WindowRightMargin = 12;
// Animation and layout update delays (milliseconds)
- public const int AnimationDelayMs = 100;
public const int LayoutUpdateDelayMs = 50;
public const int MonitorDiscoveryDelayMs = 200;
diff --git a/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj b/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj
index 2e9f8ff011..d4208b63db 100644
--- a/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj
+++ b/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj
@@ -45,6 +45,7 @@
+
diff --git a/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml b/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml
index 60a938ac5f..57164b3993 100644
--- a/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml
+++ b/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml
@@ -1,351 +1,241 @@
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
-
+
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
+
-
+
+
+
+
+
+
-
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml.cs b/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml.cs
index 269715013e..894b82df90 100644
--- a/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml.cs
+++ b/src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml.cs
@@ -24,6 +24,7 @@ using PowerDisplay.Native;
using PowerDisplay.ViewModels;
using Windows.Graphics;
using WinRT.Interop;
+using WinUIEx;
using static PowerDisplay.Native.PInvoke;
using Monitor = PowerDisplay.Core.Models.Monitor;
@@ -33,7 +34,7 @@ namespace PowerDisplay
/// PowerDisplay main window
///
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.PublicMethods)]
- public sealed partial class MainWindow : Window, IDisposable
+ public sealed partial class MainWindow : WindowEx, IDisposable
{
private readonly ISettingsUtils _settingsUtils = new SettingsUtils();
private MainViewModel _viewModel = null!;
@@ -157,7 +158,6 @@ namespace PowerDisplay
// Set text block content
ScanningMonitorsTextBlock.Text = loader.GetString("ScanningMonitorsText");
- NoMonitorsTextBlock.Text = loader.GetString("NoMonitorsText");
AdjustBrightnessTextBlock.Text = loader.GetString("AdjustBrightnessText");
// Set button tooltips
@@ -170,7 +170,6 @@ namespace PowerDisplay
// Use English defaults if resource loading fails
Logger.LogWarning($"Failed to load localized strings: {ex.Message}");
ScanningMonitorsTextBlock.Text = "Scanning monitors...";
- NoMonitorsTextBlock.Text = "No monitors detected";
AdjustBrightnessTextBlock.Text = "PowerDisplay";
Microsoft.UI.Xaml.Controls.ToolTipService.SetToolTip(LinkButton, "Synchronize all monitors to the same brightness");
@@ -280,25 +279,8 @@ namespace PowerDisplay
{
var hWnd = WinRT.Interop.WindowNative.GetWindowHandle(this);
- // Use storyboard animation for window exit
- if (RootGrid.Resources.ContainsKey("SlideOutStoryboard"))
- {
- var slideOutStoryboard = RootGrid.Resources["SlideOutStoryboard"] as Storyboard;
- if (slideOutStoryboard != null)
- {
- slideOutStoryboard.Completed += (s, e) =>
- {
- // Hide window after animation completes
- WindowHelper.ShowWindow(hWnd, false);
- };
- slideOutStoryboard.Begin();
- }
- }
- else
- {
- // Fallback: hide immediately if animation not found
- WindowHelper.ShowWindow(hWnd, false);
- }
+ // Fallback: hide immediately if animation not found
+ WindowHelper.ShowWindow(hWnd, false);
}
///
@@ -559,26 +541,6 @@ namespace PowerDisplay
titleBar.SetDragRectangles(Array.Empty());
}
- // Set modern Mica Alt backdrop for Windows 11
- try
- {
- // Use Mica Alt for a more modern appearance
- if (Microsoft.UI.Composition.SystemBackdrops.MicaController.IsSupported())
- {
- this.SystemBackdrop = new Microsoft.UI.Xaml.Media.MicaBackdrop();
- }
- else
- {
- // Fallback to basic backdrop for older systems
- this.SystemBackdrop = new Microsoft.UI.Xaml.Media.DesktopAcrylicBackdrop();
- }
- }
- catch
- {
- // Fallback: use solid color background
- this.SystemBackdrop = null;
- }
-
// Use Win32 API to further disable window moving
WindowHelper.DisableWindowMovingAndResizing(hWnd);
@@ -612,6 +574,8 @@ namespace PowerDisplay
var availableWidth = (double)AppConstants.UI.WindowWidth;
var contentHeight = GetContentHeight(availableWidth);
+ contentHeight = 720;
+
// Account for display scaling
var scale = RootGrid.XamlRoot?.RasterizationScale ?? 1.0;
var scaledHeight = (int)Math.Ceiling(contentHeight * scale);
diff --git a/src/modules/powerdisplay/PowerDisplay/Strings/en-us/Resources.resw b/src/modules/powerdisplay/PowerDisplay/Strings/en-us/Resources.resw
index 707e25a557..a19698d134 100644
--- a/src/modules/powerdisplay/PowerDisplay/Strings/en-us/Resources.resw
+++ b/src/modules/powerdisplay/PowerDisplay/Strings/en-us/Resources.resw
@@ -15,7 +15,7 @@
Scanning monitors...
-
+
No monitors detected