From 45ce8728224caa44d31dca3117992b193fa3cd98 Mon Sep 17 00:00:00 2001 From: Miguel Date: Fri, 19 Oct 2018 02:41:53 +0200 Subject: window manager continued --- userspace/init.c | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) (limited to 'userspace/init.c') diff --git a/userspace/init.c b/userspace/init.c index e432ef9..0fb23d2 100644 --- a/userspace/init.c +++ b/userspace/init.c @@ -1,46 +1,35 @@ -/** xinit - * - * TODO: console version - * - * */ - -#define LAUNCH_COUNT 0 -static char *env1[]={"HOME=/home/miguel","PS1=\033[34m$\033[37m","PWD=/home/miguel","PATH=/bin","TERM=fool-term",0}; + /* + * @file + * + * This is the FoolOS Init process running on pid=1. + * + * I just spawns a `fool-term` each time an character arrives + * on its '/dev/tty' (controlling terminal of this process) + * + */ + +static char *env1[]={"HOME=/home/miguel","PS1=$","PWD=/home/miguel","PATH=/bin","TERM=fool-term",0}; static char *argv1[]={"xterm","/bin/fsh",0}; -/* - -char *argv1[][4]={ - {"/bin/xterm","xterm","/bin/fsh",0}, - {"/bin/xterm","xterm","/bin/fsh",0}, - {"/bin/xterm","xterm","/bin/fsh",0}, -}; -*/ - void fork_and_exec() { int pid=fork(); - if(!pid) //child + + if(!pid) { + // execve in child execve("/bin/xterm",argv1,env1); } } int main(int argc, char **argv) { - int pid=fork(); - - for(int i=0;i