diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-02-18 22:03:12 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-02-18 22:03:12 -0500 |
commit | 9c2110122b8b5e5f12a19076814012407ee7abb2 (patch) | |
tree | f4938c8d79d7ea4e2b569cecf005abb728b9ee2d | |
parent | a3ba7f0a201ad9025a926aacb4229865ea724b01 (diff) | |
download | gtk+-9c2110122b8b5e5f12a19076814012407ee7abb2.tar.gz |
gdk: Add a way to show included backends
Set GDK_BACKEND=help to see a list of all inluded GDK backends.
-rw-r--r-- | docs/reference/gtk/running.sgml | 5 | ||||
-rw-r--r-- | gdk/gdkdisplaymanager.c | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/docs/reference/gtk/running.sgml b/docs/reference/gtk/running.sgml index 7f3812046a..accd973224 100644 --- a/docs/reference/gtk/running.sgml +++ b/docs/reference/gtk/running.sgml @@ -477,7 +477,7 @@ nevertheless. <para> If set, selects the GDK backend to use. Selecting a backend requires that GTK+ is compiled with support for that backend. The following backends can - be selected: + be selected, provided they are included in the GDK libraries you are using: <variablelist> <varlistentry> @@ -513,7 +513,8 @@ nevertheless. </variablelist> Since 3.10, this environment variable can contain a comma-separated list of backend names, which are tried in order. The list may also contain - a *, which means: try all remaining backends. + a *, which means: try all remaining backends. The special value "help" can + be used to make GDK print out a list of all available backends. For more information about selecting backends, see the gdk_display_manager_get() function. </para> </formalpara> diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index bc3471f83a..cbb5c4cf38 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -441,6 +441,15 @@ gdk_display_manager_open_display (GdkDisplayManager *manager, backend_list = g_getenv ("GDK_BACKEND"); if (backend_list == NULL) backend_list = allowed_backends; + else if (g_strcmp0 (backend_list, "help") == 0) + { + fprintf (stderr, "Supported GDK backends:"); + for (i = 0; gdk_backends[i].name != NULL; i++) + fprintf (stderr, " %s", gdk_backends[i].name); + fprintf (stderr, "\n"); + + backend_list = allowed_backends; + } backends = g_strsplit (backend_list, ",", 0); display = NULL; |