diff -urN icewm-1.0.4/src/wmaction.cc icewm-1.0.4-ck1/src/wmaction.cc --- icewm-1.0.4/src/wmaction.cc Fri Nov 26 14:29:08 1999 +++ icewm-1.0.4-ck1/src/wmaction.cc Tue Dec 12 20:02:31 2000 @@ -30,6 +30,10 @@ YAction *actionWindowList = 0; YAction *actionLogout = 0; YAction *actionCancelLogout = 0; +#ifdef PDA +YAction *actionIMKeyboard = 0; +YAction *actionIMHandwriting = 0; +#endif YAction *actionRefresh = 0; #ifndef LITE YAction *actionAbout = 0; @@ -66,6 +70,10 @@ actionWindowList = new YAction(); actionLogout = new YAction(); actionCancelLogout = new YAction(); +#ifdef PDA + actionIMKeyboard = new YAction(); + actionIMHandwriting = new YAction(); +#endif actionRefresh = new YAction(); #ifndef LITE actionAbout = new YAction(); diff -urN icewm-1.0.4/src/wmaction.h icewm-1.0.4-ck1/src/wmaction.h --- icewm-1.0.4/src/wmaction.h Fri Nov 26 14:29:08 1999 +++ icewm-1.0.4-ck1/src/wmaction.h Tue Dec 12 19:47:56 2000 @@ -30,6 +30,10 @@ extern YAction *actionWindowList; extern YAction *actionLogout; extern YAction *actionCancelLogout; +#ifdef PDA +extern YAction *actionIMKeyboard; +extern YAction *actionIMHandwriting; +#endif extern YAction *actionRefresh; extern YAction *actionAbout; extern YAction *actionHelp; diff -urN icewm-1.0.4/src/wmapp.cc icewm-1.0.4-ck1/src/wmapp.cc --- icewm-1.0.4/src/wmapp.cc Mon Jun 12 02:00:35 2000 +++ icewm-1.0.4-ck1/src/wmapp.cc Tue Dec 12 20:41:19 2000 @@ -66,6 +66,9 @@ YMenu *windowListAllPopup = 0; #endif YMenu *logoutMenu = 0; +#ifdef PDA +YMenu *IMMenu = 0; +#endif char *configArg = 0; @@ -360,6 +363,13 @@ logoutMenu->addItem("Logout", 0, "", actionLogout)->setChecked(true); logoutMenu->addItem("Cancel logout", 0, "", actionCancelLogout)->setEnabled(false); logoutMenu->addSeparator(); +#ifdef PDA + IMMenu = new YMenu(); + PRECONDITION(IMMenu !=0); + IMMenu->setShared(true); + IMMenu->addItem("Keyboard",0,0, actionIMKeyboard); + IMMenu->addItem("Handwriting",0,0,actionIMHandwriting); +#endif #ifndef NO_CONFIGURE_MENUS { const char *c = configArg ? "-c" : 0; @@ -568,6 +578,12 @@ } #endif } +#ifdef PDA + } else if (action == actionIMKeyboard) { + keyboard_up(); + } else if (action == actionIMHandwriting) { + handwriting_up(); +#endif } else if (action == actionCancelLogout) { cancelLogout(); } else if (action == actionRun) { @@ -978,6 +994,16 @@ } logoutMenu->enableCommand(actionLogout); logoutMenu->disableCommand(actionCancelLogout); +} + +void YWMApp::keyboard_up() { +//dirte hack + if (fork() == 0) + execlp("/usr/X11R6/bin/xvkbd","xvkbd",0,0); +} +void YWMApp::handwriting_up() { +fprintf(stderr,"handwriting up...\n"); + } void YWMApp::handleMsgBox(YMsgBox *msgbox, int operation) { diff -urN icewm-1.0.4/src/wmapp.h icewm-1.0.4-ck1/src/wmapp.h --- icewm-1.0.4/src/wmapp.h Mon Jun 12 02:00:35 2000 +++ icewm-1.0.4-ck1/src/wmapp.h Tue Dec 12 19:56:08 2000 @@ -34,6 +34,10 @@ void logout(); void cancelLogout(); +#ifdef PDA + void keyboard_up(); + void handwriting_up(); +#endif #ifdef SM virtual void smSaveYourself(bool shutdown, bool fast); @@ -66,6 +70,9 @@ #endif extern YMenu *maximizeMenu; extern YMenu *logoutMenu; +#ifdef PDA +extern YMenu *IMMenu; +#endif #ifndef NO_CONFIGURE_MENUS class ObjectMenu; diff -urN icewm-1.0.4/src/wmprog.cc icewm-1.0.4-ck1/src/wmprog.cc --- icewm-1.0.4/src/wmprog.cc Mon Jun 12 02:11:04 2000 +++ icewm-1.0.4-ck1/src/wmprog.cc Tue Dec 12 20:11:07 2000 @@ -538,6 +538,10 @@ if (themes->itemCount() > 1) addSubmenu("Themes", 0, themes); } +#ifndef PDA addItem("Logout...", 0, actionLogout, logoutMenu); +#else + addItem("Input..",0,actionIMKeyboard,IMMenu); +#endif } #endif diff -urN icewm-1.0.4/src/wmtaskbar.cc icewm-1.0.4-ck1/src/wmtaskbar.cc --- icewm-1.0.4/src/wmtaskbar.cc Sun Mar 19 21:34:58 2000 +++ icewm-1.0.4-ck1/src/wmtaskbar.cc Tue Dec 12 20:11:41 2000 @@ -227,7 +227,11 @@ taskBarMenu->addItem("About", 0, actionAbout, 0); #endif taskBarMenu->addSeparator(); +#ifndef PDA taskBarMenu->addItem("Logout...", 0, actionLogout, logoutMenu); +#else + taskBarMenu->addItem("Input..", 0, actionIMKeyboard,IMMenu); +#endif } fAddressBar = 0;