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