gchar * strid;
gint id;
AWallpaperPlugin *desktop_plugin = widget;
- pid_t pid;
char* child_argv[] = {"/usr/bin/livewp", "0", (char *) 0 };
fprintf(stderr,"ID !!!!!!!!!! %i\n",id);
switch (id){
- case 0: child_argv[1] = "0";
+ case 0: child_argv[1] = "1";
break;
- case 1: child_argv[1] = "1";
+ case 1: child_argv[1] = "2";
break;
- case 2: child_argv[1] = "2";
+ case 2: child_argv[1] = "3";
break;
- case 3: child_argv[1] = "3";
+ case 3: child_argv[1] = "4";
break;
}
- fprintf(stderr,"New proceess !!!!!!!!!! %s\n",child_argv[0]);
- fprintf(stderr,"New proceess !!!!!!!!!! %s\n",child_argv[1]);
- pid = fork();
- if (pid == 0){
+ desktop_plugin->priv->pid = fork();
+ if (desktop_plugin->priv->pid == 0){
fprintf(stderr,"New proceess !!!!!!!!!! %s\n",child_argv[1]);
execvp("/usr/bin/livewp", child_argv);
fprintf(stderr,"Problem with new process");
static void
lw_applet_finalize (GObject *object)
{
+ int status = 0; int wpid;
fprintf(stderr,"lw_applet_finalize\n");
AWallpaperPlugin *desktop_plugin = Animation_Wallpaper_HOME_PLUGIN (object);
Animation_WallpaperPrivate *priv = desktop_plugin->priv;
if (priv){
livewp_deinitialize_dbus(priv);
switch (priv->view){
- case 0: send_dbus_signal (priv, LIVEWP_SIGNAL_INTERFACE,
- LIVEWP_SIGNAL_PATH, LIVEWP_STOP_LIVEBG_ON_VIEW0);
- break;
case 1: send_dbus_signal (priv, LIVEWP_SIGNAL_INTERFACE,
LIVEWP_SIGNAL_PATH, LIVEWP_STOP_LIVEBG_ON_VIEW1);
break;
case 3: send_dbus_signal (priv, LIVEWP_SIGNAL_INTERFACE,
LIVEWP_SIGNAL_PATH, LIVEWP_STOP_LIVEBG_ON_VIEW3);
break;
+ case 4: send_dbus_signal (priv, LIVEWP_SIGNAL_INTERFACE,
+ LIVEWP_SIGNAL_PATH, LIVEWP_STOP_LIVEBG_ON_VIEW4);
+ break;
}
}
-
+ while (TRUE){
+ fprintf(stderr,"checking true\n");
+ wpid = wait(&status);
+ if (wpid == priv->pid)
+ break;
+ }
+ fprintf(stderr,"out from applet\n");
}
static void