Get rid of MetaScreen
https://bugzilla.gnome.org/show_bug.cgi?id=759538
This commit is contained in:
parent
1d5e37050d
commit
0a8ae8417c
@ -20,7 +20,6 @@ src/core/main.c
|
|||||||
src/core/meta-close-dialog-default.c
|
src/core/meta-close-dialog-default.c
|
||||||
src/core/mutter.c
|
src/core/mutter.c
|
||||||
src/core/prefs.c
|
src/core/prefs.c
|
||||||
src/core/screen.c
|
|
||||||
src/core/util.c
|
src/core/util.c
|
||||||
src/core/window.c
|
src/core/window.c
|
||||||
src/ui/frames.c
|
src/ui/frames.c
|
||||||
|
@ -303,9 +303,6 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
|||||||
core/place.h \
|
core/place.h \
|
||||||
core/prefs.c \
|
core/prefs.c \
|
||||||
meta/prefs.h \
|
meta/prefs.h \
|
||||||
core/screen.c \
|
|
||||||
core/screen-private.h \
|
|
||||||
meta/screen.h \
|
|
||||||
core/startup-notification.c \
|
core/startup-notification.c \
|
||||||
core/startup-notification-private.h \
|
core/startup-notification-private.h \
|
||||||
meta/types.h \
|
meta/types.h \
|
||||||
@ -564,7 +561,6 @@ libmutterinclude_headers = \
|
|||||||
meta/meta-window-shape.h \
|
meta/meta-window-shape.h \
|
||||||
meta/meta-x11-display.h \
|
meta/meta-x11-display.h \
|
||||||
meta/prefs.h \
|
meta/prefs.h \
|
||||||
meta/screen.h \
|
|
||||||
meta/theme.h \
|
meta/theme.h \
|
||||||
meta/types.h \
|
meta/types.h \
|
||||||
meta/util.h \
|
meta/util.h \
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file screen-private.h Screens which Mutter manages
|
|
||||||
*
|
|
||||||
* Managing X screens.
|
|
||||||
* This file contains methods on this class which are available to
|
|
||||||
* routines in core but not outside it. (See screen.h for the routines
|
|
||||||
* which the rest of the world is allowed to use.)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2001 Havoc Pennington
|
|
||||||
* Copyright (C) 2003 Rob Adams
|
|
||||||
* Copyright (C) 2004-2006 Elijah Newren
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 2 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program 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
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef META_SCREEN_PRIVATE_H
|
|
||||||
#define META_SCREEN_PRIVATE_H
|
|
||||||
|
|
||||||
#include "display-private.h"
|
|
||||||
#include <meta/screen.h>
|
|
||||||
#include <X11/Xutil.h>
|
|
||||||
#include "stack-tracker.h"
|
|
||||||
#include "ui.h"
|
|
||||||
#include "meta-monitor-manager-private.h"
|
|
||||||
|
|
||||||
#define META_WIREFRAME_XOR_LINE_WIDTH 2
|
|
||||||
|
|
||||||
struct _MetaScreen
|
|
||||||
{
|
|
||||||
GObject parent_instance;
|
|
||||||
|
|
||||||
MetaDisplay *display;
|
|
||||||
|
|
||||||
int closing;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _MetaScreenClass
|
|
||||||
{
|
|
||||||
GObjectClass parent_class;
|
|
||||||
};
|
|
||||||
|
|
||||||
MetaScreen* meta_screen_new (MetaDisplay *display,
|
|
||||||
guint32 timestamp);
|
|
||||||
void meta_screen_free (MetaScreen *screen,
|
|
||||||
guint32 timestamp);
|
|
||||||
|
|
||||||
void meta_screen_manage_all_windows (MetaScreen *screen);
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,171 +0,0 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2001, 2002 Havoc Pennington
|
|
||||||
* Copyright (C) 2002, 2003 Red Hat Inc.
|
|
||||||
* Some ICCCM manager selection code derived from fvwm2,
|
|
||||||
* Copyright (C) 2001 Dominik Vogt, Matthias Clasen, and fvwm2 team
|
|
||||||
* Copyright (C) 2003 Rob Adams
|
|
||||||
* Copyright (C) 2004-2006 Elijah Newren
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 2 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program 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
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SECTION:screen
|
|
||||||
* @title: MetaScreen
|
|
||||||
* @short_description: Mutter X screen handler
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
#include "screen-private.h"
|
|
||||||
#include <meta/main.h>
|
|
||||||
#include "util-private.h"
|
|
||||||
#include <meta/errors.h>
|
|
||||||
#include "window-private.h"
|
|
||||||
#include "frame.h"
|
|
||||||
#include <meta/prefs.h>
|
|
||||||
#include "workspace-private.h"
|
|
||||||
#include "keybindings-private.h"
|
|
||||||
#include "stack.h"
|
|
||||||
#include <meta/compositor.h>
|
|
||||||
#include <meta/meta-enum-types.h>
|
|
||||||
#include "core.h"
|
|
||||||
#include "meta-cursor-tracker-private.h"
|
|
||||||
#include "boxes-private.h"
|
|
||||||
#include "backends/meta-backend-private.h"
|
|
||||||
#include "backends/meta-logical-monitor.h"
|
|
||||||
|
|
||||||
#include <X11/extensions/Xinerama.h>
|
|
||||||
#include <X11/extensions/Xcomposite.h>
|
|
||||||
|
|
||||||
#include <X11/Xatom.h>
|
|
||||||
#include <locale.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "x11/meta-x11-display-private.h"
|
|
||||||
#include "x11/window-x11.h"
|
|
||||||
#include "x11/xprops.h"
|
|
||||||
|
|
||||||
#include "backends/x11/meta-backend-x11.h"
|
|
||||||
#include "backends/meta-cursor-sprite-xcursor.h"
|
|
||||||
|
|
||||||
G_DEFINE_TYPE (MetaScreen, meta_screen, G_TYPE_OBJECT);
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_screen_set_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
const GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
MetaScreen *screen = META_SCREEN (object);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_screen_get_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
MetaScreen *screen = META_SCREEN (object);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_screen_finalize (GObject *object)
|
|
||||||
{
|
|
||||||
/* Actual freeing done in meta_screen_free() for now */
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_screen_class_init (MetaScreenClass *klass)
|
|
||||||
{
|
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
|
||||||
|
|
||||||
object_class->get_property = meta_screen_get_property;
|
|
||||||
object_class->set_property = meta_screen_set_property;
|
|
||||||
object_class->finalize = meta_screen_finalize;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
meta_screen_init (MetaScreen *screen)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
MetaScreen*
|
|
||||||
meta_screen_new (MetaDisplay *display,
|
|
||||||
guint32 timestamp)
|
|
||||||
{
|
|
||||||
MetaScreen *screen;
|
|
||||||
int number;
|
|
||||||
Window xroot = meta_x11_display_get_xroot (display->x11_display);
|
|
||||||
|
|
||||||
number = meta_ui_get_screen_number ();
|
|
||||||
|
|
||||||
meta_verbose ("Trying screen %d on display '%s'\n",
|
|
||||||
number, display->x11_display->name);
|
|
||||||
|
|
||||||
screen = g_object_new (META_TYPE_SCREEN, NULL);
|
|
||||||
screen->closing = 0;
|
|
||||||
|
|
||||||
screen->display = display;
|
|
||||||
|
|
||||||
meta_verbose ("Added screen %d ('%s') root 0x%lx\n",
|
|
||||||
number, display->x11_display->screen_name,
|
|
||||||
xroot);
|
|
||||||
|
|
||||||
return screen;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_screen_free (MetaScreen *screen,
|
|
||||||
guint32 timestamp)
|
|
||||||
{
|
|
||||||
screen->closing += 1;
|
|
||||||
|
|
||||||
g_object_unref (screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* meta_screen_get_display:
|
|
||||||
* @screen: A #MetaScreen
|
|
||||||
*
|
|
||||||
* Retrieve the display associated with screen.
|
|
||||||
*
|
|
||||||
* Returns: (transfer none): Display
|
|
||||||
*/
|
|
||||||
MetaDisplay *
|
|
||||||
meta_screen_get_display (MetaScreen *screen)
|
|
||||||
{
|
|
||||||
return screen->display;
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2008 Iain Holmes
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 2 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program 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
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef META_SCREEN_H
|
|
||||||
#define META_SCREEN_H
|
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
|
||||||
#include <glib-object.h>
|
|
||||||
#include <meta/types.h>
|
|
||||||
#include <meta/workspace.h>
|
|
||||||
|
|
||||||
#define META_TYPE_SCREEN (meta_screen_get_type ())
|
|
||||||
#define META_SCREEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_SCREEN, MetaScreen))
|
|
||||||
#define META_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_SCREEN, MetaScreenClass))
|
|
||||||
#define META_IS_SCREEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_SCREEN))
|
|
||||||
#define META_IS_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_SCREEN))
|
|
||||||
#define META_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_SCREEN, MetaScreenClass))
|
|
||||||
|
|
||||||
typedef struct _MetaScreenClass MetaScreenClass;
|
|
||||||
|
|
||||||
GType meta_screen_get_type (void);
|
|
||||||
|
|
||||||
MetaDisplay *meta_screen_get_display (MetaScreen *screen);
|
|
||||||
|
|
||||||
#endif
|
|
@ -29,7 +29,6 @@ typedef struct _MetaCompositor MetaCompositor;
|
|||||||
typedef struct _MetaDisplay MetaDisplay;
|
typedef struct _MetaDisplay MetaDisplay;
|
||||||
typedef struct _MetaX11Display MetaX11Display;
|
typedef struct _MetaX11Display MetaX11Display;
|
||||||
typedef struct _MetaFrame MetaFrame;
|
typedef struct _MetaFrame MetaFrame;
|
||||||
typedef struct _MetaScreen MetaScreen;
|
|
||||||
typedef struct _MetaWindow MetaWindow;
|
typedef struct _MetaWindow MetaWindow;
|
||||||
typedef struct _MetaWorkspace MetaWorkspace;
|
typedef struct _MetaWorkspace MetaWorkspace;
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user