[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fwd: W: New W version...]



I figured that some other MiNT programmers who are unaware of W-Windows  (the
X style windowing system for MiNT) may be interested in learning more about
this.  Basically, W-Windows is a non GEM Windowing system for MiNTOS.  It
allows users to have a typical Unix windowing system for their Atari
computers.  However, it also runs on Linux boxes too.  I figure, this may be
an ideal way of supporting MiNT specific applications for MiNT and MacMiNT. 
Eero is basically THE maintainer of W development.  If some of you programmers
are looking to make Unix style programs for MiNT or are looking to add a
windowed environment to a program that you compiled for MiNT from another Unix
source, you may wish to consider adding W-Windows support to it.  Being that
W-Windows is currently a monochrome system, it is excellent for users wishing
to dive into Unix without the expense of having to have 8 megs or more that
MiNT-X would prefer to have.

Eonicman
--- Begin Message ---
I have mailed TeSche a couple of times without answers.
Does anybody on list how I could contact him? I'd ask about
the status of W because I have made 'quite a few' changes
to W and TeSche had thought about putting W under GPL...

In the meanwhile you could send your patches to me (I should
have this account at least until the end of the year).

Anyway, my own version of W is at:
	http://www.modeemi.cs.tut.fi/~puujalka/bin/W/packets/

Get packets with 'eeros' in their name. I've also updated
W toolkit quite heavily.

	- Eero

Here's a list of changes I have made to w1r3pl2:

* Window resizing:  resizing can now be done only with left
  button (right tops/bottoms), and if window size isn't
  changed, you can move it.  This is especially handy when you
  got a small screen and very large windows.

* Made a new BMONO monochrome driver that is byte order neutral.
  It's converted from the PACKEDMONO driver either by changing
  long accesses to byte access or using byte order conversion
  function, whichever seems easier/faster.

* Updated SVGAlib initialization code to work with DIRECT8 and
  BMONO drivers.

* A couple of additional text effects:  changed W server
  printchar function to two functions, normal and style
  printchar (as text output speed is crucial, a different
  routine for no styles) and moved printstring from platform
  dependent drivers to generic.  Adapted server structures and
  font loading functions to new font header format.

* Clients get now more font information and fonts are loaded
  with family/size/styles instead of font *filename* which is
  now composed on the server side.  People won't need to know
  anymore the font filename extension, in which order font
  style letters are in the filename etc...  This needed
  changes on most of the programs, so it was a high time to do
  it.

* wconfig file can now have 'fontfamily' and 'fontsize'
  variables for selecting default values for clients which
  don't specify one.  'titlefont' and 'menufont' variables
  specify filenames for fonts used for server window titles
  and menu and 'fontpath' the path for the fonts.  For all of
  these there are of course defaults too.  See 'wconfig' for
  more.

* Root menu items strings are now allocated dynamically.  The
  maximum number of items is still static, but you can change
  it from server/config.h.

* Added checks to several places where strings are written to
  static buffers or made buffers allocated when needed (might
  take less memory and is definately safer).

* Added graphics modes to dithered routines on all drivers.

* moved server BITMAP creation to graphics drivers.

* graph/init.c allocates now the temporary BITMAP used
  with the above routines (for clipping chars etc.).

* changed W socket filedescriptor type from short to int and
  moved from loop.c termination functions to main.c and some
  global variables to files where they are initialized. I
  might later put them into a global struct to be tidy.

* graphics drivers won't include pakets.h and proto.h anymore
  (required some changes to some include files too).

* fixed get/putblock routines (mostly my own bugs...).

* New w_put/getblock() graphics conversion (line-by-line)
  routines.

* PBM loading and writing functions.

* XPM like **char array reading into BITMAP (adapted from code
  in wcpyrgt, mostly untested).

* Some local clipboard functions (moved from Kay Roemer's W
  toolkit).

* fixed man3/*.3w manual page names to correspond to the
  actual Wlib function names and added quite a few new pages.

* W programs use the new font loading syntax.

* WTerm sets now COLUMNS and LINES variables as xterm does.
  These are needed with the wterm terminfo entry I created
  as Wterm can't change terminfo definitions on the fly.
  Terminfo entry is needed as ncurses programs (like less)
  don't seem to work properly with plain termcap.

* Made Weyes and Wclock resizable and changed Weyes to use
  ellipses instead of circles ;-).

* changed the exit key on several programs from ESC to 'q'.
  ESC was an unfortunate choice because many terminals use
  it in their special key sequences. Imagine pressing up
  arrow in the middle of hectic wjewel game...

* changed 'srand(clock())' to 'srand(time(0))' in a couple of
  games as clock (ticks since program start) can well give the
  same seed on several occasions.

* wdragon bitmap includes are now byte order neutral.

* included a couple of new Wlib programs:
	fontedit, lsys, ring/d, wbm, wchars, wjewel,
	wrobots, wwyrms
  and wjpeg script.

* Converted docs for above into manual pages and run all
  manual pages through ispell.

* a W2Xlib (Wlib over Xlib) emulation library.  Now you can
  use X versions of ddd, Purify, Sentinel etc.  to debug your
  W library and W toolkit based programs...  :-)


--- End Message ---