2010-12-18 20:38:49 +00:00
|
|
|
/*
|
|
|
|
* Copyright © 2010 Intel Corporation
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2 of
|
|
|
|
* the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library 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
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
2012-02-27 13:01:10 +00:00
|
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
2010-12-18 20:38:49 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
|
|
|
|
#include <string.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
#include <glib.h>
|
|
|
|
#include <gio/gdesktopappinfo.h>
|
|
|
|
|
|
|
|
#include "gdkwayland.h"
|
|
|
|
#include "gdkprivate-wayland.h"
|
|
|
|
#include "gdkapplaunchcontextprivate.h"
|
|
|
|
#include "gdkscreen.h"
|
|
|
|
#include "gdkinternals.h"
|
|
|
|
#include "gdkintl.h"
|
|
|
|
|
|
|
|
static char *
|
|
|
|
gdk_wayland_app_launch_context_get_startup_notify_id (GAppLaunchContext *context,
|
2015-02-28 03:28:28 +00:00
|
|
|
GAppInfo *info,
|
|
|
|
GList *files)
|
2010-12-18 20:38:49 +00:00
|
|
|
{
|
2019-01-23 16:02:01 +00:00
|
|
|
GdkWaylandDisplay *display;
|
|
|
|
gchar *id = NULL;
|
|
|
|
|
|
|
|
g_object_get (context, "display", &display, NULL);
|
|
|
|
|
|
|
|
if (display->gtk_shell_version >= 3)
|
|
|
|
{
|
|
|
|
id = g_uuid_string_random ();
|
|
|
|
gtk_shell1_notify_launch (display->gtk_shell, id);
|
|
|
|
}
|
|
|
|
|
|
|
|
g_object_unref (display);
|
|
|
|
|
|
|
|
return id;
|
2010-12-18 20:38:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2015-02-28 03:28:28 +00:00
|
|
|
gdk_wayland_app_launch_context_launch_failed (GAppLaunchContext *context,
|
|
|
|
const char *startup_notify_id)
|
2010-12-18 20:38:49 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
typedef struct _GdkWaylandAppLaunchContext GdkWaylandAppLaunchContext;
|
|
|
|
typedef struct _GdkWaylandAppLaunchContextClass GdkWaylandAppLaunchContextClass;
|
|
|
|
|
|
|
|
struct _GdkWaylandAppLaunchContext
|
|
|
|
{
|
|
|
|
GdkAppLaunchContext base;
|
|
|
|
gchar *name;
|
|
|
|
guint serial;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkWaylandAppLaunchContextClass
|
|
|
|
{
|
|
|
|
GdkAppLaunchContextClass base_class;
|
|
|
|
};
|
|
|
|
|
2014-09-06 00:41:06 +00:00
|
|
|
GType gdk_wayland_app_launch_context_get_type (void);
|
|
|
|
|
2010-12-18 20:38:49 +00:00
|
|
|
G_DEFINE_TYPE (GdkWaylandAppLaunchContext, gdk_wayland_app_launch_context, GDK_TYPE_APP_LAUNCH_CONTEXT)
|
|
|
|
|
|
|
|
static void
|
|
|
|
gdk_wayland_app_launch_context_class_init (GdkWaylandAppLaunchContextClass *klass)
|
|
|
|
{
|
|
|
|
GAppLaunchContextClass *ctx_class = G_APP_LAUNCH_CONTEXT_CLASS (klass);
|
|
|
|
|
|
|
|
ctx_class->get_startup_notify_id = gdk_wayland_app_launch_context_get_startup_notify_id;
|
|
|
|
ctx_class->launch_failed = gdk_wayland_app_launch_context_launch_failed;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
gdk_wayland_app_launch_context_init (GdkWaylandAppLaunchContext *ctx)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
GdkAppLaunchContext *
|
|
|
|
_gdk_wayland_display_get_app_launch_context (GdkDisplay *display)
|
|
|
|
{
|
|
|
|
GdkAppLaunchContext *ctx;
|
|
|
|
|
|
|
|
ctx = g_object_new (gdk_wayland_app_launch_context_get_type (),
|
|
|
|
"display", display,
|
|
|
|
NULL);
|
|
|
|
|
|
|
|
return ctx;
|
|
|
|
}
|