mutter/src/wayland/meta-wayland-private.h
Olivier Fourdan 6ce80ccc54 xwayland: Remove stop xserver timeout
Since commit 226afa24a - "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>
2022-01-28 15:46:56 +00:00

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 */