diff --git a/SafeExamBrowser.Client/ClientController.cs b/SafeExamBrowser.Client/ClientController.cs
index db2c3cea..9caa9044 100644
--- a/SafeExamBrowser.Client/ClientController.cs
+++ b/SafeExamBrowser.Client/ClientController.cs
@@ -625,9 +625,12 @@ namespace SafeExamBrowser.Client
{
logger.Info("Re-initializing working area...");
displayMonitor.InitializePrimaryDisplay(Settings.Taskbar.EnableTaskbar ? taskbar.GetAbsoluteHeight() : 0);
+
logger.Info("Re-initializing shell...");
actionCenter.InitializeBounds();
+ lockScreen?.InitializeBounds();
taskbar.InitializeBounds();
+
logger.Info("Desktop successfully restored.");
if (!displayMonitor.ValidateConfiguration(Settings.Display).IsAllowed)
diff --git a/SafeExamBrowser.UserInterface.Contracts/Windows/ILockScreen.cs b/SafeExamBrowser.UserInterface.Contracts/Windows/ILockScreen.cs
index ab8656ed..e0a98d8f 100644
--- a/SafeExamBrowser.UserInterface.Contracts/Windows/ILockScreen.cs
+++ b/SafeExamBrowser.UserInterface.Contracts/Windows/ILockScreen.cs
@@ -20,6 +20,11 @@ namespace SafeExamBrowser.UserInterface.Contracts.Windows
///
void Cancel();
+ ///
+ /// Expands the lock screen across all active displays and resizes it accordingly.
+ ///
+ void InitializeBounds();
+
///
/// Waits for the user to provide the required input to unlock the application.
///
diff --git a/SafeExamBrowser.UserInterface.Desktop/Windows/LockScreen.xaml.cs b/SafeExamBrowser.UserInterface.Desktop/Windows/LockScreen.xaml.cs
index 0d8ecf5d..e1eb6808 100644
--- a/SafeExamBrowser.UserInterface.Desktop/Windows/LockScreen.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Desktop/Windows/LockScreen.xaml.cs
@@ -68,6 +68,20 @@ namespace SafeExamBrowser.UserInterface.Desktop.Windows
Dispatcher.Invoke(CloseAll);
}
+ public void InitializeBounds()
+ {
+ foreach (var window in windows)
+ {
+ window.Topmost = true;
+ window.WindowState = WindowState.Maximized;
+ window.Activate();
+ }
+
+ Topmost = true;
+ WindowState = WindowState.Maximized;
+ Activate();
+ }
+
public new void Show()
{
Dispatcher.Invoke(ShowAll);
diff --git a/SafeExamBrowser.UserInterface.Mobile/Windows/LockScreen.xaml.cs b/SafeExamBrowser.UserInterface.Mobile/Windows/LockScreen.xaml.cs
index 12fdb849..62ccc0dd 100644
--- a/SafeExamBrowser.UserInterface.Mobile/Windows/LockScreen.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Mobile/Windows/LockScreen.xaml.cs
@@ -68,6 +68,11 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows
Dispatcher.Invoke(CloseAll);
}
+ public void InitializeBounds()
+ {
+ // TODO
+ }
+
public new void Show()
{
Dispatcher.Invoke(ShowAll);