From 6dfa90f57c10366496258b814cd5a81ae233aa0a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:35:05 +0100 Subject: [PATCH] x11: Move screen-specific API into gdkx11screen.h --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 44 +-------------------- gdk/x11/gdkx11screen.h | 90 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 93 insertions(+), 43 deletions(-) create mode 100644 gdk/x11/gdkx11screen.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 9f793c7130..db744c25e6 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -217,6 +217,7 @@ x11_introspection_files = \ x11/xsettings-common.c \ x11/gdkx.h \ x11/gdkx11cursor.h \ + x11/gdkx11screen.h \ x11/gdkx11visual.h \ x11/gdkx11window.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 64e8d36d20..f6982d413a 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -77,6 +77,7 @@ libgdkinclude_HEADERS = \ libgdkx11include_HEADERS = \ gdkx11cursor.h \ + gdkx11screen.h \ gdkx11visual.h \ gdkx11window.h diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index fd5d9af82b..2a5799aa60 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -56,6 +56,7 @@ #define __GDKX_H_INSIDE__ #include +#include #include #include @@ -64,15 +65,10 @@ G_BEGIN_DECLS Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); -Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); -int gdk_x11_screen_get_screen_number (GdkScreen *screen); - -const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen); #ifndef GDK_MULTIHEAD_SAFE Window gdk_x11_get_default_root_xwindow (void); Display *gdk_x11_get_default_xdisplay (void); -gint gdk_x11_get_default_screen (void); #endif #define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) @@ -88,37 +84,6 @@ gint gdk_x11_get_default_screen (void); #define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) -/** - * GDK_DISPLAY_XDISPLAY: - * @display: a #GdkDisplay. - * - * Returns the display of a #GdkDisplay. - * - * Returns: an Xlib Display* - */ -#define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) - -/** - * GDK_SCREEN_XSCREEN: - * @screen: a #GdkScreen - * - * Returns the screen of a #GdkScreen. - * - * Returns: an Xlib Screen*. - */ -#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) - -/** - * GDK_SCREEN_XNUMBER: - * @screen: a #GdkScreen - * - * Returns the index of a #GdkScreen. - * - * Returns: the position of @screen among the screens of - * its display. - */ -#define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) - guint32 gdk_x11_display_get_user_time (GdkDisplay *display); G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display); @@ -133,13 +98,6 @@ void gdk_x11_display_broadcast_startup_message (GdkDisplay *display, const char *message_type, ...) G_GNUC_NULL_TERMINATED; -/* returns TRUE if we support the given WM spec feature */ -gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, - GdkAtom property); - -XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, - gint monitor_num); - #ifndef GDK_MULTIHEAD_SAFE void gdk_x11_grab_server (void); void gdk_x11_ungrab_server (void); diff --git a/gdk/x11/gdkx11screen.h b/gdk/x11/gdkx11screen.h new file mode 100644 index 0000000000..f6a6130e63 --- /dev/null +++ b/gdk/x11/gdkx11screen.h @@ -0,0 +1,90 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_SCREEN_H__ +#define __GDK_X11_SCREEN_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); +int gdk_x11_screen_get_screen_number (GdkScreen *screen); + +const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen); + +#ifndef GDK_MULTIHEAD_SAFE +gint gdk_x11_get_default_screen (void); +#endif + +/** + * GDK_DISPLAY_XDISPLAY: + * @display: a #GdkDisplay. + * + * Returns the display of a #GdkDisplay. + * + * Returns: an Xlib Display* + */ +#define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) + +/** + * GDK_SCREEN_XSCREEN: + * @screen: a #GdkScreen + * + * Returns the screen of a #GdkScreen. + * + * Returns: an Xlib Screen*. + */ +#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) + +/** + * GDK_SCREEN_XNUMBER: + * @screen: a #GdkScreen + * + * Returns the index of a #GdkScreen. + * + * Returns: the position of @screen among the screens of + * its display. + */ +#define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) + +/* returns TRUE if we support the given WM spec feature */ +gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, + GdkAtom property); + +XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, + gint monitor_num); + +G_END_DECLS + +#endif /* __GDK_X11_SCREEN_H__ */