window system
W is a simple, socket based, two-color window system by Torsten
Scherer (and has no relation to that X's predecessor with a same
name). W 1 release 4 PL 1 main features are:
- Uses sockets for communicating with client applications.
- Supports line, box, circle, ellipse, pie, polygon and bezier
graphics functions in solid and patterned modes. Most support
only line width of one.
- Replace, clear, invert and transparent graphics modes (block
and text functions use only replace mode).
- Supports both monospaced and proportional bitmap fonts (at the
moment there are only monospaced fonts available). Different font
styles can be achieved by setting the desired font style for the
window or by loading an appropiate font.
- Graphics primitives are offset to a window and window contents
are stored by the server (redraws are also performed by the server).
- Server has window manager builtin (focus follows mouse). Windows
can have title, close and iconization gadgets. Windows can be
resized from any of their borders.
- Windows can have subwindows. Every window has it's own graphics
context (graphics mode, pattern, font, color).
- A widget toolkit for easing up user interface creation. There's
also an X version of the W libary so you can run and debug your W
apps under X too. See the clients link below for more info.
- Server is two-color, but supports planar (packed) and chunky
(direct) color graphics modes in addition to monochrome.
- Smallish. W server and applications take about 1/4 of the RAM and
disk space needed by X (when comparing statically linked binaries).
Using W server on color mode may increase it's memory use over that
of X because of the window backup bitmaps though.
- Has been reported to work on m68k/x86 Linux, Atari MiNT, SunOS and
Amiga NetBSD at least on some graphics mode. See for technical
info to see what graphics modes W supports.
To compile and use W you'll need a small unix like setup (GNU C,
make and linker + unix C-library) with networking (sockets), some method
to access graphics memory linearly and at least 4MB of ram and free disk
space.
Other information:
TheSche's official W1R3 sources are available through TeSche's
WWW page.
Kay got a page for his
W
Toolkit. It will help a lot in making more complex applications.
Note that above links don't contain the latest sources, both Torsten
and Kay are too busy to update W and Wt.
W is fairly portably but the screen is expected to be accessed as any
other part of memory (eg. mmap()'ing the framebuffer device). Main
planar bitplane graphics drivers use big-endian byte order, but there's
a quick hack for monochrome that either swaps bytes or accesses screen
byte at the time (it probably still does so long accesses with short
alignments).
As W server interface and sources are under a lot of
modifications, be prepared to re-compile it often and to even fix code
if you don't have either MiNT or Linux. To this date
everything has needed a recompilation or linking after new
release.
Eero Tamminen,
puujalka@modeemi.cs.tut.fi