/*
* ion/ioncore/exec.h
*
- * Copyright (c) Tuomo Valkonen 1999-2006.
+ * Copyright (c) Tuomo Valkonen 1999-2007.
*
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
*/
#ifndef ION_IONCORE_EXEC_H
#define ION_IONCORE_EXEC_H
+#include <libextl/extl.h>
+#include <libmainloop/hooks.h>
#include "common.h"
#include "rootwin.h"
-#include <libextl/extl.h>
enum{
IONCORE_SM_RESIGN,
IONCORE_SM_SNAPSHOT
};
-extern void ioncore_do_exec(const char *cmd);
-extern bool ioncore_exec_on_rootwin(WRootWin *rootwin, const char *cmd);
+
+INTRSTRUCT(WExecP);
+
+DECLSTRUCT(WExecP){
+ WRegion *target;
+ const char *cmd;
+ const char *wd;
+};
+
+
extern bool ioncore_exec(const char *cmd);
-extern void ioncore_setup_environ(int scr);
-extern bool ioncore_popen_bgread(const char *cmd, ExtlFn h, ExtlFn errh);
+extern int ioncore_do_exec_on(WRegion *reg, const char *cmd, const char *wd,
+ ExtlFn errh);
+extern bool ioncore_popen_bgread(const char *cmd, ExtlFn h, ExtlFn errh,
+ const char *wd);
+extern void ioncore_setup_environ(const WExecP *p);
+extern void ioncore_setup_display(int xscr);
extern bool ioncore_set_smhook(void (*fn)(int what));
extern void ioncore_emergency_snapshot();
+/* const WExecP* parameter */
+extern WHook *ioncore_exec_environ_hook;
+
#endif /* ION_IONCORE_EXEC_H */