cmd, e->message);
g_error_free(e);
} else if (data->execute.startupnotify) {
- gchar **env, *program;
+ gchar *program;
program = g_path_get_basename(argv[0]);
- env = sn_get_spawn_environment(program,
- data->execute.name,
- data->execute.icon_name,
- data->execute.any.time);
- if (!g_spawn_async(NULL, argv, env, G_SPAWN_SEARCH_PATH |
+ /* sets up the environment */
+ sn_setup_spawn_environment(program,
+ data->execute.name,
+ data->execute.icon_name,
+ /* launch it on the current
+ desktop */
+ screen_desktop,
+ data->execute.any.time);
+ if (!g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH |
G_SPAWN_DO_NOT_REAP_CHILD,
NULL, NULL, NULL, &e)) {
g_warning("failed to execute '%s': %s",
g_error_free(e);
sn_spawn_cancel();
}
- g_strfreev(env);
+ unsetenv("DESKTOP_STARTUP_ID");
g_free(program);
g_strfreev(argv);
} else {
moving on us */
event_halt_focus_delay();
- client_activate(data->activate.any.c, data->activate.here, TRUE,
- data->activate.any.time);
+ client_activate(data->activate.any.c, data->activate.here, TRUE);
}
}
moving on us */
event_halt_focus_delay();
- if (client_validate(data->client.any.c))
- client_focus(data->client.any.c);
+ client_focus(data->client.any.c);
}
}
focus_cycle(data->cycle.forward, data->cycle.linear, data->any.interactive,
data->cycle.dialog,
- data->cycle.inter.final, data->cycle.inter.cancel,
- data->cycle.inter.any.time);
+ data->cycle.inter.final, data->cycle.inter.cancel);
}
void action_directional_focus(union ActionData *data)
data->any.interactive,
data->interdiraction.dialog,
data->interdiraction.inter.final,
- data->interdiraction.inter.cancel,
- data->interdiraction.inter.any.time);
+ data->interdiraction.inter.cancel);
}
void action_movetoedge(union ActionData *data)