summaryrefslogtreecommitdiff
path: root/libcaja-private
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2013-07-25 15:12:51 +0200
committerStefano Karapetsas <[email protected]>2013-07-25 15:12:51 +0200
commita4f91079a8a8dda83614148ac50e7ef7e162c9b1 (patch)
treec3a4bb22dfd2f296532b2b66de289ed974a61421 /libcaja-private
parentb965494b9c67f1e407c9c26bcc580e15838a64d3 (diff)
downloadcaja-a4f91079a8a8dda83614148ac50e7ef7e162c9b1.tar.bz2
caja-a4f91079a8a8dda83614148ac50e7ef7e162c9b1.tar.xz
libcaja-private: Add GDK3 support
Diffstat (limited to 'libcaja-private')
-rw-r--r--libcaja-private/caja-icon-container.c4
-rw-r--r--libcaja-private/caja-program-choosing.c34
2 files changed, 38 insertions, 0 deletions
diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c
index e7c421c2..eb069406 100644
--- a/libcaja-private/caja-icon-container.c
+++ b/libcaja-private/caja-icon-container.c
@@ -4551,7 +4551,11 @@ realize (GtkWidget *widget)
set on it is drawn by X. */
if (container->details->is_desktop)
{
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gdk_x11_window_get_xid (gtk_layout_get_bin_window (GTK_LAYOUT (widget)));
+#else
gdk_x11_drawable_get_xid (gtk_layout_get_bin_window (GTK_LAYOUT (widget)));
+#endif
}
/* Set up DnD. */
diff --git a/libcaja-private/caja-program-choosing.c b/libcaja-private/caja-program-choosing.c
index bc9ee396..6971d2d9 100644
--- a/libcaja-private/caja-program-choosing.c
+++ b/libcaja-private/caja-program-choosing.c
@@ -322,7 +322,24 @@ caja_launch_application_from_command (GdkScreen *screen,
}
else
{
+#if GTK_CHECK_VERSION (3, 0, 0)
+ GdkAppLaunchContext *launch_context;
+ GAppInfo *app_info = NULL;
+ app_info = g_app_info_create_from_commandline (full_command,
+ NULL,
+ G_APP_INFO_CREATE_NONE,
+ NULL);
+ if (app_info != NULL)
+ {
+ launch_context = gdk_app_launch_context_new ();
+ gdk_app_launch_context_set_screen (launch_context, screen);
+ g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), NULL);
+ g_object_unref (launch_context);
+ g_object_unref (app_info);
+ }
+#else
gdk_spawn_command_line_on_screen (screen, full_command, NULL);
+#endif
}
g_free (full_command);
@@ -370,7 +387,24 @@ caja_launch_application_from_command_array (GdkScreen *screen,
}
else
{
+#if GTK_CHECK_VERSION (3, 0, 0)
+ GdkAppLaunchContext *launch_context;
+ GAppInfo *app_info = NULL;
+ app_info = g_app_info_create_from_commandline (full_command,
+ NULL,
+ G_APP_INFO_CREATE_NONE,
+ NULL);
+ if (app_info != NULL)
+ {
+ launch_context = gdk_app_launch_context_new ();
+ gdk_app_launch_context_set_screen (launch_context, screen);
+ g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), NULL);
+ g_object_unref (launch_context);
+ g_object_unref (app_info);
+ }
+#else
gdk_spawn_command_line_on_screen (screen, full_command, NULL);
+#endif
}
g_free (full_command);