nanogui: Thread: Documentation


[<<] [<] Page 1 of 2 [>] [>>]
Subject: Documentation
From: David Douthitt ####@####.####
Date: 29 Jun 2001 15:26:29 -0000
Message-Id: <3B3C9011.F8B0F4B9@mailbag.com>

I enjoy writing docs, and would like to help if it's needed.  One thing
I've noticed in my attempts to find a nice windowing environment is that
there is a real lack of documentation (microwin included).  There are
lots of docs, but just not the one I (and lots of others?) need.

Here are some questions I ask that don't seem to be answered in
documentation anywhere.  I'm writing as a developer (integrator?) of a
tiny floppy-based Linux distribution:

* Will rxvt (and other X programs) work with nano-X?
* Do I have to recompile everything?
* What libraries do I need to run with nano-X programs?
* Do I need special programs to use nano-X?
* Can I just recompile X programs to make them run under nano-X?
* Is nano-X a static library or dynamic library?  Or are both available?
* How much space does it take up?
* How do I configure X programs to use nano-X?
* How does it compare with tinyX?  What are its benefits over tinyX?
* Where are the applications?  Where's the application archive?
* What are the steps for adding nano-X and applications to a
distribution?
* What do I need to run a nano-X application?
* What network ports does it use and what protocols?
* How do I configure nano-X at run-time?

Most of these are "usage" type questions; most of the documentation
seems to assume that the reader is a program developer, not a
distribution integrator, and not a end-user.

Some of these questions I might be able to answer myself now; however, I
can imagine new users asking these questions.

If I missed the documentation that has these questions answered, let me
know.
Subject: Re: [nanogui] Documentation
From: Alex Holden ####@####.####
Date: 29 Jun 2001 15:40:58 -0000
Message-Id: <Pine.LNX.4.10.10106291630490.6207-100000@linuxhacker>

On Fri, 29 Jun 2001, David Douthitt wrote:
> * Will rxvt (and other X programs) work with nano-X?

No. Nano-X isn't compatible with X, only similar.

> * Do I have to recompile everything?

When?

> * What libraries do I need to run with nano-X programs?

libnano-X.a is the nano-X client library.

> * Do I need special programs to use nano-X?

Define "special" in this context.

> * Can I just recompile X programs to make them run under nano-X?

No.

> * Is nano-X a static library or dynamic library?  Or are both available?

Theoretically you can use either. In practice I think there may be some
bugs which prevent shared libraries from working.

> * How much space does it take up?

Depends greatly on which features you configure in.

> * How do I configure X programs to use nano-X?

You don't.

> * How does it compare with tinyX?  What are its benefits over tinyX?

Smaller and better suited to embedded systems. On the other hand, tinyX is
mostly X compatible.

> * Where are the applications?  Where's the application archive?

Quite a few of them are in the demos/ directory of the source
distribution. Most FLTK applications can be ported using FLNX. There is a
browser called ViewML and also a port of Mozilla. I think there is a JVM
implementation somewhere.

> * What are the steps for adding nano-X and applications to a
> distribution?

Er, copy the programs to the filesystem? Not sure if I fully understand
your question there.

> * What do I need to run a nano-X application?

A computer running one of the supported operating systems (typically Linux
in framebuffer graphics mode), with the Nano-X server (and probably the
window manager too).

> * What network ports does it use and what protocols?

None (it uses a named socket, /tmp/.nano-X) and what I suppose you could
call the nano-X protocol.

> * How do I configure nano-X at run-time?

Configure in what way? You can't add and remove features at run time.

> Most of these are "usage" type questions; most of the documentation
> seems to assume that the reader is a program developer, not a
> distribution integrator, and not a end-user.

Correct.

> Some of these questions I might be able to answer myself now; however, I
> can imagine new users asking these questions.

Most of the users so far are also developers, and when we do start getting
large numbers of users, I suspect most of them will be using them from the
perspective of "a black box with a display" and couldn't care less what
windowing system it runs.

> If I missed the documentation that has these questions answered, let me
> know.

Did you try the mailing list archive search engine?

-- 
------- Alex Holden -------
http://www.linuxhacker.org/
 http://www.robogeeks.org/

Subject: Re: [nanogui] Documentation
From: Julian Smart ####@####.####
Date: 29 Jun 2001 15:44:04 -0000
Message-Id: <4.2.0.58.20010629164052.01e6d520@pop>

I would certainly find it very useful to have these questions answered. How 
about also:

* What GUI toolkit options are there with MicroWindows and Nano-X? (the 2 
APIs need to be addressed separately)
* What are the pros and cons of Nano-X versus MicroWindows APIs? (in 
particular the issue of multiple apps not being possible in MicroWindows)
* What operating systems are supported? (e.g. Linux, eCos)

(Apologies if these are already answered on the site).

Regards,

Julian

--
Red Hat UK Ltd, Unit 200 Rustat House, 62 Clifton Road, Cambridge, UK. CB1 
7EG Tel: +44 (1223) 271063
Subject: Re: [nanogui] Documentation
From: Alex Holden ####@####.####
Date: 29 Jun 2001 15:55:02 -0000
Message-Id: <Pine.LNX.4.10.10106291646370.6207-100000@linuxhacker>

On Fri, 29 Jun 2001, Julian Smart wrote:
> * What GUI toolkit options are there with MicroWindows and Nano-X? (the 2 
> APIs need to be addressed separately)

Don't know about the win32 API but Nano-X has FLNX (a port of FLTK),
TinyWidgets, and I think there is a JVM floating around somewhere. There's
also the obsolete NanoWidgets, but don't use it for new projects.

> * What are the pros and cons of Nano-X versus MicroWindows APIs? (in 
> particular the issue of multiple apps not being possible in MicroWindows)

If you want to port something from Win32 (eg. a WinCE app) and don't mind
the fact that you can only run one app at once, then use the Microwindows
API. If you want to port something from X or write a new application
specifically for Microwindows, use Nano-X.

> * What operating systems are supported? (e.g. Linux, eCos)

Linux 2.0, 2.2 and 2.4 (2.0 via SVGAlib as it didn't have framebuffer
support on most platforms). FreeBSD. eCos. Rtems. Protected mode MS DOS
(via DJGPP). I think there used to be a 16 bit DOS port but I don't know
if that still works. ELKS. uClinux. Probably some others that I've
forgotten.

-- 
------- Alex Holden -------
http://www.linuxhacker.org/
 http://www.robogeeks.org/

Subject: Re: [nanogui] Documentation
From: David Douthitt ####@####.####
Date: 29 Jun 2001 16:18:55 -0000
Message-Id: <3B3C9C5A.BF89B407@mailbag.com>

Thanks for the quick reply!

Alex Holden wrote:

> On Fri, 29 Jun 2001, David Douthitt wrote:
> > * Will rxvt (and other X programs) work with nano-X?
> 
> No. Nano-X isn't compatible with X, only similar.

This is an important distinction.

> > * Do I need special programs to use nano-X?
> 
> Define "special" in this context.

Programs specifically designed to run under nano-X - programs created
specifically for nano-X.  A great benefit is lost when you can't use
off-the-shelf X applications under nano-X.

> > * Where are the applications?  Where's the application archive?
> 
> Quite a few of them are in the demos/ directory of the source
> distribution. Most FLTK applications can be ported using FLNX. There is a
> browser called ViewML and also a port of Mozilla. I think there is a JVM
> implementation somewhere.

I not at all familiar with X development; perhaps some of my questions
will almost sound like newbie questions, but... what's FLTK?  I seem to
remember "F... L... Tool Kit" but I dunno.  Also, what's FLNX?

> > * What are the steps for adding nano-X and applications to a
> > distribution?
> 
> Er, copy the programs to the filesystem? Not sure if I fully understand
> your question there.

I think I know (partially) the answer:

1. Copy any dynamic libraries to /lib.
2. Run ldconfig
3. Copy nano-X (or whatever the X server widget is) to your path.
4. Copy nanowm (?) to your path.
5. Copy any applications to your path.

Another question (and answer?):

Q. How do I start nano-X?

A. With a shell script like the following:

#!/bin/sh
nano-X &
nanowm &
nanoxterm &

> > * What do I need to run a nano-X application?
> 
> A computer running one of the supported operating systems (typically Linux
> in framebuffer graphics mode), with the Nano-X server (and probably the
> window manager too).

Since you mentioned it... what's the advantage of frame buffers over
SVGAlib?

From where I sit, the advantage of SVGAlib is that it can be removed if
someone doesn't want it - but then, can framebuffer support be used as a
module?

> > * How do I configure nano-X at run-time?
> 
> Configure in what way? You can't add and remove features at run time.

Things like the following come to mind:

* using some window managers, you can specify what "Xterm" really runs -
is it xterm, rxvt, aterm, or eterm?  This is often used to determine
which terminal program to use to open the initial terminal window.

* Applications: xterm, rxvt, etc. - specify things like colors, etc.

> > Some of these questions I might be able to answer myself now; however, I
> > can imagine new users asking these questions.
> 
> Most of the users so far are also developers, and when we do start getting
> large numbers of users, I suspect most of them will be using them from the
> perspective of "a black box with a display" and couldn't care less what
> windowing system it runs.

I'm not a "end-user" which just wants to run things; I'm a
programmer/Linux distribution-maker who doesn't want to know about APIs
and function calls; I just want to package it up some users of my
distribution can use it without too much trouble, and add applications
and/or documentation as necessary.  Here are the questions (as a
prospective user) which I would have (some have been answered):

Q. Can I use existing X applications?
A. No.

Q. What applications are available?
A. ?

Q. Can I use existing X window managers?
A. No (?)

Q. How do I use the Nano-X window manager?
A. ?

Q. Can I run Windows applications under Linux by using microwin?
A. No (?) ...I suspect there is a lot more to the story than just the
Windows API...

Q. How do I start nano-X?
A. ?

Q. Are there RPMs or other binary packages available?
A. No (?)

Q. What hardware does it run on?
A. ?

Q. Does it allow remote sessions?
A. No (?)

Q. What files do I need to install on my path to run nanoX?
A. ?

Q. What directories need to exist to run nanoX?
A. ?

> > If I missed the documentation that has these questions answered, let me
> > know.
> 
> Did you try the mailing list archive search engine?

I'm afraid I'm guilty; I didn't.  I do remember checking the list
briefly for compile problems under Red Hat or Mandrake, but I don't
remember a search engine.

Anyway, these questions seem so basic I thought there MUST be a doc
somewhere - but if there isn't there will be soon :-)
Subject: Re: [nanogui] Documentation
From: Jordan Crouse ####@####.####
Date: 29 Jun 2001 16:23:36 -0000
Message-Id: <01062910243904.25408@cosmic>

We need a up to date FAQ huh?

The best documentation for all these things is from our good friend Gary 
James:

http://home.twcny.rr.com/embedded/microwin/links.html

Jordan

On Friday 29 June 2001 09:47, Julian Smart mentioned:
> I would certainly find it very useful to have these questions answered. How
> about also:
>
> * What GUI toolkit options are there with MicroWindows and Nano-X? (the 2
> APIs need to be addressed separately)
> * What are the pros and cons of Nano-X versus MicroWindows APIs? (in
> particular the issue of multiple apps not being possible in MicroWindows)
> * What operating systems are supported? (e.g. Linux, eCos)
>
> (Apologies if these are already answered on the site).
>
> Regards,
>
> Julian
>
> --
> Red Hat UK Ltd, Unit 200 Rustat House, 62 Clifton Road, Cambridge, UK. CB1
> 7EG Tel: +44 (1223) 271063
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ####@####.####
> For additional commands, e-mail: ####@####.####
Subject: Re: [nanogui] Documentation
From: Jordan Crouse ####@####.####
Date: 29 Jun 2001 16:55:34 -0000
Message-Id: <01062910563605.25408@cosmic>

These will expand upon Alex' answers:

> * How much space does it take up?

Like Alex said, it depends, but generally my Nano-X server for X11 takes up 
about 142K, and most of the raw nano-X apps are between 10-60K.  

On a side note, my personal record for Kernel + Filesystem+ Microwindows + 
ViewML is 6MB (uncompressed).

> * How does it compare with tinyX?  What are its benefits over tinyX?

Size and portablity.  Even TinyX has to have alot of special code for new 
applications and chipsets.  Outside of a possible touchscreen, no additional 
code is required.  Thats pretty cool.

> * Where are the applications?  Where's the application archive?
> * What are the steps for adding nano-X and applications to a
> distribution?
> * What do I need to run a nano-X application?
> * What network ports does it use and what protocols?
> * How do I configure nano-X at run-time?

See Gary's website.  If you know of more applications, make sure you let us 
know.
Subject: Re: [nanogui] Documentation
From: Jordan Crouse ####@####.####
Date: 29 Jun 2001 17:05:30 -0000
Message-Id: <01062911063906.25408@cosmic>

Answers follow:

> * What GUI toolkit options are there with MicroWindows and Nano-X? (the 2
> APIs need to be addressed separately)

Nano-X has two very good toolkits, the C based toolkit is Tinywidgets 
(http://tinywidgets.sourceforge.net) and the C++ is FLNX (get it from 
http://www.viewml.com).

The WIN32 API doesn't currently have a toolkit, but as more people use it, 
I'll bet some good packages come down the line.

> * What are the pros and cons of Nano-X versus MicroWindows APIs? (in
> particular the issue of multiple apps not being possible in MicroWindows)

They are simply two different sets of API routines that call the same engine. 
 The Nano-X is XLIB like, and the Win32 is Win32 like. - In the end they 
perform the same, because they make the same calls in the engine. The 
multiple apps issue for the Win32 API has more to do with the Win32 apps, and 
less to do with the actual Microwindows engine (I think....)

> * What operating systems are supported? (e.g. Linux, eCos)

Linux is the main operating system.  I don't know about the other open 
*NIXes, but that would be a great project for somebody to try (FreeBSD?)

We also have reports of working Microwindows on RTEMS,  DJGPP, and ELKS. 
There are also reports that Microwindows works on eCos and ucLinux, though I 
haven't seen it.

There are defines for Solaris in the make system, but I don't think that the 
engine can handle endianism correctly (Somebody feel free to prove me wrong). 
 
There has been some talk lately about CYGWIN and Visual C, but I don't know 
how easily that can be done.

Subject: Re: [nanogui] Documentation
From: Alex Holden ####@####.####
Date: 29 Jun 2001 17:09:38 -0000
Message-Id: <Pine.LNX.4.10.10106291806270.25717-100000@linuxhacker>

On Fri, 29 Jun 2001, Jordan Crouse wrote:
> *NIXes, but that would be a great project for somebody to try (FreeBSD?)

Already in the source tree...

> There are defines for Solaris in the make system, but I don't think that the 
> engine can handle endianism correctly (Somebody feel free to prove me wrong). 

I don't think it's been ported to Solaris. Perhaps you're thinking of
Linux on SUN hardware? It can work on both big or little endian systems
fine. What it can't do yet is convert between the two if the client and
server are different endians. However, since nobody has bothered to enable
remote access support yet (mainly due to the security issues involved), it
hasn't been a problem.

-- 
------- Alex Holden -------
http://www.linuxhacker.org/
 http://www.robogeeks.org/

Subject: Re: [nanogui] Documentation
From: David Douthitt ####@####.####
Date: 29 Jun 2001 17:18:20 -0000
Message-Id: <3B3CAA47.5494C9D7@mailbag.com>

Jordan Crouse wrote:

> See Gary's website.  If you know of more applications, make sure you let us
> know.

I don't know of any.  Gary's site is indeed nice, though it still
doesn't have the sort of answers I've gotten here (thank you!).

Despite the fact that I'm NOT a programming newbie and not a computer
newbie, I still got quite lost looking at all this talk of APIs and
other things in microwindows.  But now I am bound and determined I'm
going to understand how to use this :-)

Thank you all for being so patient and answering my questions.

By the way: any editing I've done I'm keeping in a diff; look for it
when I get this working.
[<<] [<] Page 1 of 2 [>] [>>]


Powered by ezmlm-browse 0.20.