Microwindows releases major enhancements for PDAs and WebPADs
Jan 25, 2001 — by Rick Lehrbaum — from the LinuxDevices Archive — viewsHere's the latest news on Microwindows, from Greg Haerr at Microwindows.org . . .
The long-awaited 0.89pre7 is _finally_ released, and is available here.
There are some major enhancements in this release, as well as many small additions and bug fixes required to run well on PDAs, WebPADs, and set-top boxes. Some of the major enhancements include:
- Complete scancode-mode keyboard driver rewrite. The Microwindows keyboard interface is now complete, and all applications now have access to separate keydown and keyup events for every key on the keyboard, including function keys, shift/ctrl/alt, as well as additional keys found on things like the iPAQ. In addition, all keystrokes are reported with a unicode value (read from the Linux kernel tables) as well as an up/down scancode. This modification changed some of the earlier contributed keystroke API and it's now far simpler to catch any keystroke without additional decoding. This modification was required for the Doom port to Microwindows, available from the ftp site. See mwtypes.h for the new keynames. The scancode driver is enabled by setting KBDSCAN=Y in the config file. The X driver has been updated as well so that keystrokes are identical when running Microwindows on X or framebuffer.
- Microwindows now exits with the PAUSE/BREAK key, rather than the ESC key. This change makes it harder to accidentally exit.
- Support was added for the G.Mate YOPY PDA.
- Image support is enhanced with PNG, PBM,PGM and PPM image decoders (thanks Alex)
- Top-level window movement is many times faster using screen-to-screen blitting when dragging windows around. (An option in the window manager also allows drawing an XOR frame instead for slower systems: OUTLINE_MOVE).
- A very nifty launcher application with an extremely cool set of screensavers has been added.
- Background pixmap support for tiling, centering and such makes background wallpaper a snap.
- A tetris game has been added. (thanks again to Alex for a heck of a lot of work and a great job on all this!)
- Support for 5/5/5 15bpp screens was added. I finally realized why my home system 16bpp never looked good! This change was required for ongoing work with digital video on Microwindows.
- A pass at a macro-driven Xlib to Nano-X conversion header file, XtoNX.h, which greatly helps hacking Xlib programs into running easily.
- A number of new API entry points were added, including selection api Gr[GetSet]SelectionOwner, GrRequestClientData, GrSendClientData. Screen saver support with a new internal timer mechanism with GrSetScreenSaverTimeout. GrSetBackgroundPixmap, GrNewPixmapFromData for X bitmap display conversion. GrSetWindowTitle, GrSetWindowBorderColor, GrSetWindowBorderSize, GrSetWindowBackgroundColor for the xfreecell port.
- Extensive automatically generated html/pdf/sgml documentation, which has been placed in the microwin/doc/nano-X directory.
- FreeType font caching has been added, enabling _much_ faster display of truetype fonts. (there's still some issues with this, and a change in the font api will be required for the full fix.)
- Fix XFree86 4.0 expose event handling when running on newer X11.
- Fixed nasty slow blitting in the X11 screen driver. (more on this to come)
- Added -mstructure-size-boundary=8 for StrongARM compiles
- Fixed dropped events when running client/server. This was a big problem and numerous events were dropped by clients due to a client/server protocol issue that wasn't handled properly by the client library. We've now had to move to a client-side event queue.
- Linker error when building shared libraries fixed
The complete ChangeLog, is given on the Microwindows.org homepage.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.