Has anyone given serious thought as to the best way to set up a
program that will run in QL-mode 4 as well as hi-colour, and
that will run on the old as well as the new window manager? For
the moment, I have used a mixture of separate declarations of,
e.g., WM_wwork_t's and of runtime changes such as:
info[0].attr.t.ink=RED. The simplest solution is to abandon
historical compatibility for a program with near zero
circulation but for others?
I have a solution that probably most of you won't like.
I have gone to great pains to make stand alone versions of WMAN PTR_GEN that
also incorporate, as much as possible, the corresponding changes in the new versions
of SMSQ/E.
These can be obtained from the usual sources (e.g. Jochen).
If these are used, you can use the new system palette colours even on machines not
running SMSQ/E and there is no need to change anything in your code.
Hence you could just test whether the version of WMAN is sufficiently recent and, if
not
gracefully give up with a message that the user should get a newer version of
WMAN/PTR_GEN (this is the part that many won't like)...
(as a reminder; you get the pointer interface (ptr_gen) version returned in D1 from
trap
iop.pinf (d0=$70) and you can then check the WMAN version at (a1). Both versions are
in the form x.xx, and should be at least 2.00 each, current versions are 2.01 - ptr
int,
2.03 -- wman).
If you do not want to do that (i.e. give up when the versions are too old), then I
don't see
any alternative to setting one colour (e.g. the syspal) in the window definition and
changing the working (not wdw) definition at run time.
Wolfgang