Blame gdk/quartz/gdkspawn-quartz.c

Packit 98cdb6
/*
Packit 98cdb6
 * Copyright (C) 2003 Sun Microsystems Inc.
Packit 98cdb6
 *
Packit 98cdb6
 * This library is free software; you can redistribute it and/or
Packit 98cdb6
 * modify it under the terms of the GNU Library General Public
Packit 98cdb6
 * License as published by the Free Software Foundation; either
Packit 98cdb6
 * version 2 of the License, or (at your option) any later version.
Packit 98cdb6
 *
Packit 98cdb6
 * This library is distributed in the hope that it will be useful,
Packit 98cdb6
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 98cdb6
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 98cdb6
 * Library General Public License for more details.
Packit 98cdb6
 *
Packit 98cdb6
 * You should have received a copy of the GNU Library General Public
Packit 98cdb6
 * License along with this library; if not, write to the
Packit 98cdb6
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit 98cdb6
 * Boston, MA 02111-1307, USA.
Packit 98cdb6
 *
Packit 98cdb6
 * Authors: Mark McLoughlin <mark@skynet.ie>
Packit 98cdb6
 */
Packit 98cdb6
Packit 98cdb6
#include "config.h"
Packit 98cdb6
Packit 98cdb6
#include "gdkspawn.h"
Packit 98cdb6
Packit 98cdb6
#include <glib.h>
Packit 98cdb6
#include <gdk/gdk.h>
Packit 98cdb6
Packit 98cdb6
gboolean
Packit 98cdb6
gdk_spawn_on_screen (GdkScreen             *screen,
Packit 98cdb6
		     const gchar           *working_directory,
Packit 98cdb6
		     gchar                **argv,
Packit 98cdb6
		     gchar                **envp,
Packit 98cdb6
		     GSpawnFlags            flags,
Packit 98cdb6
		     GSpawnChildSetupFunc   child_setup,
Packit 98cdb6
		     gpointer               user_data,
Packit 98cdb6
		     gint                  *child_pid,
Packit 98cdb6
		     GError               **error)
Packit 98cdb6
{
Packit 98cdb6
  g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE);
Packit 98cdb6
  g_assert (sizeof(GPid) == sizeof(int));
Packit 98cdb6
Packit 98cdb6
  return g_spawn_async (working_directory,
Packit 98cdb6
			argv,
Packit 98cdb6
			envp,
Packit 98cdb6
			flags,
Packit 98cdb6
			child_setup,
Packit 98cdb6
			user_data,
Packit 98cdb6
			(GPid*)child_pid,
Packit 98cdb6
			error);
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
gboolean
Packit 98cdb6
gdk_spawn_on_screen_with_pipes (GdkScreen            *screen,
Packit 98cdb6
				const gchar          *working_directory,
Packit 98cdb6
				gchar               **argv,
Packit 98cdb6
				gchar               **envp,
Packit 98cdb6
				GSpawnFlags           flags,
Packit 98cdb6
				GSpawnChildSetupFunc  child_setup,
Packit 98cdb6
				gpointer              user_data,
Packit 98cdb6
				gint                 *child_pid,
Packit 98cdb6
				gint                 *standard_input,
Packit 98cdb6
				gint                 *standard_output,
Packit 98cdb6
				gint                 *standard_error,
Packit 98cdb6
				GError              **error)
Packit 98cdb6
{
Packit 98cdb6
  g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE);
Packit 98cdb6
  g_assert (sizeof(GPid) == sizeof(int));
Packit 98cdb6
Packit 98cdb6
  return g_spawn_async_with_pipes (working_directory,
Packit 98cdb6
				   argv,
Packit 98cdb6
				   envp,
Packit 98cdb6
				   flags,
Packit 98cdb6
				   child_setup,
Packit 98cdb6
				   user_data,
Packit 98cdb6
				   (GPid*)child_pid,
Packit 98cdb6
				   standard_input,
Packit 98cdb6
				   standard_output,
Packit 98cdb6
				   standard_error,
Packit 98cdb6
				   error);
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
gboolean
Packit 98cdb6
gdk_spawn_command_line_on_screen (GdkScreen    *screen,
Packit 98cdb6
				  const gchar  *command_line,
Packit 98cdb6
				  GError      **error)
Packit 98cdb6
{
Packit 98cdb6
  gchar    **argv = NULL;
Packit 98cdb6
  gboolean   retval;
Packit 98cdb6
Packit 98cdb6
  g_return_val_if_fail (command_line != NULL, FALSE);
Packit 98cdb6
Packit 98cdb6
  if (!g_shell_parse_argv (command_line,
Packit 98cdb6
			   NULL, &argv,
Packit 98cdb6
			   error))
Packit 98cdb6
    return FALSE;
Packit 98cdb6
Packit 98cdb6
  retval = gdk_spawn_on_screen (screen,
Packit 98cdb6
				NULL, argv, NULL,
Packit 98cdb6
				G_SPAWN_SEARCH_PATH,
Packit 98cdb6
				NULL, NULL, NULL,
Packit 98cdb6
				error);
Packit 98cdb6
  g_strfreev (argv);
Packit 98cdb6
Packit 98cdb6
  return retval;
Packit 98cdb6
}