toaruos/userspace/gsession.c
Kevin Lange b4ae49b056 Graphical Login Manager (without the login part)
* Some-what managed sessions
* Cool fade in effect from the bootscreen
* Not terribly unawesome rendering of everything else
2012-09-12 22:10:10 -07:00

35 lines
632 B
C

#include <stdlib.h>
#include <unistd.h>
#include <syscall.h>
volatile int _end_session = 0;
void sig_int(int sig) {
_end_session = 1;
}
int main(int argc, char * argv[]) {
/* Starts a graphical session and then spins waiting for a kill (logout) signal */
syscall_signal(2, sig_int);
if (!fork()) {
char * args[] = {"/bin/wallpaper", NULL};
execve(args[0], args, NULL);
}
if (!fork()) {
char * args[] = {"/bin/panel", NULL};
execve(args[0], args, NULL);
}
if (!fork()) {
char * args[] = {"/bin/terminal", "--kernel", NULL};
execve(args[0], args, NULL);
}
while (!_end_session) {
syscall_yield();
}
}