diff --git a/Terminal.Gui/Application/Application .Screen.cs b/Terminal.Gui/Application/Application .Screen.cs
index 7770ae13c..a3d56da06 100644
--- a/Terminal.Gui/Application/Application .Screen.cs
+++ b/Terminal.Gui/Application/Application .Screen.cs
@@ -3,6 +3,14 @@ namespace Terminal.Gui;
public static partial class Application // Screen related stuff
{
+ ///
+ /// Gets the size of the screen. This is the size of the screen as reported by the .
+ ///
+ ///
+ /// If the has not been initialized, this will return a default size of 2048x2048; useful for unit tests.
+ ///
+ public static Rectangle Screen => Driver?.Screen ?? new (0, 0, 2048, 2048);
+
/// Invoked when the terminal's size changed. The new size of the terminal is provided.
///
/// Event handlers can set to to prevent
diff --git a/UnitTests/View/DrawTests.cs b/UnitTests/View/DrawTests.cs
index 955bf4651..2e02ecc1a 100644
--- a/UnitTests/View/DrawTests.cs
+++ b/UnitTests/View/DrawTests.cs
@@ -393,7 +393,7 @@ public class DrawTests (ITestOutputHelper _output)
var view = new View { Width = 2, Height = 2, BorderStyle = LineStyle.Single };
view.BeginInit ();
view.EndInit ();
- view.SetRelativeLayout (Application!.Screen.Size);
+ view.SetRelativeLayout (Application.Screen.Size);
Assert.Equal (new (0, 0, 2, 2), view.Frame);
Assert.Equal (Rectangle.Empty, view.Viewport);
@@ -418,7 +418,7 @@ public class DrawTests (ITestOutputHelper _output)
view.Border.Thickness = new Thickness (1, 1, 1, 0);
view.BeginInit ();
view.EndInit ();
- view.SetRelativeLayout (Application!.Screen.Size);
+ view.SetRelativeLayout (Application.Screen.Size);
Assert.Equal (new (0, 0, 2, 1), view.Frame);
Assert.Equal (Rectangle.Empty, view.Viewport);
@@ -436,7 +436,7 @@ public class DrawTests (ITestOutputHelper _output)
view.Border.Thickness = new Thickness (0, 1, 1, 1);
view.BeginInit ();
view.EndInit ();
- view.SetRelativeLayout (Application!.Screen.Size);
+ view.SetRelativeLayout (Application.Screen.Size);
Assert.Equal (new (0, 0, 1, 2), view.Frame);
Assert.Equal (Rectangle.Empty, view.Viewport);
@@ -461,7 +461,7 @@ public class DrawTests (ITestOutputHelper _output)
view.Border.Thickness = new Thickness (1, 1, 0, 1);
view.BeginInit ();
view.EndInit ();
- view.SetRelativeLayout (Application!.Screen.Size);
+ view.SetRelativeLayout (Application.Screen.Size);
Assert.Equal (new (0, 0, 1, 2), view.Frame);
Assert.Equal (Rectangle.Empty, view.Viewport);
@@ -487,7 +487,7 @@ public class DrawTests (ITestOutputHelper _output)
view.BeginInit ();
view.EndInit ();
- view.SetRelativeLayout (Application!.Screen.Size);
+ view.SetRelativeLayout (Application.Screen.Size);
Assert.Equal (new (0, 0, 2, 1), view.Frame);
Assert.Equal (Rectangle.Empty, view.Viewport);