mirror of
https://github.com/brl/mutter.git
synced 2025-02-23 08:24:09 +00:00
tests/test-client: Add 'fullscreen' and 'unfullscreen' commands
This needs some hand holding when calculating the "full" size of the window, as the titlebar isn't actually shown. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1171
This commit is contained in:
parent
d14c8cf9a4
commit
9b8e5a05f5
@ -143,6 +143,7 @@ stacking_tests = [
|
|||||||
'set-parent-exported',
|
'set-parent-exported',
|
||||||
'restore-size',
|
'restore-size',
|
||||||
'unmaximize-new-size',
|
'unmaximize-new-size',
|
||||||
|
'fullscreen-maximize',
|
||||||
]
|
]
|
||||||
|
|
||||||
foreach stacking_test: stacking_tests
|
foreach stacking_test: stacking_tests
|
||||||
|
@ -246,6 +246,11 @@ static int
|
|||||||
calculate_titlebar_height (GtkWindow *window)
|
calculate_titlebar_height (GtkWindow *window)
|
||||||
{
|
{
|
||||||
GtkWidget *titlebar;
|
GtkWidget *titlebar;
|
||||||
|
GdkWindow *gdk_window;
|
||||||
|
|
||||||
|
gdk_window = gtk_widget_get_window (GTK_WIDGET (window));
|
||||||
|
if (gdk_window_get_state (gdk_window) & GDK_WINDOW_STATE_FULLSCREEN)
|
||||||
|
return 0;
|
||||||
|
|
||||||
titlebar = gtk_window_get_titlebar (window);
|
titlebar = gtk_window_get_titlebar (window);
|
||||||
if (!titlebar)
|
if (!titlebar)
|
||||||
@ -733,6 +738,34 @@ process_line (const char *line)
|
|||||||
|
|
||||||
gtk_window_unmaximize (GTK_WINDOW (window));
|
gtk_window_unmaximize (GTK_WINDOW (window));
|
||||||
}
|
}
|
||||||
|
else if (strcmp (argv[0], "fullscreen") == 0)
|
||||||
|
{
|
||||||
|
if (argc != 2)
|
||||||
|
{
|
||||||
|
g_print ("usage: fullscreen <id>\n");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *window = lookup_window (argv[1]);
|
||||||
|
if (!window)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
gtk_window_fullscreen (GTK_WINDOW (window));
|
||||||
|
}
|
||||||
|
else if (strcmp (argv[0], "unfullscreen") == 0)
|
||||||
|
{
|
||||||
|
if (argc != 2)
|
||||||
|
{
|
||||||
|
g_print ("usage: unfullscreen <id>\n");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *window = lookup_window (argv[1]);
|
||||||
|
if (!window)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
gtk_window_unfullscreen (GTK_WINDOW (window));
|
||||||
|
}
|
||||||
else if (strcmp (argv[0], "assert_size") == 0)
|
else if (strcmp (argv[0], "assert_size") == 0)
|
||||||
{
|
{
|
||||||
int expected_width;
|
int expected_width;
|
||||||
|
@ -600,6 +600,8 @@ test_case_do (TestCase *test,
|
|||||||
strcmp (argv[0], "unminimize") == 0 ||
|
strcmp (argv[0], "unminimize") == 0 ||
|
||||||
strcmp (argv[0], "maximize") == 0 ||
|
strcmp (argv[0], "maximize") == 0 ||
|
||||||
strcmp (argv[0], "unmaximize") == 0 ||
|
strcmp (argv[0], "unmaximize") == 0 ||
|
||||||
|
strcmp (argv[0], "fullscreen") == 0 ||
|
||||||
|
strcmp (argv[0], "unfullscreen") == 0 ||
|
||||||
strcmp (argv[0], "destroy") == 0)
|
strcmp (argv[0], "destroy") == 0)
|
||||||
{
|
{
|
||||||
if (argc != 2)
|
if (argc != 2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user