mirror of
https://github.com/brl/mutter.git
synced 2024-11-27 10:30:47 -05:00
6ce80ccc54
Since commit226afa24a
- "Use Xwayland auto-terminate feature", the callback function shutdown_xwayland_cb() does not check for the autoclose-xwayland experimental feature anymore. As a result, when running nested or outside of systemd, gnome-shell/mutter would quit after 10 seconds unless some X11 window was mapped. But now that we rely on Xwayland's own terminate feature, there really is no need to use any xserver timeout function anymore. We do not need to keep track of X11 windows being created or unmapped, as again, Xwayland does all that for us at the client level. Remove all this code that we do not need anymore. fixes:226afa24a
- Use Xwayland auto-terminate feature Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2258>
108 lines
2.8 KiB
C
108 lines
2.8 KiB
C
/*
|
|
* Copyright (C) 2012 Intel Corporation
|
|
*
|
|
* 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, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
* 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef META_WAYLAND_PRIVATE_H
|
|
#define META_WAYLAND_PRIVATE_H
|
|
|
|
#include <glib.h>
|
|
#include <wayland-server.h>
|
|
|
|
#include "clutter/clutter.h"
|
|
#include "core/window-private.h"
|
|
#include "meta/meta-cursor-tracker.h"
|
|
#include "wayland/meta-wayland-pointer-gestures.h"
|
|
#include "wayland/meta-wayland-presentation-time-private.h"
|
|
#include "wayland/meta-wayland-seat.h"
|
|
#include "wayland/meta-wayland-surface.h"
|
|
#include "wayland/meta-wayland-tablet-manager.h"
|
|
#include "wayland/meta-wayland-versions.h"
|
|
#include "wayland/meta-wayland.h"
|
|
|
|
typedef struct _MetaXWaylandDnd MetaXWaylandDnd;
|
|
|
|
typedef struct
|
|
{
|
|
struct wl_list link;
|
|
struct wl_resource *resource;
|
|
MetaWaylandSurface *surface;
|
|
} MetaWaylandFrameCallback;
|
|
|
|
typedef struct
|
|
{
|
|
int display_index;
|
|
char *lock_file;
|
|
int abstract_fd;
|
|
int unix_fd;
|
|
char *name;
|
|
} MetaXWaylandConnection;
|
|
|
|
typedef struct
|
|
{
|
|
MetaXWaylandConnection private_connection;
|
|
MetaXWaylandConnection public_connection;
|
|
|
|
guint abstract_fd_watch_id;
|
|
guint unix_fd_watch_id;
|
|
|
|
struct wl_display *wayland_display;
|
|
struct wl_client *client;
|
|
struct wl_resource *xserver_resource;
|
|
char *auth_file;
|
|
|
|
GCancellable *xserver_died_cancellable;
|
|
GSubprocess *proc;
|
|
|
|
MetaXWaylandDnd *dnd;
|
|
|
|
gboolean has_xrandr;
|
|
int rr_event_base;
|
|
int rr_error_base;
|
|
} MetaXWaylandManager;
|
|
|
|
struct _MetaWaylandCompositor
|
|
{
|
|
GObject parent;
|
|
|
|
MetaContext *context;
|
|
|
|
struct wl_display *wayland_display;
|
|
char *display_name;
|
|
GSource *source;
|
|
|
|
GHashTable *outputs;
|
|
GList *frame_callback_surfaces;
|
|
|
|
MetaXWaylandManager xwayland_manager;
|
|
|
|
MetaWaylandSeat *seat;
|
|
MetaWaylandTabletManager *tablet_manager;
|
|
MetaWaylandActivation *activation;
|
|
|
|
GHashTable *scheduled_surface_associations;
|
|
|
|
MetaWaylandPresentationTime presentation_time;
|
|
MetaWaylandDmaBufManager *dma_buf_manager;
|
|
};
|
|
|
|
#define META_TYPE_WAYLAND_COMPOSITOR (meta_wayland_compositor_get_type ())
|
|
G_DECLARE_FINAL_TYPE (MetaWaylandCompositor, meta_wayland_compositor,
|
|
META, WAYLAND_COMPOSITOR, GObject)
|
|
|
|
#endif /* META_WAYLAND_PRIVATE_H */
|