fix(ui): open diff viewer and merge window as independent top-level windows

Owned windows are pinned above their owner by Windows, so the main window
could never come to the front. Show() without an owner and centre manually.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-10-01 14:49:27 +02:00
co-authored by Claude Sonnet 5.5
parent 5dae5ff679
commit 0fea339b6d
6 changed files with 35 additions and 5 deletions
@@ -11,7 +11,6 @@
WindowDecorations="BorderOnly"
ExtendClientAreaToDecorationsHint="True"
ExtendClientAreaTitleBarHeightHint="-1"
WindowStartupLocation="CenterOwner"
Background="{DynamicResource SurfaceBrush}">
<Window.KeyBindings>
@@ -11,7 +11,6 @@
WindowDecorations="BorderOnly"
ExtendClientAreaToDecorationsHint="True"
ExtendClientAreaTitleBarHeightHint="-1"
WindowStartupLocation="CenterOwner"
Background="{DynamicResource SurfaceBrush}">
<Window.KeyBindings>
@@ -41,7 +41,9 @@ public partial class MergeModalView : Window
OpenWindows.Remove(vm.TaskId);
window._closed.TrySetResult();
};
window.Show(owner);
// Independent top-level (no owner): an owned window is pinned above its owner by the OS.
window.CenterOn(owner);
window.Show();
return window._closed.Task;
}
}