* Library General Public License for more details.
*
* You should have received a copy of the GNU Library 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.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GDK_X11_SCREEN__
struct _GdkX11Screen
{
GdkScreen parent_instance;
-
+
GdkDisplay *display;
Display *xdisplay;
Screen *xscreen;
- gint screen_num;
Window xroot_window;
GdkWindow *root_window;
+ gint screen_num;
+ /* Xinerama/RandR 1.2 */
+ gint n_monitors;
+ GdkX11Monitor *monitors;
+ gint primary_monitor;
+
+ /* Xft resources for the display, used for default values for
+ * the Xft/ XSETTINGS
+ */
+ gint xft_hintstyle;
+ gint xft_rgba;
+ gint xft_dpi;
/* Window manager */
long last_wmspec_check_time;
Window wmspec_check_window;
char *window_manager_name;
+
/* TRUE if wmspec_check_window has changed since last
* fetch of _NET_SUPPORTED
*/
* fetch of window manager name
*/
guint need_refetch_wm_name : 1;
-
+ guint is_composited : 1;
+ guint xft_init : 1; /* Whether we've intialized these values yet */
+ guint xft_antialias : 1;
+ guint xft_hinting : 1;
+
/* Visual Part */
- GdkVisual *system_visual;
- GdkVisual **visuals;
gint nvisuals;
+ GdkVisual **visuals;
+ GdkVisual *system_visual;
gint available_depths[7];
- gint navailable_depths;
GdkVisualType available_types[6];
- gint navailable_types;
+ gint16 navailable_depths;
+ gint16 navailable_types;
GHashTable *visual_hash;
GdkVisual *rgba_visual;
-
+
/* X settings */
XSettingsClient *xsettings_client;
- guint xsettings_in_init : 1;
-
- /* Xinerama/RandR 1.2 */
- gint n_monitors;
- GdkX11Monitor *monitors;
- gint primary_monitor;
/* cache for window->translate vfunc */
GC subwindow_gcs[32];
- /* Xft resources for the display, used for default values for
- * the Xft/ XSETTINGS
- */
- gboolean xft_init; /* Whether we've intialized these values yet */
- gboolean xft_antialias;
- gboolean xft_hinting;
- gint xft_hintstyle;
- gint xft_rgba;
- gint xft_dpi;
-
- GdkAtom cm_selection_atom;
- gboolean is_composited;
+ /* cache for Xinerama monitor indices */
+ GHashTable *xinerama_matches;
};
-
+
struct _GdkX11ScreenClass
{
GdkScreenClass parent_class;
XEvent *event);
void _gdk_x11_screen_process_owner_change (GdkScreen *screen,
XEvent *event);
+gint _gdk_x11_screen_get_xinerama_index (GdkScreen *screen,
+ gint monitor_num);
+void _gdk_x11_screen_get_edge_monitors (GdkScreen *screen,
+ gint *top,
+ gint *bottom,
+ gint *left,
+ gint *right);
G_END_DECLS