Skip site navigation (1)Skip section navigation (2)
Date:      02 Dec 1996 13:00:21 +0000
From:      Paul Richards <p.richards@elsevier.co.uk>
To:        "Jordan K. Hubbard" <jkh@time.cdrom.com>
Cc:        Michael Smith <msmith@atrad.adelaide.edu.au>, hackers@FreeBSD.org
Subject:   Re: text, menu/dialog/windowing, library, ideas?
Message-ID:  <57ybfht82i.fsf@tees.elsevier.co.uk>
In-Reply-To: "Jordan K. Hubbard"'s message of Sun, 01 Dec 1996 06:00:32 -0800
References:  <15861.849448832@time.cdrom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
"Jordan K. Hubbard" <jkh@time.cdrom.com> writes:

> > Argh!  Aren't there _any_ decent, simple, text windowing libraries out
> > there?
> 
> It sure wouldn't seem like it, no... :-(

Hmm, I think we've been here before :-)

> Needless to say, I rejected the latter alternative on the grounds that
> the problem was becoming over-engineered and it's probably bogus to
> think that you can invent a mini graphics library that's going to make
> reasonable looking objects for any conceivable environment. :-)

libforms had this working. Objects inherited properties of the parent so
you could create a box object that encapsulated a border drawing widget
and a label widget etc.

My opinion on the widgets was that if you wanted a truly portable
interface then you had to restrict yourself to those that worked in
all environments, if you were developing just an X interface then you
could get more creative (it would still run on a character display but
it probably wouldn't be very useable). This is similar in concept to
using the lcd version of html to make it more browser portable as
opposed to using netscape enhancements.

On the html front, html is not a good way to go about this. You could
not do what you did with libdialog using html. Don't fall into the
trap of believing html is a display language, at heart it's SGML but
with bells and whistles thrown in by some browser developers. It's a
really naff way to spec a user interface.

> Doing all of this in X is simple and has lots of alternatives, up to
> and including lots of nice toolkits like "Qt" or XForms.  The problem
> is that making stuff look nice in ncurses is a pain in the ass, and
> effective use of color and the line-drawing character set on syscons
> displays even more so.  I was kind of hoping that an ncurses expert
> would show himself by now, but evidently not. :-( I could do the X
> side of this with my eyes closed, but not the curses stuff.  Every
> time I think I have its simple-*sounding* model all figured out,
> refresh() does things to the screen which leave me mystified.

Hmm, if you still want something like this I'd be interested in
digging it up again. It already had all the infrastructure, the things
it was lacking were widgets for different display classes. It's been
on my list of future projects anyway to dig it up and finish it off as
libpui (portable user interface).

The problems that really stalled me on that project were actually in
handling colours in ncurses so that it could be used in a similar
manner to libdialog (i.e. it looked the same since Jordan was using it
for sysinstall). ncurses has a very restrictive way of dealing with
colours in that you have to declare colour pairs so you can't do
things like say, select a red background, arbitrarily.

-- 
  Paul Richards. Originative Solutions Ltd.  (Netcraft Ltd. contractor)
  Elsevier Science TIS online journal project.
  Email: p.richards@elsevier.co.uk
  Phone: 0370 462071 (Mobile), +44 (0)1865 843155



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?57ybfht82i.fsf>