diff options
author | Matthias Clasen <mclasen@redhat.com> | 2017-11-17 10:18:20 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2017-11-17 10:51:55 -0500 |
commit | 2daa7d1a53ad26e9b39e1b9fd83156bea45c4a58 (patch) | |
tree | a1ff3ec279bc8f528fd31a264d47642add787831 | |
parent | abb1d59d4eb782bac068c80bc9bb241525a7a34f (diff) | |
download | gtk+-2daa7d1a53ad26e9b39e1b9fd83156bea45c4a58.tar.gz |
x11: Stop using GdkScreen in api
This type is going away, so switch to using GdkX11Screen
everywhere.
-rw-r--r-- | gdk/gdkinternals.h | 2 | ||||
-rw-r--r-- | gdk/gdkscreen.c | 12 | ||||
-rw-r--r-- | gdk/x11/gdkapplaunchcontext-x11.c | 9 | ||||
-rw-r--r-- | gdk/x11/gdkdisplay-x11.c | 28 | ||||
-rw-r--r-- | gdk/x11/gdkdisplay-x11.h | 7 | ||||
-rw-r--r-- | gdk/x11/gdkeventsource.c | 2 | ||||
-rw-r--r-- | gdk/x11/gdkglcontext-x11.c | 6 | ||||
-rw-r--r-- | gdk/x11/gdkprivate-x11.h | 7 | ||||
-rw-r--r-- | gdk/x11/gdkscreen-x11.c | 127 | ||||
-rw-r--r-- | gdk/x11/gdkscreen-x11.h | 41 | ||||
-rw-r--r-- | gdk/x11/gdkvisual-x11.c | 6 | ||||
-rw-r--r-- | gdk/x11/gdkwindow-x11.c | 2 | ||||
-rw-r--r-- | gdk/x11/gdkx11display.h | 3 | ||||
-rw-r--r-- | gdk/x11/gdkx11screen.h | 22 | ||||
-rw-r--r-- | gdk/x11/gdkxftdefaults.c | 15 |
15 files changed, 121 insertions, 168 deletions
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 3a8f145921..0ef2aaa444 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -390,8 +390,6 @@ cairo_region_t *gdk_window_get_current_paint_region (GdkWindow *window); void _gdk_window_process_updates_recurse (GdkWindow *window, cairo_region_t *expose_region); -void _gdk_screen_close (GdkScreen *screen); - /***************************************** * Interfaces provided by windowing code * *****************************************/ diff --git a/gdk/gdkscreen.c b/gdk/gdkscreen.c index 2677575c6f..4911d9bf71 100644 --- a/gdk/gdkscreen.c +++ b/gdk/gdkscreen.c @@ -55,15 +55,3 @@ static void gdk_screen_init (GdkScreen *screen) { } - -void -_gdk_screen_close (GdkScreen *screen) -{ - g_return_if_fail (GDK_IS_SCREEN (screen)); - - if (!screen->closed) - { - screen->closed = TRUE; - g_object_run_dispose (G_OBJECT (screen)); - } -} diff --git a/gdk/x11/gdkapplaunchcontext-x11.c b/gdk/x11/gdkapplaunchcontext-x11.c index 2080f19ee4..6019bbcf74 100644 --- a/gdk/x11/gdkapplaunchcontext-x11.c +++ b/gdk/x11/gdkapplaunchcontext-x11.c @@ -22,7 +22,6 @@ #include "gdkx11applaunchcontext.h" #include "gdkapplaunchcontextprivate.h" -#include "gdkscreen.h" #include "gdkintl.h" #include "gdkprivate-x11.h" @@ -225,8 +224,8 @@ startup_timeout (void *data) static void -add_startup_timeout (GdkScreen *screen, - const char *startup_id) +add_startup_timeout (GdkX11Screen *screen, + const char *startup_id) { StartupTimeoutData *data; StartupNotificationData *sn_data; @@ -265,7 +264,7 @@ gdk_x11_app_launch_context_get_startup_notify_id (GAppLaunchContext *context, { static int sequence = 0; GdkDisplay *display; - GdkScreen *screen; + GdkX11Screen *screen; int files_count; char *description; char *icon_name; @@ -392,7 +391,7 @@ gdk_x11_app_launch_context_launch_failed (GAppLaunchContext *context, const gchar *startup_notify_id) { GdkAppLaunchContext *ctx; - GdkScreen *screen; + GdkX11Screen *screen; StartupTimeoutData *data; StartupNotificationData *sn_data; GSList *l; diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 1669ba5416..0e601fa438 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -30,7 +30,6 @@ #include "gdkeventtranslator.h" #include "gdkframeclockprivate.h" #include "gdkinternals.h" -#include "gdkscreen.h" #include "gdkinternals.h" #include "gdkdeviceprivate.h" #include "gdkkeysprivate.h" @@ -452,7 +451,7 @@ gdk_check_wm_state_changed (GdkWindow *window) { GdkToplevelX11 *toplevel = _gdk_x11_window_get_toplevel (window); GdkDisplay *display = GDK_WINDOW_DISPLAY (window); - GdkScreen *screen = GDK_WINDOW_SCREEN (window); + GdkX11Screen *screen = GDK_WINDOW_SCREEN (window); Atom type; gint format; @@ -619,7 +618,6 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, GdkWindow *window; gboolean is_substructure; GdkWindowImplX11 *window_impl = NULL; - GdkScreen *screen = NULL; GdkX11Screen *x11_screen = NULL; GdkToplevelX11 *toplevel = NULL; GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); @@ -647,8 +645,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, if (!GDK_IS_WINDOW (window)) return FALSE; - screen = GDK_WINDOW_SCREEN (window); - x11_screen = GDK_X11_SCREEN (screen); + x11_screen = GDK_WINDOW_SCREEN (window); toplevel = _gdk_x11_window_get_toplevel (window); window_impl = GDK_WINDOW_IMPL_X11 (window->impl); @@ -669,8 +666,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, if (xevent->type == DestroyNotify && !is_substructure) { - screen = GDK_X11_DISPLAY (display)->screen; - x11_screen = GDK_X11_SCREEN (screen); + x11_screen = GDK_X11_DISPLAY (display)->screen; if (x11_screen->wmspec_check_window == xevent->xdestroywindow.window) { @@ -680,7 +676,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, x11_screen->window_manager_name = g_strdup ("unknown"); /* careful, reentrancy */ - _gdk_x11_screen_window_manager_changed (screen); + _gdk_x11_screen_window_manager_changed (x11_screen); return_val = FALSE; goto done; @@ -841,8 +837,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, * interpret UnmapNotify events as implying iconic state. * http://bugzilla.gnome.org/show_bug.cgi?id=590726. */ - if (screen && - !gdk_x11_screen_supports_net_wm_hint (screen, + if (x11_screen && + !gdk_x11_screen_supports_net_wm_hint (x11_screen, gdk_atom_intern_static_string ("_NET_WM_STATE_HIDDEN"))) { /* If we are shown (not withdrawn) and get an unmap, it means we were @@ -926,7 +922,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, : "")); if (_gdk_x11_display_is_root_window (display, xevent->xconfigure.window)) { - _gdk_x11_screen_size_changed (screen, xevent); + _gdk_x11_screen_size_changed (x11_screen, xevent); } #ifdef HAVE_XSYNC @@ -1162,8 +1158,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, if (xevent->type - display_x11->xrandr_event_base == RRScreenChangeNotify || xevent->type - display_x11->xrandr_event_base == RRNotify) { - if (screen) - _gdk_x11_screen_size_changed (screen, xevent); + if (x11_screen) + _gdk_x11_screen_size_changed (x11_screen, xevent); } else #endif @@ -2149,11 +2145,11 @@ gdk_x11_lookup_xdisplay (Display *xdisplay) * Returns: (transfer none): the #GdkScreen corresponding to * @xrootwin, or %NULL. **/ -GdkScreen * +GdkX11Screen * _gdk_x11_display_screen_for_xrootwin (GdkDisplay *display, Window xrootwin) { - GdkScreen *screen; + GdkX11Screen *screen; XWindowAttributes attrs; gboolean result; GdkX11Display *display_x11; @@ -3043,7 +3039,7 @@ gdk_x11_set_sm_client_id (const gchar *sm_client_id) g_slist_free (displays); } -GdkScreen * +GdkX11Screen * gdk_x11_display_get_screen (GdkDisplay *display) { return GDK_X11_DISPLAY (display)->screen; diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index 4e813014f7..adee9f2074 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -26,6 +26,7 @@ #include "gdkkeys.h" #include "gdkwindow.h" #include "gdkinternals.h" +#include "gdkx11screen.h" #include <X11/X.h> #include <X11/Xlib.h> @@ -37,7 +38,7 @@ struct _GdkX11Display { GdkDisplay parent_instance; Display *xdisplay; - GdkScreen *screen; + GdkX11Screen *screen; GList *screens; GList *toplevels; @@ -162,8 +163,8 @@ struct _GdkX11DisplayClass GdkDisplayClass parent_class; }; -GdkScreen *_gdk_x11_display_screen_for_xrootwin (GdkDisplay *display, - Window xrootwin); +GdkX11Screen *_gdk_x11_display_screen_for_xrootwin (GdkDisplay *display, + Window xrootwin); void _gdk_x11_display_error_event (GdkDisplay *display, XErrorEvent *error); diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index 512ccb14b0..cb1f811c9a 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -275,7 +275,7 @@ gdk_event_source_translate_event (GdkEventSource *event_source, GdkX11Screen *x11_screen; gpointer cache; - x11_screen = (GdkX11Screen *) gdk_x11_display_get_screen (event_source->display); + x11_screen = GDK_X11_DISPLAY (event_source->display)->screen; dpy = GDK_DISPLAY_XDISPLAY (event_source->display); diff --git a/gdk/x11/gdkglcontext-x11.c b/gdk/x11/gdkglcontext-x11.c index 75dab823b4..40127cd255 100644 --- a/gdk/x11/gdkglcontext-x11.c +++ b/gdk/x11/gdkglcontext-x11.c @@ -1117,9 +1117,8 @@ save_cached_gl_visuals (GdkDisplay *display, int system, int rgba) } void -_gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) +_gdk_x11_screen_update_visuals_for_gl (GdkX11Screen *x11_screen) { - GdkX11Screen *x11_screen; GdkDisplay *display; GdkX11Display *display_x11; Display *dpy; @@ -1127,7 +1126,6 @@ _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) int i; int system_visual_id, rgba_visual_id; - x11_screen = GDK_X11_SCREEN (screen); display = x11_screen->display; display_x11 = GDK_X11_DISPLAY (display); dpy = gdk_x11_display_get_xdisplay (display); @@ -1150,7 +1148,7 @@ _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) return; } - if (!gdk_x11_screen_init_gl (screen)) + if (!gdk_x11_screen_init_gl (x11_screen)) return; gl_info = g_new0 (struct glvisualinfo, x11_screen->nvisuals); diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 8daad76d0c..17c235e982 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -278,9 +278,6 @@ gdk_window_cache_shape_filter (GdkXEvent *xev, GdkEvent *event, gpointer data); -void _gdk_x11_screen_init_visuals (GdkScreen *screen, - gboolean setup_display); - void _gdk_x11_cursor_display_finalize (GdkDisplay *display); void _gdk_x11_window_register_dnd (GdkWindow *window); @@ -291,10 +288,6 @@ GdkDragContext * _gdk_x11_window_drag_begin (GdkWindow *window, gint x_root, gint y_root); -gboolean _gdk_x11_get_xft_setting (GdkScreen *screen, - const gchar *name, - GValue *value); - GdkGrabStatus _gdk_x11_convert_grab_status (gint status); cairo_surface_t * _gdk_x11_display_create_bitmap_surface (GdkDisplay *display, diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 6f5178e5c1..f1a279c621 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -46,9 +46,9 @@ #include <X11/extensions/Xfixes.h> #endif -static void gdk_x11_screen_dispose (GObject *object); -static void gdk_x11_screen_finalize (GObject *object); -static void init_randr_support (GdkScreen *screen); +static void gdk_x11_screen_dispose (GObject *object); +static void gdk_x11_screen_finalize (GObject *object); +static void init_randr_support (GdkX11Screen *screen); enum { @@ -131,14 +131,12 @@ gdk_x11_screen_finalize (GObject *object) * Since: 2.14 */ XID -gdk_x11_screen_get_monitor_output (GdkScreen *screen, - gint monitor_num) +gdk_x11_screen_get_monitor_output (GdkX11Screen *x11_screen, + gint monitor_num) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); GdkX11Display *x11_display = GDK_X11_DISPLAY (x11_screen->display); GdkX11Monitor *monitor; - g_return_val_if_fail (GDK_IS_SCREEN (screen), None); g_return_val_if_fail (monitor_num >= 0, None); g_return_val_if_fail (monitor_num < x11_display->monitors->len, None); @@ -147,7 +145,7 @@ gdk_x11_screen_get_monitor_output (GdkScreen *screen, } static int -get_current_desktop (GdkScreen *screen) +get_current_desktop (GdkX11Screen *screen) { Display *display; Window win; @@ -184,10 +182,9 @@ get_current_desktop (GdkScreen *screen) } void -gdk_x11_screen_get_work_area (GdkScreen *screen, +gdk_x11_screen_get_work_area (GdkX11Screen *x11_screen, GdkRectangle *area) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); Atom workarea; Atom type; Window win; @@ -201,7 +198,7 @@ gdk_x11_screen_get_work_area (GdkScreen *screen, int desktop; Display *display; - display = GDK_SCREEN_XDISPLAY (screen); + display = GDK_SCREEN_XDISPLAY (x11_screen); workarea = XInternAtom (display, "_NET_WORKAREA", True); /* Defaults in case of error */ @@ -210,14 +207,14 @@ gdk_x11_screen_get_work_area (GdkScreen *screen, area->width = WidthOfScreen (x11_screen->xscreen); area->height = HeightOfScreen (x11_screen->xscreen); - if (!gdk_x11_screen_supports_net_wm_hint (screen, + if (!gdk_x11_screen_supports_net_wm_hint (x11_screen, gdk_atom_intern_static_string ("_NET_WORKAREA"))) return; if (workarea == None) return; - win = XRootWindow (display, gdk_x11_screen_get_screen_number (screen)); + win = XRootWindow (display, gdk_x11_screen_get_screen_number (x11_screen)); result = XGetWindowProperty (display, win, workarea, @@ -237,7 +234,7 @@ gdk_x11_screen_get_work_area (GdkScreen *screen, num % 4 != 0) goto out; - desktop = get_current_desktop (screen); + desktop = get_current_desktop (x11_screen); if (desktop + 1 > num / 4) /* fvwm gets this wrong */ goto out; @@ -268,9 +265,9 @@ out: * Since: 2.2 */ Screen * -gdk_x11_screen_get_xscreen (GdkScreen *screen) +gdk_x11_screen_get_xscreen (GdkX11Screen *screen) { - return GDK_X11_SCREEN (screen)->xscreen; + return screen->xscreen; } /** @@ -285,9 +282,9 @@ gdk_x11_screen_get_xscreen (GdkScreen *screen) * Since: 2.2 */ int -gdk_x11_screen_get_screen_number (GdkScreen *screen) +gdk_x11_screen_get_screen_number (GdkX11Screen *screen) { - return GDK_X11_SCREEN (screen)->screen_num; + return screen->screen_num; } static GdkX11Monitor * @@ -320,12 +317,11 @@ translate_subpixel_order (int subpixel) } static gboolean -init_randr15 (GdkScreen *screen, gboolean *changed) +init_randr15 (GdkX11Screen *x11_screen, gboolean *changed) { #ifdef HAVE_RANDR15 - GdkDisplay *display = GDK_SCREEN_DISPLAY (screen); + GdkDisplay *display = GDK_SCREEN_DISPLAY (x11_screen); GdkX11Display *x11_display = GDK_X11_DISPLAY (display); - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); XRRScreenResources *resources; RROutput primary_output = None; RROutput first_output = None; @@ -505,12 +501,11 @@ init_randr15 (GdkScreen *screen, gboolean *changed) } static gboolean -init_randr13 (GdkScreen *screen, gboolean *changed) +init_randr13 (GdkX11Screen *x11_screen, gboolean *changed) { #ifdef HAVE_RANDR - GdkDisplay *display = GDK_SCREEN_DISPLAY (screen); + GdkDisplay *display = GDK_SCREEN_DISPLAY (x11_screen); GdkX11Display *x11_display = GDK_X11_DISPLAY (display); - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); XRRScreenResources *resources; RROutput primary_output = None; RROutput first_output = None; @@ -675,9 +670,8 @@ init_randr13 (GdkScreen *screen, gboolean *changed) } static void -init_no_multihead (GdkScreen *screen, gboolean *changed) +init_no_multihead (GdkX11Screen *x11_screen, gboolean *changed) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); GdkX11Display *x11_display = GDK_X11_DISPLAY (x11_screen->display); GdkX11Monitor *monitor; GdkRectangle geometry; @@ -749,7 +743,7 @@ init_no_multihead (GdkScreen *screen, gboolean *changed) } static gboolean -init_multihead (GdkScreen *screen) +init_multihead (GdkX11Screen *screen) { gboolean any_changed = FALSE; @@ -760,19 +754,17 @@ init_multihead (GdkScreen *screen) return any_changed; } -GdkScreen * +GdkX11Screen * _gdk_x11_screen_new (GdkDisplay *display, gint screen_number, gboolean setup_display) { - GdkScreen *screen; GdkX11Screen *x11_screen; GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); const char *scale_str; - screen = g_object_new (GDK_TYPE_X11_SCREEN, NULL); + x11_screen = g_object_new (GDK_TYPE_X11_SCREEN, NULL); - x11_screen = GDK_X11_SCREEN (screen); x11_screen->display = display; x11_screen->xdisplay = display_x11->xdisplay; x11_screen->xscreen = ScreenOfDisplay (display_x11->xdisplay, screen_number); @@ -793,12 +785,12 @@ _gdk_x11_screen_new (GdkDisplay *display, else x11_screen->window_scale = 1; - init_randr_support (screen); - init_multihead (screen); + init_randr_support (x11_screen); + init_multihead (x11_screen); - _gdk_x11_screen_init_visuals (screen, setup_display); + _gdk_x11_screen_init_visuals (x11_screen, setup_display); - return screen; + return x11_screen; } void @@ -832,20 +824,18 @@ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen, } static void -init_randr_support (GdkScreen *screen) +init_randr_support (GdkX11Screen *x11_screen) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - /* NB: This is also needed for XSettings, so don't remove. */ - XSelectInput (GDK_SCREEN_XDISPLAY (screen), + XSelectInput (GDK_SCREEN_XDISPLAY (x11_screen), x11_screen->xroot_window, StructureNotifyMask); #ifdef HAVE_RANDR - if (!GDK_X11_DISPLAY (GDK_SCREEN_DISPLAY (screen))->have_randr12) + if (!GDK_X11_DISPLAY (GDK_SCREEN_DISPLAY (x11_screen))->have_randr12) return; - XRRSelectInput (GDK_SCREEN_XDISPLAY (screen), + XRRSelectInput (GDK_SCREEN_XDISPLAY (x11_screen), x11_screen->xroot_window, RRScreenChangeNotifyMask | RRCrtcChangeNotifyMask @@ -854,14 +844,14 @@ init_randr_support (GdkScreen *screen) } static void -process_monitors_change (GdkScreen *screen) +process_monitors_change (GdkX11Screen *screen) { init_multihead (screen); } void -_gdk_x11_screen_size_changed (GdkScreen *screen, - XEvent *event) +_gdk_x11_screen_size_changed (GdkX11Screen *screen, + XEvent *event) { #ifdef HAVE_RANDR GdkX11Display *display_x11; @@ -881,14 +871,13 @@ _gdk_x11_screen_size_changed (GdkScreen *screen, } void -_gdk_x11_screen_get_edge_monitors (GdkScreen *screen, +_gdk_x11_screen_get_edge_monitors (GdkX11Screen *x11_screen, gint *top, gint *bottom, gint *left, gint *right) { #ifdef HAVE_XFREE_XINERAMA - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); gint top_most_pos = HeightOfScreen (x11_screen->xscreen); gint left_most_pos = WidthOfScreen (x11_screen->xscreen); gint bottom_most_pos = 0; @@ -942,17 +931,16 @@ _gdk_x11_screen_get_edge_monitors (GdkScreen *screen, } void -_gdk_x11_screen_window_manager_changed (GdkScreen *screen) +_gdk_x11_screen_window_manager_changed (GdkX11Screen *screen) { g_signal_emit (screen, signals[WINDOW_MANAGER_CHANGED], 0); } gboolean -gdk_x11_screen_get_setting (GdkScreen *screen, +gdk_x11_screen_get_setting (GdkX11Screen *x11_screen, const gchar *name, GValue *value) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); const GValue *setting; if (x11_screen->xsettings == NULL) @@ -973,7 +961,7 @@ gdk_x11_screen_get_setting (GdkScreen *screen, return TRUE; out: - return _gdk_x11_get_xft_setting (screen, name, value); + return _gdk_x11_screen_get_xft_setting (x11_screen, name, value); } static void @@ -1019,15 +1007,13 @@ get_net_supporting_wm_check (GdkX11Screen *screen, } static void -fetch_net_wm_check_window (GdkScreen *screen) +fetch_net_wm_check_window (GdkX11Screen *x11_screen) { - GdkX11Screen *x11_screen; GdkDisplay *display; Window window; GTimeVal tv; gint error; - x11_screen = GDK_X11_SCREEN (screen); display = x11_screen->display; g_return_if_fail (GDK_X11_DISPLAY (display)->trusted_client); @@ -1069,7 +1055,7 @@ fetch_net_wm_check_window (GdkScreen *screen) x11_screen->need_refetch_wm_name = TRUE; /* Careful, reentrancy */ - _gdk_x11_screen_window_manager_changed (screen); + _gdk_x11_screen_window_manager_changed (x11_screen); } } @@ -1096,31 +1082,27 @@ fetch_net_wm_check_window (GdkScreen *screen) * Since: 2.2 **/ gboolean -gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, +gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *x11_screen, GdkAtom property) { gulong i; - GdkX11Screen *x11_screen; NetWmSupportedAtoms *supported_atoms; GdkDisplay *display; Atom atom; - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - - x11_screen = GDK_X11_SCREEN (screen); display = x11_screen->display; if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) return FALSE; - supported_atoms = g_object_get_data (G_OBJECT (screen), "gdk-net-wm-supported-atoms"); + supported_atoms = g_object_get_data (G_OBJECT (x11_screen), "gdk-net-wm-supported-atoms"); if (!supported_atoms) { supported_atoms = g_new0 (NetWmSupportedAtoms, 1); - g_object_set_data_full (G_OBJECT (screen), "gdk-net-wm-supported-atoms", supported_atoms, cleanup_atoms); + g_object_set_data_full (G_OBJECT (x11_screen), "gdk-net-wm-supported-atoms", supported_atoms, cleanup_atoms); } - fetch_net_wm_check_window (screen); + fetch_net_wm_check_window (x11_screen); if (x11_screen->wmspec_check_window == None) return FALSE; @@ -1179,18 +1161,16 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, * Since: 2.2 **/ const char* -gdk_x11_screen_get_window_manager_name (GdkScreen *screen) +gdk_x11_screen_get_window_manager_name (GdkX11Screen *x11_screen) { - GdkX11Screen *x11_screen; GdkDisplay *display; - x11_screen = GDK_X11_SCREEN (screen); display = x11_screen->display; if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) return x11_screen->window_manager_name; - fetch_net_wm_check_window (screen); + fetch_net_wm_check_window (x11_screen); if (x11_screen->need_refetch_wm_name) { @@ -1234,7 +1214,7 @@ gdk_x11_screen_get_window_manager_name (GdkScreen *screen) } } - return GDK_X11_SCREEN (screen)->window_manager_name; + return x11_screen->window_manager_name; } static void @@ -1257,10 +1237,9 @@ gdk_x11_screen_class_init (GdkX11ScreenClass *klass) } static guint32 -get_netwm_cardinal_property (GdkScreen *screen, - const gchar *name) +get_netwm_cardinal_property (GdkX11Screen *x11_screen, + const gchar *name) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); GdkAtom atom; guint32 prop = 0; Atom type; @@ -1271,12 +1250,12 @@ get_netwm_cardinal_property (GdkScreen *screen, atom = gdk_atom_intern_static_string (name); - if (!gdk_x11_screen_supports_net_wm_hint (screen, atom)) + if (!gdk_x11_screen_supports_net_wm_hint (x11_screen, atom)) return 0; XGetWindowProperty (x11_screen->xdisplay, x11_screen->xroot_window, - gdk_x11_get_xatom_by_name_for_display (GDK_SCREEN_DISPLAY (screen), name), + gdk_x11_get_xatom_by_name_for_display (GDK_SCREEN_DISPLAY (x11_screen), name), 0, G_MAXLONG, False, XA_CARDINAL, &type, &format, &nitems, &bytes_after, &data); @@ -1303,7 +1282,7 @@ get_netwm_cardinal_property (GdkScreen *screen, * Since: 3.10 */ guint32 -gdk_x11_screen_get_number_of_desktops (GdkScreen *screen) +gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen) { return get_netwm_cardinal_property (screen, "_NET_NUMBER_OF_DESKTOPS"); } @@ -1322,7 +1301,7 @@ gdk_x11_screen_get_number_of_desktops (GdkScreen *screen) * Since: 3.10 */ guint32 -gdk_x11_screen_get_current_desktop (GdkScreen *screen) +gdk_x11_screen_get_current_desktop (GdkX11Screen *screen) { return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP"); } diff --git a/gdk/x11/gdkscreen-x11.h b/gdk/x11/gdkscreen-x11.h index 5f091e0db4..273a7a8d53 100644 --- a/gdk/x11/gdkscreen-x11.h +++ b/gdk/x11/gdkscreen-x11.h @@ -29,7 +29,7 @@ #include <X11/Xlib.h> G_BEGIN_DECLS - + typedef struct _GdkX11Monitor GdkX11Monitor; struct _GdkX11Screen @@ -96,27 +96,34 @@ struct _GdkX11ScreenClass }; GType _gdk_x11_screen_get_type (void); -GdkScreen * _gdk_x11_screen_new (GdkDisplay *display, - gint screen_number, - gboolean setup_display); - -void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen); -void _gdk_x11_screen_window_manager_changed (GdkScreen *screen); -void _gdk_x11_screen_size_changed (GdkScreen *screen, - XEvent *event); -void _gdk_x11_screen_get_edge_monitors (GdkScreen *screen, - gint *top, - gint *bottom, - gint *left, - gint *right); +GdkX11Screen *_gdk_x11_screen_new (GdkDisplay *display, + gint screen_number, + gboolean setup_display); + +void _gdk_x11_screen_update_visuals_for_gl (GdkX11Screen *screen); +void _gdk_x11_screen_window_manager_changed (GdkX11Screen *screen); +void _gdk_x11_screen_size_changed (GdkX11Screen *screen, + XEvent *event); +void _gdk_x11_screen_get_edge_monitors (GdkX11Screen *screen, + gint *top, + gint *bottom, + gint *left, + gint *right); void _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen, - int scale); -void gdk_x11_screen_get_work_area (GdkScreen *screen, + int scale); +void gdk_x11_screen_get_work_area (GdkX11Screen *screen, GdkRectangle *area); -gboolean gdk_x11_screen_get_setting (GdkScreen *screen, +gboolean gdk_x11_screen_get_setting (GdkX11Screen *screen, + const char *name, + GValue *value); +gboolean +_gdk_x11_screen_get_xft_setting (GdkX11Screen *screen, const char *name, GValue *value); +void _gdk_x11_screen_init_visuals (GdkX11Screen *screen, + gboolean setup_display); + G_END_DECLS #endif /* __GDK_X11_SCREEN__ */ diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 45ff54c003..85b036282a 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -49,8 +49,8 @@ gdk_x11_visual_class_init (GdkX11VisualClass *class) } void -_gdk_x11_screen_init_visuals (GdkScreen *screen, - gboolean setup_display) +_gdk_x11_screen_init_visuals (GdkX11Screen *screen, + gboolean setup_display) { static const gint possible_depths[8] = { 32, 30, 24, 16, 15, 8, 4, 1 }; static const GdkVisualType possible_types[6] = @@ -255,7 +255,7 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen, /* If GL is available we want to pick better default/rgba visuals, as we care about glx details such as alpha/depth/stencil depth, stereo and double buffering */ - _gdk_x11_screen_update_visuals_for_gl (screen); + _gdk_x11_screen_update_visuals_for_gl (x11_screen); if (setup_display) { diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index ef99753cce..d3f602dd0d 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -1059,7 +1059,7 @@ GdkWindow * gdk_x11_window_foreign_new_for_display (GdkDisplay *display, Window window) { - GdkScreen *screen; + GdkX11Screen *screen; GdkWindow *win; GdkWindowImplX11 *impl; GdkX11Display *display_x11; diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h index d43ebee747..c432af9624 100644 --- a/gdk/x11/gdkx11display.h +++ b/gdk/x11/gdkx11display.h @@ -30,6 +30,7 @@ #endif #include <gdk/gdk.h> +#include <gdk/x11/gdkx11screen.h> #include <X11/Xlib.h> #include <X11/Xutil.h> @@ -94,7 +95,7 @@ GDK_AVAILABLE_IN_ALL GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay); GDK_AVAILABLE_IN_3_94 -GdkScreen *gdk_x11_display_get_screen (GdkDisplay *display); +GdkX11Screen *gdk_x11_display_get_screen (GdkDisplay *display); GDK_AVAILABLE_IN_ALL void gdk_x11_display_grab (GdkDisplay *display); diff --git a/gdk/x11/gdkx11screen.h b/gdk/x11/gdkx11screen.h index 167c7b5dd4..867f9ab90b 100644 --- a/gdk/x11/gdkx11screen.h +++ b/gdk/x11/gdkx11screen.h @@ -43,36 +43,32 @@ G_BEGIN_DECLS #define GDK_IS_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_SCREEN)) #define GDK_X11_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) -#ifdef GDK_COMPILATION typedef struct _GdkX11Screen GdkX11Screen; -#else -typedef GdkScreen GdkX11Screen; -#endif typedef struct _GdkX11ScreenClass GdkX11ScreenClass; GDK_AVAILABLE_IN_ALL GType gdk_x11_screen_get_type (void); GDK_AVAILABLE_IN_ALL -Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); +Screen * gdk_x11_screen_get_xscreen (GdkX11Screen *screen); GDK_AVAILABLE_IN_ALL -int gdk_x11_screen_get_screen_number (GdkScreen *screen); +int gdk_x11_screen_get_screen_number (GdkX11Screen *screen); GDK_AVAILABLE_IN_ALL -const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen); +const char* gdk_x11_screen_get_window_manager_name (GdkX11Screen *screen); GDK_AVAILABLE_IN_ALL -gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, - GdkAtom property); +gboolean gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *screen, + GdkAtom property); GDK_AVAILABLE_IN_ALL -XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, - gint monitor_num); +XID gdk_x11_screen_get_monitor_output (GdkX11Screen *screen, + gint monitor_num); GDK_AVAILABLE_IN_3_10 -guint32 gdk_x11_screen_get_number_of_desktops (GdkScreen *screen); +guint32 gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen); GDK_AVAILABLE_IN_3_10 -guint32 gdk_x11_screen_get_current_desktop (GdkScreen *screen); +guint32 gdk_x11_screen_get_current_desktop (GdkX11Screen *screen); G_END_DECLS diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c index 704ad24409..cb6c8be2ae 100644 --- a/gdk/x11/gdkxftdefaults.c +++ b/gdk/x11/gdkxftdefaults.c @@ -147,10 +147,9 @@ get_integer_default (Display *dpy, } static void -init_xft_settings (GdkScreen *screen) +init_xft_settings (GdkX11Screen *x11_screen) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - Display *xdisplay = GDK_SCREEN_XDISPLAY (screen); + Display *xdisplay = GDK_SCREEN_XDISPLAY (x11_screen); double dpi_double; gboolean b; @@ -180,18 +179,16 @@ init_xft_settings (GdkScreen *screen) } gboolean -_gdk_x11_get_xft_setting (GdkScreen *screen, - const gchar *name, - GValue *value) +_gdk_x11_screen_get_xft_setting (GdkX11Screen *x11_screen, + const char *name, + GValue *value) { - GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - if (strncmp (name, "gtk-xft-", 8) != 0) return FALSE; name += 8; - init_xft_settings (screen); + init_xft_settings (x11_screen); if (strcmp (name, "antialias") == 0) { |