Xfce Spawn

Xfce Spawn — Functions to spawn a command with startup notification support.

Synopsis

#include <libxfce4ui/libxfce4ui.h>

gboolean            xfce_spawn_on_screen_with_child_watch
                                                        (GdkScreen *screen,
                                                         const gchar *working_directory,
                                                         gchar **argv,
                                                         gchar **envp,
                                                         GSpawnFlags flags,
                                                         gboolean startup_notify,
                                                         guint32 startup_timestamp,
                                                         const gchar *startup_icon_name,
                                                         GClosure *child_watch_closure,
                                                         GError **error);
gboolean            xfce_spawn_on_screen                (GdkScreen *screen,
                                                         const gchar *working_directory,
                                                         gchar **argv,
                                                         gchar **envp,
                                                         GSpawnFlags flags,
                                                         gboolean startup_notify,
                                                         guint32 startup_timestamp,
                                                         const gchar *startup_icon_name,
                                                         GError **error);
gboolean            xfce_spawn_command_line_on_screen   (GdkScreen *screen,
                                                         const gchar *command_line,
                                                         gboolean in_terminal,
                                                         gboolean startup_notify,
                                                         GError **error);

Description

On a desktop it is important that applications are execute with startup notification and they show up on the correct screen and workspace.

Details

xfce_spawn_on_screen_with_child_watch ()

gboolean            xfce_spawn_on_screen_with_child_watch
                                                        (GdkScreen *screen,
                                                         const gchar *working_directory,
                                                         gchar **argv,
                                                         gchar **envp,
                                                         GSpawnFlags flags,
                                                         gboolean startup_notify,
                                                         guint32 startup_timestamp,
                                                         const gchar *startup_icon_name,
                                                         GClosure *child_watch_closure,
                                                         GError **error);


xfce_spawn_on_screen ()

gboolean            xfce_spawn_on_screen                (GdkScreen *screen,
                                                         const gchar *working_directory,
                                                         gchar **argv,
                                                         gchar **envp,
                                                         GSpawnFlags flags,
                                                         gboolean startup_notify,
                                                         guint32 startup_timestamp,
                                                         const gchar *startup_icon_name,
                                                         GError **error);

Like gdk_spawn_on_screen(), but also supports startup notification (if Libxfce4ui was built with startup notification support).

screen :

a GdkScreen or NULL to use the active screen, see xfce_gdk_screen_get_active().

working_directory :

child's current working directory or NULL to inherit parent's.

argv :

child's argument vector.

envp :

child's environment vector or NULL to inherit parent's.

flags :

flags from GSpawnFlags. G_SPAWN_DO_NOT_REAP_CHILD is not allowed, use xfce_spawn_on_screen_with_child_watch() if you want a child watch.

startup_notify :

whether to use startup notification.

startup_timestamp :

the timestamp to pass to startup notification, use the event time here if possible to make focus stealing prevention work property. If you don't have direct access to the event time you could use gtk_get_current_event_time() or if nothing is available 0 is valid too.

startup_icon_name :

application icon or NULL.

error :

return location for errors or NULL.

Returns :

TRUE on success, FALSE if error is set.

xfce_spawn_command_line_on_screen ()

gboolean            xfce_spawn_command_line_on_screen   (GdkScreen *screen,
                                                         const gchar *command_line,
                                                         gboolean in_terminal,
                                                         gboolean startup_notify,
                                                         GError **error);

Executes the given command_line and returns TRUE if the command terminated successfully. Else, the error is set to the standard error output.

screen :

a GdkScreen or NULL to use the active screen, see xfce_gdk_screen_get_active().

command_line :

command line to run.

in_terminal :

whether to run command_line in a terminal.

startup_notify :

whether to use startup notification.

error :

location for a GError or NULL.

Returns :

TRUE if the command_line was executed successfully, FALSE if error is set.