mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 08:30:42 -05:00
tests: Add 'accept_focus' command to runner and client
Under the hood, calls gtk_window_set_accept_focus in the client
https://gitlab.gnome.org/GNOME/mutter/merge_requests/307
(cherry picked from commit e1f839f48f
)
This commit is contained in:
parent
b95700dabc
commit
81807fc310
@ -194,6 +194,24 @@ process_line (const char *line)
|
|||||||
NULL))
|
NULL))
|
||||||
g_print ("Fail to export handle for window id %s", argv[2]);
|
g_print ("Fail to export handle for window id %s", argv[2]);
|
||||||
}
|
}
|
||||||
|
else if (strcmp (argv[0], "accept_focus") == 0)
|
||||||
|
{
|
||||||
|
if (argc != 3)
|
||||||
|
{
|
||||||
|
g_print ("usage: %s <window-id> [true|false]", argv[0]);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *window = lookup_window (argv[1]);
|
||||||
|
if (!window)
|
||||||
|
{
|
||||||
|
g_print ("unknown window %s", argv[1]);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean enabled = g_ascii_strcasecmp (argv[2], "true") == 0;
|
||||||
|
gtk_window_set_accept_focus (GTK_WINDOW (window), enabled);
|
||||||
|
}
|
||||||
else if (strcmp (argv[0], "show") == 0)
|
else if (strcmp (argv[0], "show") == 0)
|
||||||
{
|
{
|
||||||
if (argc != 2)
|
if (argc != 2)
|
||||||
|
@ -435,6 +435,25 @@ test_case_do (TestCase *test,
|
|||||||
if (!test_case_parse_window_id (test, argv[1], &client, &window_id, error))
|
if (!test_case_parse_window_id (test, argv[1], &client, &window_id, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
if (!test_client_do (client, error,
|
||||||
|
argv[0], window_id,
|
||||||
|
argv[2],
|
||||||
|
NULL))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else if (strcmp (argv[0], "accept_focus") == 0)
|
||||||
|
{
|
||||||
|
if (argc != 3 ||
|
||||||
|
(g_ascii_strcasecmp (argv[2], "true") != 0 &&
|
||||||
|
g_ascii_strcasecmp (argv[2], "false") != 0))
|
||||||
|
BAD_COMMAND("usage: %s <client-id>/<window-id> [true|false]",
|
||||||
|
argv[0]);
|
||||||
|
|
||||||
|
TestClient *client;
|
||||||
|
const char *window_id;
|
||||||
|
if (!test_case_parse_window_id (test, argv[1], &client, &window_id, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
if (!test_client_do (client, error,
|
if (!test_client_do (client, error,
|
||||||
argv[0], window_id,
|
argv[0], window_id,
|
||||||
argv[2],
|
argv[2],
|
||||||
|
Loading…
Reference in New Issue
Block a user