void create_mainmenu(void);
void create_run_dialog(void);
void mainmenu_run_dialog(void *unused);
+void mainmenu_app_terminal(void *unused);
+void mainmenu_app_textedit(void *unused);
+void update_time(void);
// === GLOBALS ===
tHWND gSidebar;
tHWND gSystemMenu;
tHWND gRunDialog;
tAxWin3_Widget *gRunInput;
+tAxWin3_Widget *gTimeDisplay;
int giScreenWidth;
int giScreenHeight;
+char **gEnvion;
// === CODE ===
int systembutton_fire(tAxWin3_Widget *Widget)
return 0;
}
-int main(int argc, char *argv[])
+int main(int argc, char *argv[], char **envp)
{
+ gEnvion = envp;
// Connect to AxWin3 Server
AxWin3_Connect(NULL);
create_run_dialog();
AxWin3_RegisterAction(gSidebar, "Interface>Run", (tAxWin3_HotkeyCallback)mainmenu_run_dialog);
-// AxWin3_RegisterAction(gSidebar, "Interface>Terminal", mainmenu_app_terminal);
-// AxWin3_RegisterAction(gSidebar, "Interface>TextEdit", mainmenu_app_textedit);
+ AxWin3_RegisterAction(gSidebar, "Interface>Terminal", (tAxWin3_HotkeyCallback)mainmenu_app_terminal);
+ AxWin3_RegisterAction(gSidebar, "Interface>TextEdit", (tAxWin3_HotkeyCallback)mainmenu_app_textedit);
// Idle loop
AxWin3_MainLoop();
ELEFLAG_VERTICAL|ELEFLAG_ALIGN_CENTER|ELEFLAG_NOSTRETCH,
"Version/Time"
);
- txt = AxWin3_Widget_AddWidget(ele, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Version String");
- AxWin3_Widget_SetSize(txt, 20);
- AxWin3_Widget_SetText(txt, "3.0");
+ gTimeDisplay = AxWin3_Widget_AddWidget(ele, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Time");
+ AxWin3_Widget_SetSize(gTimeDisplay, 20);
+ //AxWin3_Widget_SetText(gTimeDisplay, "--:--");
+ update_time();
// Turn off decorations
AxWin3_DecorateWindow(gSidebar, 0);
}
+void update_time(void)
+{
+ char tmpbuf[2+1+2+1] = "--:--";
+ //strftime(tmpbuf, sizeof(tmpbuf), "%H:%M", NULL);
+ AxWin3_Widget_SetText(gTimeDisplay, tmpbuf);
+}
+
void mainmenu_app_textedit(void *unused)
{
- _SysDebug("TODO: Launch text editor");
+// _SysDebug("TODO: Launch text editor");
+ const char *args[] = {"ate",NULL};
+ _SysSpawn("/Acess/Apps/AxWin/3.0/ate", args, (const char **)gEnvion, 0, NULL, NULL);
}
void mainmenu_app_terminal(void *unused)
{
- _SysDebug("TODO: Launch terminal emulator");
+ _SysDebug("Launch terminal emulator");
+ const char *args[] = {"terminal",NULL};
+ _SysSpawn("/Acess/Apps/AxWin/3.0/terminal", args, (const char **)gEnvion, 0, NULL, NULL);
}
void mainmenu_run_dialog(void *unused)
_SysDebug("DoRun pressed");
char *cmd = AxWin3_Widget_GetText(gRunInput);
_SysDebug("Command string '%s'", cmd);
+
+ // TODO: Parse the command string into components
+ // TODO: Call _SysSpawn
+
AxWin3_ShowWindow(gRunDialog, 0);
return 0;
}