X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Fmain.c;h=1d833148808eebaadb676ed6ca5db5c5be59c9af;hb=d778bb605479493d104540cd25f7822adee24b82;hp=f1774a899368cc3eda759b451a542bcd9c47e913;hpb=d02a9dd1f6752a65efe6a8326a86a288a4165c94;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/main.c b/Usermode/Applications/axwin3_src/WM/main.c index f1774a89..1d833148 100644 --- a/Usermode/Applications/axwin3_src/WM/main.c +++ b/Usermode/Applications/axwin3_src/WM/main.c @@ -46,8 +46,6 @@ const char *gsInstallRoot = __INSTALL_ROOT; */ int main(int argc, char *argv[]) { - int server_tid = gettid(); - ParseCommandline(argc, argv); if( gsTerminalDevice == NULL ) { @@ -68,22 +66,30 @@ int main(int argc, char *argv[]) Renderer_RichText_Init(); WM_Initialise(); - // TODO: Config + // TODO: Move these to config uint32_t keys[4]; keys[0] = KEYSYM_LEFTGUI; keys[1] = KEYSYM_r; WM_Hotkey_Register(2, keys, "Interface>Run"); + keys[0] = KEYSYM_LEFTGUI; keys[1] = KEYSYM_t; + WM_Hotkey_Register(2, keys, "Interface>Terminal"); + keys[0] = KEYSYM_LEFTGUI; keys[1] = KEYSYM_e; + WM_Hotkey_Register(2, keys, "Interface>TextEdit"); // Spawn interface root - if( clone(CLONE_VM, 0) == 0 ) { + int server_tid = gettid(); + _SysDebug("server_tid = %i", server_tid); static char csInterfaceApp[] = __INSTALL_ROOT"/AxWinUI"; char server_info[] = "AXWIN3_SERVER=00000"; - char *envp[] = {server_info, NULL}; - char *argv[] = {csInterfaceApp, NULL}; + const char *envp[] = {server_info, NULL}; + const char *argv[] = {csInterfaceApp, NULL}; _SysDebug("server_tid = %i, &server_tid = %p", server_tid, &server_tid); sprintf(server_info, "AXWIN3_SERVER=%i", server_tid); - execve(csInterfaceApp, argv, envp); - exit(1); + // TODO: Does the client need FDs? + int rv = _SysSpawn(csInterfaceApp, argv, envp, 0, NULL, NULL); + if( rv < 0 ) { + _SysDebug("_SysSpawn chucked a sad, rv=%i, errno=%i", rv, _errno); + } } // Main Loop