X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3.git;a=blobdiff_plain;f=ioncore%2Fexec.h;h=827505381a12cd506f6e77ef39943a4355c9bd1e;hp=63c8917203f1c303e87c09388c38a8bf8afb9a3a;hb=e3aec18706513a87eaa7839dfdaf7e0fcd0d8d2a;hpb=8366314611bf30a0f31d25bf5f5023186fa87692 diff --git a/ioncore/exec.h b/ioncore/exec.h index 63c8917..8275053 100644 --- a/ioncore/exec.h +++ b/ioncore/exec.h @@ -1,20 +1,18 @@ /* * ion/ioncore/exec.h * - * Copyright (c) Tuomo Valkonen 1999-2006. + * Copyright (c) Tuomo Valkonen 1999-2009. * - * 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 +#include #include "common.h" #include "rootwin.h" -#include enum{ IONCORE_SM_RESIGN, @@ -24,11 +22,23 @@ enum{ 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)); @@ -44,4 +54,7 @@ extern bool ioncore_do_snapshot(); extern void ioncore_emergency_snapshot(); +/* const WExecP* parameter */ +extern WHook *ioncore_exec_environ_hook; + #endif /* ION_IONCORE_EXEC_H */