Revert "Move MetaGroup to be X11-specific"

This reverts commit f940292cfe.

Turns out MetaGroup was public API and was used by gnome-shell.
Ugh.
This commit is contained in:
Jasper St. Pierre 2014-03-19 09:11:23 -04:00
parent 91ad92c968
commit a1427c7130
11 changed files with 66 additions and 24 deletions

View File

@ -176,10 +176,11 @@ libmutter_wayland_la_SOURCES = \
x11/iconcache.h \ x11/iconcache.h \
x11/async-getprop.c \ x11/async-getprop.c \
x11/async-getprop.h \ x11/async-getprop.h \
x11/group-private.h \
x11/group-props.c \ x11/group-props.c \
x11/group-props.h \ x11/group-props.h \
x11/group.c \ x11/group.c \
x11/group.h \ meta/group.h \
x11/session.c \ x11/session.c \
x11/session.h \ x11/session.h \
x11/window-props.c \ x11/window-props.c \
@ -228,6 +229,7 @@ libmutterinclude_base_headers = \
meta/display.h \ meta/display.h \
meta/errors.h \ meta/errors.h \
meta/gradient.h \ meta/gradient.h \
meta/group.h \
meta/keybindings.h \ meta/keybindings.h \
meta/main.h \ meta/main.h \
meta/meta-background-actor.h \ meta/meta-background-actor.h \

View File

@ -30,12 +30,13 @@
#include "window-private.h" #include "window-private.h"
#include <meta/errors.h> #include <meta/errors.h>
#include "frame.h" #include "frame.h"
#include <meta/group.h>
#include <meta/prefs.h> #include <meta/prefs.h>
#include <meta/workspace.h> #include <meta/workspace.h>
#include <X11/Xatom.h> #include <X11/Xatom.h>
#include "x11/group.h" #include "x11/group-private.h"
#define WINDOW_HAS_TRANSIENT_TYPE(w) \ #define WINDOW_HAS_TRANSIENT_TYPE(w) \
(w->type == META_WINDOW_DIALOG || \ (w->type == META_WINDOW_DIALOG || \

View File

@ -44,7 +44,7 @@
#include <clutter/clutter.h> #include <clutter/clutter.h>
#include "x11/iconcache.h" #include "x11/iconcache.h"
#include "x11/group.h" #include "x11/group-private.h"
#include "wayland/meta-wayland-types.h" #include "wayland/meta-wayland-types.h"

View File

@ -39,6 +39,7 @@
#include "ui.h" #include "ui.h"
#include "place.h" #include "place.h"
#include <meta/prefs.h> #include <meta/prefs.h>
#include <meta/group.h>
#include "resizepopup.h" #include "resizepopup.h"
#include "constraints.h" #include "constraints.h"
#include "mutter-enum-types.h" #include "mutter-enum-types.h"
@ -58,7 +59,6 @@
#include "x11/window-x11.h" #include "x11/window-x11.h"
#include "x11/window-props.h" #include "x11/window-props.h"
#include "x11/xprops.h" #include "x11/xprops.h"
#include "x11/group.h"
#include "x11/session.h" #include "x11/session.h"
#include "wayland/meta-wayland-private.h" #include "wayland/meta-wayland-private.h"

View File

@ -1,10 +1,10 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Mutter window group private header */ /* Mutter window groups */
/* /*
* Copyright (C) 2002 Red Hat Inc. * Copyright (C) 2002 Red Hat Inc.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
@ -14,7 +14,7 @@
* WITHOUT ANY WARRANTY; without even the implied warranty of * WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details. * General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>. * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/ */
@ -26,21 +26,9 @@
#include <glib.h> #include <glib.h>
#include <meta/types.h> #include <meta/types.h>
typedef struct _MetaGroup MetaGroup;
struct _MetaGroup
{
int refcount;
MetaDisplay *display;
GSList *windows;
Window group_leader;
char *startup_id;
char *wm_client_machine;
};
/* note, can return NULL */ /* note, can return NULL */
MetaGroup* meta_window_get_group (MetaWindow *window); MetaGroup* meta_window_get_group (MetaWindow *window);
void meta_window_compute_group (MetaWindow *window); void meta_window_compute_group (MetaWindow* window);
void meta_window_shutdown_group (MetaWindow *window); void meta_window_shutdown_group (MetaWindow *window);
void meta_window_group_leader_changed (MetaWindow *window); void meta_window_group_leader_changed (MetaWindow *window);
@ -61,3 +49,7 @@ gboolean meta_group_property_notify (MetaGroup *group,
XEvent *event); XEvent *event);
#endif #endif

View File

@ -30,6 +30,11 @@ typedef struct _MetaFrame MetaFrame;
typedef struct _MetaScreen MetaScreen; typedef struct _MetaScreen MetaScreen;
typedef struct _MetaWindow MetaWindow; typedef struct _MetaWindow MetaWindow;
typedef struct _MetaWorkspace MetaWorkspace; typedef struct _MetaWorkspace MetaWorkspace;
/**
* MetaGroup: (skip)
*
*/
typedef struct _MetaGroup MetaGroup;
typedef struct _MetaKeyBinding MetaKeyBinding; typedef struct _MetaKeyBinding MetaKeyBinding;
typedef struct _MetaCursorTracker MetaCursorTracker; typedef struct _MetaCursorTracker MetaCursorTracker;

41
src/x11/group-private.h Normal file
View File

@ -0,0 +1,41 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Mutter window group private header */
/*
* Copyright (C) 2002 Red Hat Inc.
*
* 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_GROUP_PRIVATE_H
#define META_GROUP_PRIVATE_H
#include <meta/group.h>
struct _MetaGroup
{
int refcount;
MetaDisplay *display;
GSList *windows;
Window group_leader;
char *startup_id;
char *wm_client_machine;
};
#endif

View File

@ -21,6 +21,7 @@
#include <config.h> #include <config.h>
#include "group-props.h" #include "group-props.h"
#include "group-private.h"
#include "xprops.h" #include "xprops.h"
#include <X11/Xatom.h> #include <X11/Xatom.h>

View File

@ -22,7 +22,7 @@
#ifndef META_GROUP_PROPS_H #ifndef META_GROUP_PROPS_H
#define META_GROUP_PROPS_H #define META_GROUP_PROPS_H
#include "group.h" #include <meta/group.h>
#include "window-private.h" #include "window-private.h"
void meta_group_reload_property (MetaGroup *group, void meta_group_reload_property (MetaGroup *group,

View File

@ -27,7 +27,7 @@
#include <config.h> #include <config.h>
#include <meta/util.h> #include <meta/util.h>
#include "group.h" #include "group-private.h"
#include "group-props.h" #include "group-props.h"
#include "window-private.h" #include "window-private.h"
#include <meta/window.h> #include <meta/window.h>

View File

@ -44,7 +44,7 @@
#include <meta/errors.h> #include <meta/errors.h>
#include "xprops.h" #include "xprops.h"
#include "frame.h" #include "frame.h"
#include "group.h" #include <meta/group.h>
#include <X11/Xatom.h> #include <X11/Xatom.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>