diff options
author | Matthias Clasen <mclasen@redhat.com> | 2010-12-10 19:42:09 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2010-12-21 12:06:57 -0500 |
commit | ec9c97752d2f2043ad818833914760a7e443a53d (patch) | |
tree | d78b7357fc930533db464e1ec1263776b4a69033 /gdk/gdk.c | |
parent | fa4b54b6de4156403f413b95bdb48ab4bd9e20a4 (diff) | |
download | gtk+-ec9c97752d2f2043ad818833914760a7e443a53d.tar.gz |
Work toward turning GdkDisplayManager into a backend singleton
This commit hides the GdkDisplayManager instance and class structs,
adds vfuncs for listing displays, opening displays, and getting and
setting the default display. The X11 backend has a derived
GdkDisplayManagerX11.
The gdk_display_manager_get() function is responsible for deciding on
which of the compiled in backends to use. Currently, it consults the
GDK_BACKEND environment variable and falls back to x11.
Diffstat (limited to 'gdk/gdk.c')
-rw-r--r-- | gdk/gdk.c | 27 |
1 files changed, 11 insertions, 16 deletions
@@ -228,9 +228,8 @@ gdk_pre_parse_libgtk_only (void) g_type_init (); - /* Do any setup particular to the windowing system - */ - _gdk_windowing_init (); + /* Do any setup particular to the windowing system */ + gdk_display_manager_get (); } @@ -262,13 +261,13 @@ gdk_parse_args (int *argc, return; gdk_pre_parse_libgtk_only (); - + option_context = g_option_context_new (NULL); g_option_context_set_ignore_unknown_options (option_context, TRUE); g_option_context_set_help_enabled (option_context, FALSE); option_group = g_option_group_new (NULL, NULL, NULL, NULL, NULL); g_option_context_set_main_group (option_context, option_group); - + g_option_group_add_entries (option_group, gdk_args); g_option_group_add_entries (option_group, _gdk_windowing_args); @@ -282,7 +281,7 @@ gdk_parse_args (int *argc, GDK_NOTE (MISC, g_message ("progname: \"%s\"", g_get_prgname ())); } -/** +/** * gdk_get_display_arg_name: * * Gets the display name specified in the command line arguments passed @@ -309,13 +308,13 @@ gdk_get_display_arg_name (void) /** * gdk_display_open_default_libgtk_only: - * + * * Opens the default display specified by command line arguments or * environment variables, sets it as the default display, and returns * it. gdk_parse_args must have been called first. If the default * display has previously been set, simply returns that. An internal * function that should not be used by applications. - * + * * Return value: (transfer none): the default display, if it could be * opened, otherwise %NULL. **/ @@ -325,7 +324,7 @@ gdk_display_open_default_libgtk_only (void) GdkDisplay *display; g_return_val_if_fail (gdk_initialized, NULL); - + display = gdk_display_get_default (); if (display) return display; @@ -336,14 +335,10 @@ gdk_display_open_default_libgtk_only (void) { g_free (_gdk_display_arg_name); _gdk_display_arg_name = g_strdup (_gdk_display_name); - + display = gdk_display_open (_gdk_display_name); } - - if (display) - gdk_display_manager_set_default_display (gdk_display_manager_get (), - display); - + return display; } @@ -365,7 +360,7 @@ gdk_display_open_default_libgtk_only (void) */ gboolean gdk_init_check (int *argc, - char ***argv) + char ***argv) { gdk_parse_args (argc, argv); |