git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Kernel - Fixed stupid bug in utf-8 code (mirrored in userland)
[tpg/acess2.git]
/
Usermode
/
Applications
/
axwin3_src
/
WM
/
main.c
diff --git
a/Usermode/Applications/axwin3_src/WM/main.c
b/Usermode/Applications/axwin3_src/WM/main.c
index
b8f3065
..
7d2d391
100644
(file)
--- a/
Usermode/Applications/axwin3_src/WM/main.c
+++ b/
Usermode/Applications/axwin3_src/WM/main.c
@@
-9,6
+9,7
@@
#include <acess/sys.h>
#include <stdlib.h>
#include <stdio.h>
#include <acess/sys.h>
#include <stdlib.h>
#include <stdio.h>
+#include <axwin3/keysyms.h>
// === IMPORTS ===
extern void Video_Setup(void);
// === IMPORTS ===
extern void Video_Setup(void);
@@
-16,7
+17,10
@@
extern void WM_Initialise(void);
extern int Renderer_Menu_Init(void);
extern int Renderer_Widget_Init(void);
extern int Renderer_Background_Init(void);
extern int Renderer_Menu_Init(void);
extern int Renderer_Widget_Init(void);
extern int Renderer_Background_Init(void);
+extern int Renderer_Framebuffer_Init(void);
+extern int Renderer_RichText_Init(void);
extern void WM_Update(void);
extern void WM_Update(void);
+extern void WM_Hotkey_Register(int nKeys, uint32_t *Keys, const char *ActionName);
// === PROTOTYPES ===
void ParseCommandline(int argc, char **argv);
// === PROTOTYPES ===
void ParseCommandline(int argc, char **argv);
@@
-29,6
+33,7
@@
const char *gsMouseDevice = NULL;
int giScreenHeight = 480;
int giTerminalFD = -1;
int giScreenHeight = 480;
int giTerminalFD = -1;
+ int giTerminalFD_Input = 0;
int giMouseFD = -1;
#define __INSTALL_ROOT "/Acess/Apps/AxWin/3.0"
int giMouseFD = -1;
#define __INSTALL_ROOT "/Acess/Apps/AxWin/3.0"
@@
-41,38
+46,46
@@
const char *gsInstallRoot = __INSTALL_ROOT;
*/
int main(int argc, char *argv[])
{
*/
int main(int argc, char *argv[])
{
- int server_tid = gettid();
-
ParseCommandline(argc, argv);
if( gsTerminalDevice == NULL ) {
gsTerminalDevice = "/Devices/VTerm/6";
}
if( gsMouseDevice == NULL ) {
ParseCommandline(argc, argv);
if( gsTerminalDevice == NULL ) {
gsTerminalDevice = "/Devices/VTerm/6";
}
if( gsMouseDevice == NULL ) {
- gsMouseDevice = "/Devices/
PS2Mouse
";
+ gsMouseDevice = "/Devices/
Mouse/system
";
}
Video_Setup();
}
Video_Setup();
-// Interface_Init();
IPC_Init();
Input_Init();
Renderer_Menu_Init();
Renderer_Widget_Init();
Renderer_Background_Init();
IPC_Init();
Input_Init();
Renderer_Menu_Init();
Renderer_Widget_Init();
Renderer_Background_Init();
+ Renderer_Framebuffer_Init();
+ Renderer_RichText_Init();
WM_Initialise();
WM_Initialise();
+
+ // TODO: Config
+ uint32_t keys[4];
+ keys[0] = KEYSYM_LEFTGUI; keys[1] = KEYSYM_r;
+ WM_Hotkey_Register(2, keys, "Interface>Run");
// Spawn interface root
// 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";
static char csInterfaceApp[] = __INSTALL_ROOT"/AxWinUI";
char server_info[] = "AXWIN3_SERVER=00000";
- c
har
*envp[] = {server_info, NULL};
- c
har
*argv[] = {csInterfaceApp, NULL};
+ c
onst char
*envp[] = {server_info, NULL};
+ c
onst char
*argv[] = {csInterfaceApp, NULL};
_SysDebug("server_tid = %i, &server_tid = %p", server_tid, &server_tid);
sprintf(server_info, "AXWIN3_SERVER=%i", server_tid);
_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 ) {
+ _SysDebug("_SysSpawn chucked a sad, rv=%i, errno=%i", rv, _errno);
+ }
}
// Main Loop
}
// Main Loop
UCC
git Repository :: git.ucc.asn.au