X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fmain.c;h=dd8029636be578e9a39e4e2b1b331a8e1dc98e39;hb=7428b02ff9e335e8a3c958d156bd221e6e86b051;hp=1a68acb26adf0891ccc7fa29450c78d39b56380c;hpb=d55488f17f9fbd25d9126853720e2fd78bd8540f;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/main.c b/Usermode/Applications/axwin2_src/WM/main.c index 1a68acb2..dd802963 100644 --- a/Usermode/Applications/axwin2_src/WM/main.c +++ b/Usermode/Applications/axwin2_src/WM/main.c @@ -8,7 +8,13 @@ // === IMPORTS === extern void ParseCommandline(int argc, char *argv[]); extern void Video_Setup(void); -extern void Messages_PollIPC(void); +extern void WM_Update(void); +extern void Interface_Init(void); +extern void IPC_Init(void); +extern void IPC_FillSelect(int *nfds, fd_set *set); +extern void IPC_HandleSelect(fd_set *set); +extern void Input_FillSelect(int *nfds, fd_set *set); +extern void Input_HandleSelect(fd_set *set); // === GLOBALS === char *gsTerminalDevice = NULL; @@ -31,17 +37,34 @@ int main(int argc, char *argv[]) ParseCommandline(argc, argv); if( gsTerminalDevice == NULL ) { - gsTerminalDevice = "/Devices/VTerm/7"; + gsTerminalDevice = "/Devices/VTerm/6"; + } + if( gsMouseDevice == NULL ) { + gsMouseDevice = "/Devices/PS2Mouse"; } Video_Setup(); - Interface_Render(); + Interface_Init(); + IPC_Init(); + + WM_Update(); // Main Loop for(;;) { - Messages_PollIPC(); - //yield(); + fd_set fds; + int nfds = 0; + FD_ZERO(&fds); + + Input_FillSelect(&nfds, &fds); + IPC_FillSelect(&nfds, &fds); + + nfds ++; + select(nfds, &fds, NULL, NULL, NULL); + + Input_HandleSelect(&fds); + IPC_HandleSelect(&fds); } return 0; } +