From 01fcbc199f2475c85d028c11bdce35d3576f7688 Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <mark@skynet.ie>
Date: Wed, 10 Dec 2003 13:49:58 +0000
Subject: Utility functions for multi-screen applications which need to ensure

2003-12-10  Mark McLoughlin  <mark@skynet.ie>

        Utility functions for multi-screen applications which need
        to ensure launched applications appear on a certain screen.
        See bug #95897.

        * gdk/gdkspawn.h: header for multi-screen launching
        support.

        * gdk/Makefile.am: install gdkspawn.h.

        * gdk/x11/Makefile.am:
        * gdk/x11/gdkspawn-x11.c:
        (gdk_spawn_make_environment_for_screen): private function
        to create an environment vector with DISPLAY set appropriately
        for the screen.
        (gdk_spawn_on_screen): multi-screen version of g_spawn_async().
        (gdk_spawn_on_screen_with_pipes): version of g_spawn_async_with_pipes().
        (gdk_spawn_command_line_on_screen): version of g_spawn_command_line_async().

        * gdk/linux-fb/Makefile.am,
          gdk/linux-fb/gdkspawn-fb.c: linux-fb impl.

        * gdk/win32/Makefile.am,
          gdk/win32/gdkspawn-win32.c: win32 impl.
---
 gdk/gdkspawn.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 gdk/gdkspawn.h

(limited to 'gdk/gdkspawn.h')

diff --git a/gdk/gdkspawn.h b/gdk/gdkspawn.h
new file mode 100644
index 0000000000..72901010d3
--- /dev/null
+++ b/gdk/gdkspawn.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Mark McLoughlin <mark@skynet.ie>
+ */
+
+#ifndef __GDK_SPAWN_H__
+#define __GDK_SPAWN_H__
+
+#include <gdk/gdkscreen.h>
+#include <glib/gspawn.h>
+
+G_BEGIN_DECLS
+
+gboolean gdk_spawn_on_screen              (GdkScreen             *screen,
+					   const gchar           *working_directory,
+					   gchar                **argv,
+					   gchar                **envp,
+					   GSpawnFlags            flags,
+					   GSpawnChildSetupFunc   child_setup,
+					   gpointer               user_data,
+					   gint                  *child_pid,
+					   GError               **error);
+
+gboolean gdk_spawn_on_screen_with_pipes   (GdkScreen             *screen,
+					   const gchar           *working_directory,
+					   gchar                **argv,
+					   gchar                **envp,
+					   GSpawnFlags            flags,
+					   GSpawnChildSetupFunc   child_setup,
+					   gpointer               user_data,
+					   gint                  *child_pid,
+					   gint                  *standard_input,
+					   gint                  *standard_output,
+					   gint                  *standard_error,
+					   GError               **error);
+
+gboolean gdk_spawn_command_line_on_screen (GdkScreen             *screen,
+					   const gchar           *command_line,
+					   GError               **error);
+
+G_END_DECLS
+
+#endif /* __GDK_SPAWN_H__ */
-- 
cgit v1.2.1