mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
test-runner: Add 'csd' keyword for window creation
Allow specifying 'csd' when creating a window to make the client create a client-side-decorated window.
This commit is contained in:
parent
e926ebafdb
commit
5716fc4b90
@ -48,9 +48,10 @@ quit_client <client-id>
|
|||||||
Destroys all windows for the client, waits for that to be processed,
|
Destroys all windows for the client, waits for that to be processed,
|
||||||
then instructs the client to exit.
|
then instructs the client to exit.
|
||||||
|
|
||||||
create <client-id>/<window-id> [override]
|
create <client-id>/<window-id> [override|csd]
|
||||||
Creates a new window. For the X11 backend, the keyword 'override'
|
Creates a new window. For the X11 backend, the keyword 'override'
|
||||||
can be given to create an override-redirect
|
can be given to create an override-redirect and the keyword 'csd'
|
||||||
|
can be given to create a client-side decorated window.
|
||||||
|
|
||||||
show <client-id>/<window-id>
|
show <client-id>/<window-id>
|
||||||
hide <client-id>/<window-id>
|
hide <client-id>/<window-id>
|
||||||
|
@ -67,7 +67,7 @@ process_line (const char *line)
|
|||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
{
|
{
|
||||||
g_print ("usage: create <id> [override]");
|
g_print ("usage: create <id> [override|csd]");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,13 +78,31 @@ process_line (const char *line)
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean override = FALSE;
|
gboolean override = FALSE;
|
||||||
|
gboolean csd = FALSE;
|
||||||
for (i = 2; i < argc; i++)
|
for (i = 2; i < argc; i++)
|
||||||
if (strcmp (argv[i], "override") == 0)
|
{
|
||||||
override = TRUE;
|
if (strcmp (argv[i], "override") == 0)
|
||||||
|
override = TRUE;
|
||||||
|
if (strcmp (argv[i], "csd") == 0)
|
||||||
|
csd = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (override && csd)
|
||||||
|
{
|
||||||
|
g_print ("override and csd keywords are exclusie");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
GtkWidget *window = gtk_window_new (override ? GTK_WINDOW_POPUP : GTK_WINDOW_TOPLEVEL);
|
GtkWidget *window = gtk_window_new (override ? GTK_WINDOW_POPUP : GTK_WINDOW_TOPLEVEL);
|
||||||
g_hash_table_insert (windows, g_strdup (argv[1]), window);
|
g_hash_table_insert (windows, g_strdup (argv[1]), window);
|
||||||
|
|
||||||
|
if (csd)
|
||||||
|
{
|
||||||
|
GtkWidget *headerbar = gtk_header_bar_new ();
|
||||||
|
gtk_window_set_titlebar (GTK_WINDOW (window), headerbar);
|
||||||
|
gtk_widget_show (headerbar);
|
||||||
|
}
|
||||||
|
|
||||||
gtk_window_set_default_size (GTK_WINDOW (window), 100, 100);
|
gtk_window_set_default_size (GTK_WINDOW (window), 100, 100);
|
||||||
|
|
||||||
gchar *title = g_strdup_printf ("test/%s/%s", client_id, argv[1]);
|
gchar *title = g_strdup_printf ("test/%s/%s", client_id, argv[1]);
|
||||||
|
@ -665,8 +665,9 @@ test_case_do (TestCase *test,
|
|||||||
else if (strcmp (argv[0], "create") == 0)
|
else if (strcmp (argv[0], "create") == 0)
|
||||||
{
|
{
|
||||||
if (!(argc == 2 ||
|
if (!(argc == 2 ||
|
||||||
(argc == 3 && strcmp (argv[2], "override") == 0)))
|
(argc == 3 && strcmp (argv[2], "override") == 0) ||
|
||||||
BAD_COMMAND("usage: %s <client-id>/<window-id > [override]", argv[0]);
|
(argc == 3 && strcmp (argv[2], "csd") == 0)))
|
||||||
|
BAD_COMMAND("usage: %s <client-id>/<window-id > [override|csd]", argv[0]);
|
||||||
|
|
||||||
TestClient *client;
|
TestClient *client;
|
||||||
const char *window_id;
|
const char *window_id;
|
||||||
|
Loading…
Reference in New Issue
Block a user