Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

New Project: Kool Desktop Environment. Programmers wanted!

8,130 views
Skip to first unread message

Matthias Ettrich

unread,
Oct 14, 1996, 3:00:00 AM10/14/96
to

-------------------------------------------
New Project: Kool Desktop Environment (KDE)
-------------------------------------------

Programmers wanted!


Motivation
----------

Unix popularity grows thanks to the free variants, mostly Linux. But still a
consistant, nice looking free desktop-environment is missing. There are
several nice either free or low-priced applications available, so that
Linux/X11 would almost fit everybody needs if we could offer a real GUI.

Of course there are GUI's. There is the Commond Desktop Environment (much
too exansive), Looking Glas (not too expensive but not really the solution),
and several free X-Filemanagers that are almost GUI's. Moxfm for example is
very well done, but unfortunately it is based on Motif. Anyway, the
question is: What is a GUI? What should a GUI be?

First of all, since there are a lot of missunderstandings on this topic,
what is NOT a GUI:

- the X-Window-System is NOT a GUI. It's what its name says: A Window system

- Motif is NOT a GUI. They tried to create a GUI when they made Motif, but
unfortunately they couldn't really agree, so they released Motif as
Widget-Library with a Window-Manager. Much later they completed Motif with
the CDE, but too late, since Windows already runs on the majority of
desktops.

- Window-managers are NOT GUI's. They are (better: should be) small programs
that handle the windows. It's not really the idea to hack a lot of stuff
into them.

IMHO a GUI should offer a complete, graphical environment. It should allow a
users to do his everyday tasks with it, like starting applications, reading
mail, configuring his desktop, editing some files, delete some files, look
at some pictures, etc. All parts must fit together and work together. A
nice button with a nice "Editor"-icon isn't not at all a graphical user
environment if it invokes "xterm -e vi". Maybe you have been disappointed
long time ago too, when you installed X with a nice window manager, clicked
on that beautiful "Help"-Icon ... chrk chrk (the hard disk)...an ugly,
unsuable, weird xman appeared on the desktop :-(


A GUI for endusers
------------------

The idea is NOT to create a GUI for the complete UNIX-system or the
System-Administrator. For that purpose the UNIX-CLI with thousands of tools
and scripting languages is much better. The idea is to create a GUI for an
ENDUSER. Somebody who wants to browse the web with Linux, write some letters
and play some nice games.

I really believed that is even yet possible with Linux until I configured my
girlfriends Box. Well, I didn't notice anymore that I work with lots of
different kind of menues, scrollbars and textwidgets. I already know that
some widgets need to be under the mouse when they should get the keyevents,
some sliders wants the middle mouse for dragging and some textwidgets only
want emacs-bindings and don't understand keys like "pos1" or "end". And
selecting some text is different everywere, too. Even the menues and buttons
(for exampel Xaw, Fvwm, XForms, Motif) behave completely different.

One word to the Athena-Widgets: Although there are a few nice applications
available that uses these "widgets" we should really get rid of them.
Thinking that "Athena is a widget-library" is a similar missunderstanding
like "X is a GUI". Athena is an very old example how widget libraries could
be implemented with Xlib and Xt. It's more or less a online-documentation
for Widget-Set-Programmers, but not a tool for application-programmers.
Unfortunately, the old Unix problem, a so good online-documentation that
people used it for applications.

So one of the major goals is to provide a modern and common look&feel for
all the applications. And this is exactly the reason, why this project is
different from elder attempts.

Since a few weeks a really great new widget library is available free in
source and price for free software development. Check out
http://www.troll.no

The stuff is called "Qt" and is really a revolution in programming X. It's
an almost complete, fully C++ Widget-library that implementes a slightly
improved Motif look and feel, or, switchable during startup, Window95.

The fact that it is done by a company (Troll Tech) is IMO a great advantage.
We have the sources and a superb library, they have beta testers. But they
also spend their WHOLE TIME in improving the library. They also give great
support. That means, Qt is also interesting for commercial applications. A
real alternative to the terrible Motif :) But the greatest pro for Qt is the
way how it is programmed. It's really a very easy-to-use powerfull
C++-library.

Qt is also portable, yet to Windows95/NT, but you do not have to worry about
that. It's very easy to use UNIX/X specific things in programming, so that
porting to NT is hardly possible :-)

I really recommand looking at this library. It has IMO the power to become
the leading library for free software development. And it's a way to escape
the TCL/TK monsters that try to slow down all our processors and eat up our
memory...

It's really time yet to standarize the desktop somewhat. It's nonsense to
load 10 different widgets into memory for the same task.
Imagine this desktop:
- fvwm (own widgets)
- rxvt (own widgets)
- tgif (own widgets)
- xv (own widgets)
- ghostview (athena widgets)
- lyx (xforms widgets)
- xftp (motif widgets)
- textedit (xview widgets)
- arena (own widgets)

One may argue that a usual UNIX-Box has enough memory to handle all these
different kind of widgets. Even if this might be correct, the really
annoying thing is, that all these widgets (menus, buttons, scrollbars, etc.)
behave slightly different. And this isn't only an academic example, I've
really seen such desktops :-}

I know we couldn't get rid of this chaos at once, but my dream is a
coexistance between Motif and Qt.


The Kool Desktop Environment (KDE)
----------------------------------

I don't have the time to do this all alone (also since LyX is my main
project). But a thing like a Desktop Environment can easily be cut into lots
of parts. There is very probably a part for you, too! If you want to learn
some X-programming, why not doing a small, neat project for the KDE? If you
know others who like to programm something, please pretend them from writing
the 1004th tetris games or the 768th minesweeper clone ;-) Think we also
have enough XBiffs yet...

So here is my project list so far. Probably there are even more things to do
that would fit great into the KDE. It's a very open project.


- Panel:

The basic application. Run's as FvwmModule (at the beginning). Offers a
combination between Windows95 and CDE. I think about a small taskbar at
the bottom and a kind of CDE-panel on the top of the screen. The panel has
graphical icon menus on the left (similar to GoodStuff) to launch
applications, 4 buttons in the middle to switch to other virtual desktops
and few icons for often needed applications on the right. There is for
example a mail-icon that also indicates new mail, a wastebasket to open
the delete-folder (that also indicates when it isn't empty and is capable
of drag'n'drop). Maybe a analog clock with date at the very right. Also a
nice special icon for exiting the environment or locking the screen. All
the stuff is completly configurable via GUI. I'm also thinking about
solutions, that only available applications can be installed on the
desktop and that new applications appear on the desktop automatically.

I started to work on this panel, but would of course love some help. There
are also lot of smaller things to do, like a tool to chose a background
pixmap (for each virtual desktop) etc.

Also nice icons are needed!


- Filemanager

Another major application inside the KDE. The idea is not to create a
powerful high-end graphical bash-replacement (like tkdesk tries to be),
but a nice looking easy-to-use filemanager for simple tasks. Simple tasks
are mainly deleting some files, copying some files, copying some files on
the disk, starting applications by clicking on a file (for example
ghostview for postscript files or xli for gifs, etc).

I'm thinking about nice windows, one for each directory, that shows icons
for every file. It should be possible to drag files around (either copy or
move), even between different windows. Another important point is the
support of the floppy-disk, so that mounting/umounting is done
user-transparent.

Dragging of icons should be done in a nice way, that means moving around a
special window (see Qt's xshape example), NOT like xfm or xfilemanager by
setting another monochrome bitmap for the cursor.

So it will also be possible to put files as icons on the desktop. This is
IMO a very nice feature. Since applications are launched by the panel,
it's even clear that icons are real data-objects. With fvwm-1 and the
FvwmFileMgr it wasn't really clear wether an icon is yet a file or an
iconified window.

Drag'n'drop inside a Qt application isn't really difficult.
The filemanager is IMO a very nice and not too time consuming project.
Who wants?


- mail client

A really comfortable mailclient. IMO the most comfortable mailclient for X
is yet XF-Mail. And the author is willing to port it to Qt when the
KDE-project will start! But he asks for some assitance (for example for
coding the small popups, etc.)


- easy texteditor

Very small but important project. An editor that fits the needs of those
who have to edit a textfile once in a month and didn't find the time yet
to learn vi (and don't have the time to wait for x-emacs to start, and
don't have the memory to use a motif-static-nedit, and don't have the
cpu-power and memory to use a tk-monster like tkedit,...)

Unfortunatly the Qt multiline-textwidget isn't available in Qt-1.0, but
Troll-Tech already announced the beta-testing. So the texteditor can be
started in a few weeks, too.


- Terminal

Similar to the CDE terminal program. A kind of xterm with nice menu bar to
set the font, exit, etc. Nice project, get the xterm sources and add a GUI
with Qt!


- Image viewer

The application that will be launced as default from the filemanager for
gifs, jpegs and all this. Well, xv is shareware and really needs quite a
long time for startup. But there is a plain Xlib programm without any
menues or buttons called "xli". Get the sources and make it userfriendly
with Qt!


- Lots of small other tools:

* xdvi with Qt-Gui
* ghostview with Qt-Gui
* xmag with Qt-Gui
* whatever you want


- Hypertext Help System

A complete desktop environment needs a nice hypertext online help. I think
the best choice would be HTML (>= 2.0). So a free Qt-based html-viewer
would be a great idea. It might be possible to use the Arena-sources, but
arena needs very long for startup. Maybe it would be best to start from
scratch. Qt offers excellent functions for dealing with different fonts.
For a help system HTML 2.0 is more than enough, some nice search function
added and that's it. Since it is also possible to convert the obsolete
troff man-pages to HTML, we can also integrate the original UNIX help
system.

BTW: There is a Troll Tech Qt-competition (look at their webpages). The
best application (not only functionallity, but also design counts. Just
porting an existing great application to Qt won't probably be enough :-( )
wins $2000 and a few Qt on NT licenses (worth another $2000). They also
mentioned a browser-project as an example. So a nice HTML-browser in Qt,
ready in Janurary may be worth $4000 (This includes selling the unneeded
NT licenses ;-) )


- Window Manager

At the beginning, the KDE panel will work as an Fvwm-Module. When this is
done, a lot of stuff can be stripped from the bloated fvwm window manager.
We don't need anymore fvwm-menus, icon handling and zillions of
configurable things. We need a small, realiable windowmanager. So maybe
stripping all unncessary stuff from fvwm will make sense in a while. But
this may come very last.


- System Tools

Whatever a user, or you, might need. A graphical passwd comes to my mind.
But probably there are a lot more! Maybe this will lead to a little system
administration tool someday.


- Games

We have yet a nice tetris game (an Qt example program). What is needed is
a nice set of small games like solitaire (please with nice cards that can
be really dragged!). There are several nice card games available for X,
for example xpat2. So why not take the cards from them and write a real
solitaire games, very similar to MS-Solitaire. I really had to install
Wine sometimes just to play solitair, what an overhead! But other games
are needed, too. Take xmris, pacman, etc. add a nice GUI. Or write some
from scratch. Whatever you want :)


- Icons

A set of nice icons. 3D-pixmaps are quite a good start (but why should the
button be inside a pixmap, if we use a toolkit with buttons???)


- Documentation

A documentation project is always a good thing to have. But before we
should clearify how the hypertext help system should look like. We can
then start with documentation pages in the chosen HTML-subset and for
example use arean as help browser. Anyway we need some application to
document first.


- Web-Pages / Ftp Server / Aministration

We need a server for the files and webpages that inform about the state of
the project. Especially what projects are currently worked on and what
projects still wait for somebody to do them. I set up a preliminary
homepage on
http://www-pu.informatik.uni-tuebingen.de/users/ettrich
that just contains this posting yet and a few links. I may setup real
webpages for the very beginning but I would be very happy if I could
concentrate on discussion and coding. So if there is someone out there in
the net who likes to design and maintain webpages, here is a job for him
:)


- Discussion

The most important topic :-) If you are interested please
join the mailing list
k...@fiwi02.wiwi.uni-tuebingen.de
Subscribing can be done by sending a mail with in *Body*:
subscribe <your email address>
to
kde-r...@fiwi02.wiwi.uni-tuebingen.de.


- Applications

When the KDE gets widely accepted, new (free) applications will hopefully
be based on Qt, too, to fit with the comfortable and pleasant look and
feel of the desktop.

We may for example port LyX to Qt, so that a comfortable wordprocessor is
available. But that is still in discussion in the LyX Team.

A nice vector-orientated drawing tool would also be fine. Well, Xfig is a
powerful but ugly monster. But there is "tgif", a very powerful, easy to
use but ugly program. The author don't like the idea of adding a Qt GUI
for the menus, icons and scrollbars, since Qt is C++ and he wants to keep
tgif plain C, since on some sites no C++ compiler is available. Well, the
KDE doesn't really aim on these old and weird UNIX boxes (also I think a
g++ is almost everywhere available). But maybe the tgif-author agrees when
somebody else adds a nice GUI to tgif (the sources are free, don't know
wether this is GPL). Since tgif yet implements its own GUI this shouldn't
be too difficult. It's really easy with Qt to access plain Xlib
functionality and functions, so not very much will have to be rewritten.
Also C++ makes it very easy to include plain C code.

What about an easy to use, nice newsreader similar to knews? Could also be
integrated into the KDE. ... and ... and ... and.

So there is a lot of work (and fun) to do! If you are interested, please
join the mailing list. If we get about 20-30 people we could start. And
probably before 24th December the net-community will give itself another
nice and longtime-needed gift.

The stuff will be distributed under the terms of the GPL.

I admit the whole thing sounds a bit like fantasy. But it is very serious
from my side. Everybody I'm talking to in the net would LOVE a somewhat
cleaner desktop. Qt is the chance to realize this. So let us join our rare
sparetime and just do it!

Hopefully looking foward to lots of followups and replies!


Regards,

Matthias Ettrich
(ett...@informatik.uni-tuebingen.de)


BTW: Usually these postings get a lot of answers like "Use a Mac if you want
a GUI, CLI rules!", "I like thousands of different widgets-libraries on my
desktop, if you are too stupid to learn them, you should use windoze", "RAM
prices are so low, I only use static motif programs", "You will never
succeed, so better stop before the beginning", "Why Qt? I prefer
schnurz-purz-widgets with xyz-lisp-shell. GPL! Check it out!", etc. Thanks
for not sending these as followup to this posting :-) I know I'm a
dreamer...

BTW2: You might wonder why I'm so against Tk. Well, I don't like the
philosophy: Tk's doesn't have a textwidget, for example, but a slow
wordprocessor. Same with other widgets. In combination with TCL the programs
become slow and ugly (of course there are exceptions). I didn't yet see any
application that uses Tk from C++ or C, although an API seems to exist.
TCL/TK is very usefull for prototyping. Ideal for example for kernel
configuration. And since Tk looks little similar to Motif, the widgets are
also quite easy to use. But I really don't like any TCL/Tk application to
stay permanantly on the desktop. And Qt is much easier (at least as easy) to
program. Check it out!

BTW3: I don't have any connections to Troll Tech, I just like their product
(look at the sources: really high quality!) and their kind of marketing:
free sourcecode for free software.


Kevin Cabral

unread,
Oct 14, 1996, 3:00:00 AM10/14/96
to

Matthias Ettrich (ett...@ti-ibm03.informatik.uni-tuebingen.de) wrote:

: -------------------------------------------


: New Project: Kool Desktop Environment (KDE)
: -------------------------------------------
:
: Programmers wanted!


: Motivation
: ----------

: Unix popularity grows thanks to the free variants, mostly Linux. But still a
: consistant, nice looking free desktop-environment is missing. There are
: several nice either free or low-priced applications available, so that
: Linux/X11 would almost fit everybody needs if we could offer a real GUI.

Matthias,

I think that nice looking window managers are wonderful, but a
more worthwhile project for programmers in the Linux community would be to
create a FreeCDE system. I personally would much rather have a unified
print and drag-and-drop API than another pretty window manager.

BTW: I hope you will consider porting LyX over to Qt in the future, and I
hope that The Gimp will also join it in moving to more open libraries.

Kevin


nall

unread,
Oct 14, 1996, 3:00:00 AM10/14/96
to

>
> I really believed that is even yet possible with Linux until I configured my
> girlfriends Box.

was 'configuring your girlfriends' "box"' really that traumatic? <grin>

nall.

--
jonathan n. nall na...@cs.duke.edu

they say your eyes are the same color as they always were.
that kind of information just floors me...

http://www.duke.edu/~jnn/mountain_goats/mg.html


Lars Hofhansl

unread,
Oct 14, 1996, 3:00:00 AM10/14/96
to

Matthias Ettrich wrote:
>
> -------------------------------------------
> New Project: Kool Desktop Environment (KDE)
> -------------------------------------------
>
> Programmers wanted!
>

[...]

> I really recommand looking at this library. It has IMO the power to become
> the leading library for free software development. And it's a way to escape
> the TCL/TK monsters that try to slow down all our processors and eat up our
> memory...
>

[...]

> BTW2: You might wonder why I'm so against Tk. Well, I don't like the
> philosophy: Tk's doesn't have a textwidget, for example, but a slow
> wordprocessor. Same with other widgets. In combination with TCL the programs
> become slow and ugly (of course there are exceptions). I didn't yet see any
> application that uses Tk from C++ or C, although an API seems to exist.
> TCL/TK is very usefull for prototyping. Ideal for example for kernel
> configuration. And since Tk looks little similar to Motif, the widgets are
> also quite easy to use. But I really don't like any TCL/Tk application to
> stay permanantly on the desktop. And Qt is much easier (at least as easy) to
> program. Check it out!
>

Hi,

I just want to give a few comment on that.

Admittedly I'm tired of this TK-Monster-tale!

It's slow when you write the whole application in plain TCL,
but that's not how is was meant to be.

You actually can register C-procedures as TCL-commands
and call them directly from the interpreter (the only
overhead is the command-parsing at runtime).
You can also call evaluate small TCL-Scripts from within
C.

I wrote some middle sized TK-applications for a company using TCL
and TK. I used TCL only to glue (how John Osterhout calls it) my
C-routines together, which made the programs fast, and very
easy to maintain!

I think TCL/TK is one of the most reasonable paradigms for
GUI-devopment... We only miss a really GUI-builder :) !
(The speed has to be improved on windows, which is currently
in progress)

Granted, it's tempting to write the whole application in TCL/TK, and
some guys seem to have misunderstood the whole idea.
But then again, what do you want?
- you can write the whole thing in TCL which is easy but slow
- you can write the main parts in C or C++ and use TCL/TK only
for the GUI and non-time-critical portions, which is still easier
than Motif or QT and about as efficient!

Again, TCL/TK was designed as glue language for C or C++,
if you use it like that, it's the perfect solution!

If I had to vote what development tools to use for KDE, it most
certainly would be TCL/TK (used in an intelligent way...).

It is even worked on a window manager called TKWM,
which is basicly a TCL/TK interpreter with extra commands for
windows management (of course the new commands are written in C).

just my $0.02

Lars

Brian Kimball

unread,
Oct 14, 1996, 3:00:00 AM10/14/96
to Matthias Ettrich

Matthias Ettrich wrote:

> IMHO a GUI should offer a complete, graphical environment. It should allow a
> users to do his everyday tasks with it, like starting applications, reading
> mail, configuring his desktop, editing some files, delete some files, look
> at some pictures, etc. All parts must fit together and work together. A
> nice button with a nice "Editor"-icon isn't not at all a graphical user
> environment if it invokes "xterm -e vi". Maybe you have been disappointed
> long time ago too, when you installed X with a nice window manager, clicked
> on that beautiful "Help"-Icon ... chrk chrk (the hard disk)...an ugly,
> unsuable, weird xman appeared on the desktop :-(

Wow. That brings back memories of my first X experience. <shudder>

> Since a few weeks a really great new widget library is available free in
> source and price for free software development. Check out
> http://www.troll.no

Also check out http://www.mlsoft.com/xml/xml.html for some cool motif
add-ons.
The widget library is free for linux.

I seem to remember people working on the fvwm95 project also doing some
kind of integrated file manager that resembles the win95 file windows.
I think this included possible file-icons on the desktop.

My impression is that a bunch of people just recently realized that the
current linux/X situation really bites and they all decided to start
their own little projects. It would be nice to see people buckle down
and focus on one common project (like the KDE). I think this would add
a lot of value to linux. Good luck dude.

Brian

Greg Howland

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to Matthias Ettrich

This sounds very similar to the Afterstep project.
Have you considered working with them?

--Greg

Henning Brockfeld

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

I don't want to start a new widget war. If someone wants to start a
project like KDE with Qt, it ok. But I think it is a good idea to have
a close look at GNUStep ( http://www.gnustep.org ) before starting.
GNUStep is becoming a clone of the OpenStep API from Next including a
RTF textwidget and Display Postscript.

Henning

--
Henning Brockfeld mailto: Broc...@wigeo.bwl.uni-muenchen.de
Institut f"ur Wirtschaftsgeographie Universit"at M"unchen

http://www.wigeo.bwl.uni-muenchen.de/~hbrock/

James Bailie

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

Lars Hofhansl <lhof...@indiana.edu> wrote:

> It is even worked on a window manager called TKWM,
> which is basicly a TCL/TK interpreter with extra commands for
> windows management (of course the new commands are written in C).

Is TKWM still kicking around/maintained? If so, where can I find it?


James Bailie

Linux bigot,
in London, Ontario, Canada
------------------------------------------------


Matthias Ettrich

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

nall (na...@spike.cs.duke.edu) wrote:
: >
: > I really believed that is even yet possible with Linux until I configured my
: > girlfriends Box.

: was 'configuring your girlfriends' "box"' really that traumatic? <grin>

yes, unfortunatly :-( I needed several hours and the result isn't as
good as I expected. Anyway she now works with it but she doesn't really
believe my claims anymore that this system could sometime be something
for everybody. Well, one might argue that it's enough if Linux/X11 fits
for me. But as a computer-science student who will maybe end up as a
programmer (who knows) I really would like more marketshare for Unix
so that I will not have to write software for strange other systems.

Don't grin, this could happen to everybody. someday. ;)

Matthias

BTW: But I want a nice environment for myself, too, of course.

: nall.

Matthias Ettrich

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

Kevin Cabral (kca...@freenet.columbus.oh.us) wrote:
: Matthias Ettrich (ett...@ti-ibm03.informatik.uni-tuebingen.de) wrote:

: : -------------------------------------------


: : New Project: Kool Desktop Environment (KDE)
: : -------------------------------------------
: :
: : Programmers wanted!


: : Motivation
: : ----------

: : Unix popularity grows thanks to the free variants, mostly Linux. But still a
: : consistant, nice looking free desktop-environment is missing. There are
: : several nice either free or low-priced applications available, so that
: : Linux/X11 would almost fit everybody needs if we could offer a real GUI.

: Matthias,

: I think that nice looking window managers are wonderful, but a
: more worthwhile project for programmers in the Linux community would be to
: create a FreeCDE system. I personally would much rather have a unified
: print and drag-and-drop API than another pretty window manager.

I'm not talking about yet-another window manager. I'm talking about
an Qt-based environment similar to the CDE. Qt yet doesn't have
a drag-and-drop API. I'm not sure when it will come. But of course
this would be a nice project. Join and do that API!
(as a sideeffect and for testing purpose maybe also the filemanager
comes out...)


: BTW: I hope you will consider porting LyX over to Qt in the future, and I


: hope that The Gimp will also join it in moving to more open libraries.

: Kevin

Greets,

Matthias

Patrice Fortier

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

Matthias Ettrich (ett...@ti-ibm01.informatik.uni-tuebingen.de) wrote:
: I'm not talking about yet-another window manager. I'm talking about

: an Qt-based environment similar to the CDE. Qt yet doesn't have
: a drag-and-drop API. I'm not sure when it will come. But of course
: this would be a nice project. Join and do that API!
: (as a sideeffect and for testing purpose maybe also the filemanager
: comes out...)

As far as I can remember Qt is free only for free software development.
So if a company wants to create a product on Linux, she'll have the
choice between:

1. Motif
2. Qt

Since both of them are Commercial products, it'll use Motif (standard).
Even if the Qt API is better...

--
Lokh.

"Famous remarks are very seldom quoted correctly."
- Simeon Strunsky

Linh Dang

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

>>>> "Pat" == Patrice Fortier <for...@emi.u-bordeaux.fr> writes:

Pat> Matthias Ettrich (ett...@ti-ibm01.informatik.uni-tuebingen.de)
Pat> wrote: : I'm not talking about yet-another window manager. I'm
Pat> talking about : an Qt-based environment similar to the CDE. Qt
Pat> yet doesn't have : a drag-and-drop API. I'm not sure when it
Pat> will come. But of course : this would be a nice project. Join
Pat> and do that API! : (as a sideeffect and for testing purpose
Pat> maybe also the filemanager : comes out...)

Pat> As far as I can remember Qt is free only for free software
Pat> development. So if a company wants to create a product on
Pat> Linux, she'll have the choice between:

Pat> 1. Motif 2. Qt

Pat> Since both of them are Commercial products, it'll use Motif
Pat> (standard). Even if the Qt API is better...

If their primary target is Linux, I think they would rather use Qt
since they don't have to staticly link the gui lib in. Users can buy
the app and use it with the free Qt shared lib. Look at the problems
StarOffice has with Motif. Last time I checked, Lesstiff is only
source compatible with Motif. So Lesstiff can't solve the problems
Motif-based comercial apps since the only thing u get is a binary.

just my 0.02$

L.D.

--
=====================================================================
Linh Dang Nortel Technology
Member of Scientific Staff Speech Recognition Software
li...@nortel.ca
=====================================================================

Lars Hofhansl

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

Hi,

it has not been worked on since TK4.0, and even
this was only an alpha version.

Still it might be a good starting point!

Take a look ant Eric Schenks homepage:
http://www.cs.utoronto.ca/~schenk/

Lars

Paul Seelig

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

In article <326322...@erols.com>,

Greg Howland <g...@erols.com> writes:
> This sounds very similar to the Afterstep project.
>
As to my understanding Afterstep is just about another window manager.
But Matthias' idea is about a desktop environment (can you say CDE?) which is
a whole different thing.

> Have you considered working with them?
>

Read his posting again. He is clearly differentiating a window manager from
a desktop environment. Afterstep is about looks but not functionality and
the KDE is primarily an approach for functionality.

We don't need good looks, but a homogeneous user interface. With all window
managers there is still such a heterogeneous way of handling your programs
that it stinks for the average end user. Afterstep is nice but it doesn't
make usage of an editor like 'vi' very convincable for the average user. And
have you ever seen and used a real NeXT box? That's what is called a GUI with
real functionality! Afterstep is still miles away from that although the
looks seem to be there - but that's all.
Regards, P. Seelig *8^)
--
Paul Seelig pse...@goofy.zdv.uni-mainz.de
African Music Archive - Institute for Ethnology and Africa Studies
Johannes Gutenberg-University - Forum 6 - 55099 Mainz/Germany
Our AMA Homepage in the WWW at http://www.uni-mainz.de/~bender/

Eric Vought

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

> If I had to vote what development tools to use for KDE, it most
> certainly would be TCL/TK (used in an intelligent way...).
>
> It is even worked on a window manager called TKWM,
> which is basicly a TCL/TK interpreter with extra commands for
> windows management (of course the new commands are written in C).

This would also make configuration extremely easy, provide backwards
compatibility with the X Resource database, and leverage a hell of a lot
of existing code and extensions.

Eric Vought

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

> IMHO a GUI should offer a complete, graphical environment. It should allow a
> users to do his everyday tasks with it, like starting applications, reading
> mail, configuring his desktop, editing some files, delete some files, look
> at some pictures, etc. All parts must fit together and work together. A
> nice button with a nice "Editor"-icon isn't not at all a graphical user
> environment if it invokes "xterm -e vi". Maybe you have been disappointed

On the contrary, this is exactly what it should be able to do, only you
should also be able to change it to "xterm -e joe" or "textedit" or
"xemacs" or "KDEEdit" or "crisp", etc. If you do build an environment
like you describe, configurability has to be a part of it. Sure, you
might supply several good programs with it, but you shouldn't lock out
people's ability to use other programs *and* for them to fully replace
your programs. In other words, if every time your GUI wants the user to
edit a file, it pops up KDEEdit, even though the user prefers to and
does use pico everywhere else, that doesn't cut it. If the user wants
pico, the GUI should use pico *everywhere*. If you have a set of key
bindings in the GUI, the user should be able to reconfigure them. Why?
Maybe the user is used to a Macintosh and wants familiar bindings. Maybe
the user is missing a left hand and typing Ctrl-A is a royal pain. This,
by the way, means that reasonable backwards compatibility with other
programs needs to be maintained.

Summary, yes, by all means, build a standard system- it has been done
before (The Andrew Toolkit Springs to mind, as does OpenLook), but it
can be done better. But- allow people to deviate from that standard.
Their reasons may be much better than you think, and you cannot possibly
anticipate the needs of everyone.

Suggestion:
__________

BTW: Have you considered a scrapbook for storing scraps of cut and
pastage, Macintosh style? I hate the Mac interface, but it does have its
points, the scrapbook being one of them. An application that serves as a
clipboard that will store say, the last two or three copy actions would
also be helpful, allowing you to copy to and from the scrapbook as
desired.

One other thing: If you provide toolbars, (I'm sure you will) make a
configuration option where by you can display short text interpretations
(not just balloon help- balloon help is for slightly longer phrases)
either with or *instead of* the icons. I find icons can be a great
source of confusion with new users (just what *does* the picture of the
teddy bear mean?!?). It also helps with people that have low resolution,
monochrome, or crappy monitors where the pictures become unrecognizable.
Additionally some people don't have a lot of memory or a fast video card
(pixmaps take up a tremendous amount of memory in a highly graphical
interface- text takes up a lot less- easier on disk space too and much
easier to internationalize).

Ralph Schleicher

unread,
Oct 15, 1996, 3:00:00 AM10/15/96
to

Matthias Ettrich <ett...@ti-ibm03.informatik.uni-tuebingen.de> cited
below with "ME" writes:

ME> IMHO a GUI should offer a complete, graphical environment. It should
ME> allow a users to do his everyday tasks with it, like starting
ME> applications, reading mail, configuring his desktop, editing some
ME> files, delete some files, look at some pictures, etc. All parts
ME> must fit together and work together.

Emacs, man! Emacs! :-)

ME> - Panel:
There are still some keys unbound!
ME> - Filemanager
Dired.
ME> - mail client
Gnus, you can also read News with it!
ME> - easy texteditor
Hell yeah!
ME> - Terminal
Shell mode.
ME> - Image viewer
Say `! display RET' in Dired.
ME> - Hypertext Help System
Texinfo.

--
Ralph * http://www.UL.BaWue.DE/~rs/

GNU -- vivat, crescat, floreat!

Edwin Lim

unread,
Oct 16, 1996, 3:00:00 AM10/16/96
to

In article <32635025...@lrz.uni-muenchen.de>,

Henning Brockfeld <Henning....@lrz.uni-muenchen.de> wrote:
>I don't want to start a new widget war. If someone wants to start a
>project like KDE with Qt, it ok. But I think it is a good idea to have
>a close look at GNUStep ( http://www.gnustep.org ) before starting.
>GNUStep is becoming a clone of the OpenStep API from Next including a
>RTF textwidget and Display Postscript.

I think Henning has a point. Does anyone know what is the advantage
KDE has over GNUstep? KDE sounds like a face lift on some apps. If
that is the case, then it might be a worthwhile attempt. However, if
interoperability (aka drag and drop, OLE, Opendoc, whatever the
recent incarnation is) is desired, perhaps we should seriously look
farther ahead than a face lift. I fear that a face lift of the apps
will generate a lot of excitement that might take too long to complete,
and when it does finish, it would likely be superceded by other stuff
(e.g., CDE) making it look incomplete once again. I bring this up in
light of the uncertain fate that the X+free Unices world is coming to
at the end of the year.

The Unix world (at least the commercial Unix world) is tending towards
CDE+Motif, and soon when the Open Group takes over X, it will be
CDE+Motif+X, integrated (whatever that means). The Open Group has not
made Motif and CDE free, and when X is integrated with Motif and CDE, I
doubt if X will be free as we all know it now. Even if X remains free
and functional stand-alone, the free Unices community will lose much of
its attractive value (sorry, can't think of an appropriate word right
now) due to lack of CDE and Motif, making us look like the outsiders in
a "unified" (commercial) Unix world. Of course, I am sure that
XInside, Metro-X, and others will come up with commercial solutions for
many polular free Unices (some already offer CDE), but those will
most likely come at a dollar price, leave some not so popular free
Unices (or popular free Unices but on uncommon hardware) out in the
cold, and most of all, come with all kinds of strings attached--not
quite the "live free or die" Unix motto.

The Open Group has not announced the fate of X as yet. Since the
maintenance of X is to be handed over at the end of the year, one is
free to speculate what does that mean. Whatever it may be, I think we
should not count on Open Group to be a benevolent entity (it might be,
I don't know.. can anyone clarify this?) on a long term basis. Thus my
suggestion of a new direction in the form of GNUstep.

I am certain most people who have seen a NeXT box will agree that
OPENstep is a more elegant solution than CDE+Motif. It has ground-up
drag and drop (or whatever you prefer to call it), but most important
of all is that the specifications are really open which means that a
free version such as GNUstep can be implemented. Compare that to
CDE+Motif, you have to pay a fees to even get Motif on your box, it is
fat (Qt looks like a much better implementation in many ways, plus
Troll Tech is nice to hackers), CDE needs money as well (am I
correct?), and I would guess that Open Group will not endear itself to
the free Unix community. Money and big players and politics are
involved now, so technology usually take a back seat.

I think I have speculated enough. Anyone else has any other inputs
that more closely correspond to reality? :-) Corrections? Pointers?
Gurus? I think many can benefit from this discussion, don't keep us in
the dark! It would be great if a generally general agreement/concensus
can be arrived at so we all can have a direction to work towards.
Also, follow-up to comp.os.linux.advocacy, where it belongs.

Cheers,
e. (bracing for flame/fireballs/wand of death/etc.)
--
_______________________________________________________________________________
Edwin _Lim_ Aun Whei | U of Calif., Irvine | Never let truth stand in the
el...@dodo.eng.uci.edu | Mech & Aerospace Engr | way of pride.

Arthur Jerijian

unread,
Oct 16, 1996, 3:00:00 AM10/16/96
to

In article <5400v7$c...@dialin33.zdv.uni-mainz.de>, Paul Seelig wrote:
>In article <326322...@erols.com>,
> Greg Howland <g...@erols.com> writes:
>> This sounds very similar to the Afterstep project.
>>
>As to my understanding Afterstep is just about another window manager.
>But Matthias' idea is about a desktop environment (can you say CDE?) which is
>a whole different thing.
>
>> Have you considered working with them?
>>
>Read his posting again. He is clearly differentiating a window manager from
>a desktop environment. Afterstep is about looks but not functionality and
>the KDE is primarily an approach for functionality.

He probably meant GNUstep, which is intended to be a complete GPLed
OpenStep replacement. You can find more information about AfterStep
at http://www.afterstep.org.

>--
> Paul Seelig pse...@goofy.zdv.uni-mainz.de
> African Music Archive - Institute for Ethnology and Africa Studies
> Johannes Gutenberg-University - Forum 6 - 55099 Mainz/Germany
> Our AMA Homepage in the WWW at http://www.uni-mainz.de/~bender/

--Arthur


Martin Spott

unread,
Oct 16, 1996, 3:00:00 AM10/16/96
to

Hi Matthias,

Matthias Ettrich (ett...@ti-ibm03.informatik.uni-tuebingen.de) wrote:
>
> -------------------------------------------
> New Project: Kool Desktop Environment (KDE)
> -------------------------------------------

[...]

I wouldn't like to see just another desktop development.
Linux gains popularity and respect by going conform to already existing
(open) standards. Why don't you/we call for support of the GnuStep project
if you/we don't like commercial desktops ?

This is a project to implement a desktop which is based on an open standard,
not bound to commercial Motif, possibly a little bit huge but very
functional and it goes the object oriented way, which will be a very
important criteria already in the near future.
There already exist implementations on NeXT and Solaris/Sparc.

See www.gnustep.org (Nort America) or
www.nmr.embl-heidelberg.de (Europe)


Martin.
--
EMail: I prefer correspondence to: Martin...@onyx.dirnet.com
If necessary, business mail can be sent to: Martin...@uni-duisburg.de
--------------------------------------------------------------------------
Unix _IS_ user friendly - it's just selective about who its friends are !
--------------------------------------------------------------------------

Ingo Luetkebohle

unread,
Oct 16, 1996, 3:00:00 AM10/16/96
to

Linh Dang wrote:
> If their primary target is Linux, I think they would rather use Qt
> since they don't have to staticly link the gui lib in.

Did you ever see a company whose primary target is Linux?

---Ingo

Ingo Luetkebohle

unread,
Oct 16, 1996, 3:00:00 AM10/16/96
to

Brian Kimball wrote:
> My impression is that a bunch of people just recently realized that the
> current linux/X situation really bites and they all decided to start
> their own little projects.

Yes, indeed, that is the fact. There exist (at least) the Linux
Interface Project (http://blank.pages.de/lip/subscribe.html for ml
information), OpenStep (a.k.a GNUstep), the Gtk group (with a slightly
different focus), a project of the Free Software Union, EZWGL and some
others I probably forgot.

And the dicussion is always the same. I have seen a posting from Warwick
Allison which boils down to a pretty good explanation of why people
choose Qt. He and I had some heated discussions about why _not_ to
choose Qt on the lip mailing list so if you need reasons for that, look
at the archive. I also traced the discussion that erupted once Peter
Mattis and Spencer Kimball announced their Gtk toolkit. It was
remarkably similiar to what I see here (e.g. "There are already many
good toolkits: Tk, XForms, Lesstif, Qt, etc").

The bottom line is, I'm rather tired now, from hearing the same
arguments again and again. I consider it especially interesting that
Matthias, for all the good has done otherwise, didn't even consider it
necessary to check if there are already any projects out which do what
he wants to do. I would be perfectly willing to take back my
suggestions, even if I consider them better, if that results in one
common project and I believe that many of the programmers currently with
the LIP are of the same opinion.

Unfortunately, many other people don't see the necessity to have one
common project. As long as that isn't the case, we will probably have to
just go along and chose among the things that evolve. This is rather
similiar to the way things have gone in the past with other standards
(TCP/IP for example) so this might not be the worst way to choose. I
fear, though, that it may be the slowest way to choose.

> It would be nice to see people buckle down
> and focus on one common project (like the KDE). I think this would add
> a lot of value to linux. Good luck dude.

I heartily agree. Lets get together folks and stop bitching.

---Ingo

Bryan Seigneur

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to Matthias Ettrich

Wonderful, wonderful idea. But before you start another project
and make a new TLA, find out who's working on the same thing. Not
to criticize, but just to do my job. This is what a forum is for.
You will undoubtedly get a very detailed picture of where we are
in this free interface issue very quickly from the ensuing thread.

There is at least one project I know of which is working on
building a GOOD gpl'd interface specifically for Linux (but
since it would be free, it would undoubtedly be ported, at least
to other Intel OSes). I think they named it LIP (Linux Interface
Project). If messing around with Linux has taught me anything,
it's that often what you need is out there, it's just a matter of
finding it, or at least assembling the parts.

Anyway, just wanted to let you know about LIP. I'm sure much more
useful data will be added, too, before the thread dies. Here you
can find how to contact the LIP people, get on the maillist, etc:
http://homepages.munich.netsurf.de/Michael.Dingler/lwp.html

I love the name (KDE), I'm sure as they think about/start to
do things in LIP, they could use a great ironic name like that.
Yes, plenty of objects to recieve TLAs ;)

Matthias Ettrich wrote:
>
> -------------------------------------------
> New Project: Kool Desktop Environment (KDE)
> -------------------------------------------
>
> Programmers wanted!
>
> Motivation
> ----------
>
> Unix popularity grows thanks to the free variants, mostly Linux. But still a
> consistant, nice looking free desktop-environment is missing. There are
> several nice either free or low-priced applications available, so that
> Linux/X11 would almost fit everybody needs if we could offer a real GUI.

...

Now, eagerly going to reading your post in its entirety,
--
Bryan Seigneur
/ / inux
/ /__ink ==> http://www.sonetech.com/~bry/linmarks.html
/____/ist

Anselm Lingnau

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to

Im Artikel <32651589...@devconsult.de> schrieb
Ingo Luetkebohle <i...@devconsult.de>:

> Did you ever see a company whose primary target is Linux?

Caldera?

Anselm
--
Anselm Lingnau ......................... lin...@tm.informatik.uni-frankfurt.de
Trying to outsmart a compiler defeats the purpose of using one.
--- Brian Kernighan & P. J. Plauger, *The Elements of Programming Style*

James Youngman

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to

In article <53tkvv$b...@newsserv.zdv.uni-tuebingen.de>,
ett...@ti-ibm03.informatik.uni-tuebingen.de says...

>
>
> -------------------------------------------
> New Project: Kool Desktop Environment (KDE)
> -------------------------------------------
>
> Programmers wanted!

Why not just contribute to the development of GNU Teak?

--
James Youngman VG Gas Analysis Systems |The trouble with the rat-race
Before sending advertising material, read |is, even if you win, you're
http://www.law.cornell.edu/uscode/47/227.html|still a rat.


Ingo Luetkebohle

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to

Anselm Lingnau wrote:
> Caldera?

Or LST, SuSE, Redhat, whatever. Yeah, sure, all those distributions have
Linux as their primary targets. I have nevers seen anyone of them
producing an office application, though.

The bottom line is: I am opposed to the "We are Linux, we don't need the
rest of the world" statements that have been voiced in this group. It
can never be wrong if something runs over many platforms.

---Ingo Luetkebohle

Peter A. Koren

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to

In article <32635025...@lrz.uni-muenchen.de>,
Henning....@lrz.uni-muenchen.de says...

>
>I don't want to start a new widget war. If someone wants to start a
>project like KDE with Qt, it ok. But I think it is a good idea to have
>a close look at GNUStep ( http://www.gnustep.org ) before starting.
>GNUStep is becoming a clone of the OpenStep API from Next including a
>RTF textwidget and Display Postscript.
>
> Henning
>
>--
>Henning Brockfeld mailto: Broc...@wigeo.bwl.uni-muenchen.de
>Institut f"ur Wirtschaftsgeographie Universit"at M"unchen
>
>http://www.wigeo.bwl.uni-muenchen.de/~hbrock/

Good thought! What is the point of further fragmenting the Linux community on
selecting a GUI when an superior design is well along in being ported to
Linux?

One additional point to be made about GNUStep is that framworks are based on
objective C, a dynamically typed and dynamically bound language (and part of
the normal GNU gcc/g++ distribution). It is far simpler to do high quality OO
programming in objective c than in C++. It also subsumes all of C and can be
used in code along with legacy C++. And, of course, as the GNU moniker
indicates, GNUStep is GPL'd.

Peter Koren
pko...@gte.net home Linux Box `:-)
pko...@ti.com work WIN NT :-(


Frederick (Rick) A Niles

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to Matthias Ettrich

Just to give my opinion...

If it's not GPL ... I'm againist it!

Your going to run in to the same hassles as with
Motif eventually. Just use lesstif or write your
own widget library.

Best / Worst case scenario:
Your project is a wild success to the point no
one wants to run Linux without it. However, you're
still tied to a proprietary solution and your can't
use it with other commercial UN|Xs without paying....

I think that's a bad place to be and would only
serve to undermine the concept of Linux as being
total free from licenses.

It's quite un-GNU...

--
Rick Niles.

Grant Edwards

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to

Lars Hofhansl (lhof...@indiana.edu) wrote:

: I just want to give a few comment on that.

: Admittedly I'm tired of this TK-Monster-tale!

: It's slow when you write the whole application in plain TCL, but that's not
: how is was meant to be.

: You actually can register C-procedures as TCL-commands and call them
: directly from the interpreter (the only overhead is the command-parsing at
: runtime). You can also call evaluate small TCL-Scripts from within C.

[...]

: Granted, it's tempting to write the whole application in TCL/TK, and


: some guys seem to have misunderstood the whole idea.
: But then again, what do you want?

: - you can write the whole thing in TCL which is easy but slow

You can write the whole thing in Scheme, which is easier and faster. ;)

(or Python, or Perl5, or any of the other languages that work with Tk.)

--
Grant Edwards | Microsoft isn't the | Yow! There's a little
Rosemount Inc. | answer. Microsoft | picture of ED MCMAHON doing
| is the question, and | BAD THINGS to JOAN RIVERS in
gra...@rosemount.com | the answer is no. | a $200,000 MALIBU BEACH
| HOUSE!!

david parsons

unread,
Oct 17, 1996, 3:00:00 AM10/17/96
to

In article <3266F0FD...@axp745.gsfc.nasa.gov>,

Frederick (Rick) A Niles <ni...@axp745.gsfc.nasa.gov> wrote:
>Just to give my opinion...
>
>If it's not GPL ... I'm againist it!
>
>Your going to run in to the same hassles as with
>Motif eventually. Just use lesstif or write your
>own widget library.


And watch it die. Qt wins big over Motif in that it is possible to get
free copies, even though they've got rather restrictive licensing terms
for them. And it is reportedly portable so that you can migrate apps
from one platform to Windows, if need be.

>I think that's a bad place to be and would only
>serve to undermine the concept of Linux as being
>total free from licenses.

Linux isn't free from licenses. On any given distribution, you'll find
licenses galore, from the GPV through the BSD license and all the way to
the MIT license.

____
david parsons \bi/ o...@pell.chi.il.us
\/

Lars Gullik Bjonnes

unread,
Oct 18, 1996, 3:00:00 AM10/18/96
to

>> Frederick (Rick) A Niles writes:

[..]
FAN> Best / Worst case scenario: Your project is a wild success to
FAN> the point no one wants to run Linux without it. However,
FAN> you're still tied to a proprietary solution and your can't use
FAN> it with other commercial UN|Xs without paying....

When did you read the Qt license? Free for machines running X Window
system it says.

FAN> I think that's a bad place to be and would only serve to
FAN> undermine the concept of Linux as being total free from
FAN> licenses.

FAN> It's quite un-GNU...

Yes, let's make Linux license free: drop GPL, Linux as freeware!

Lgb


Anselm Lingnau

unread,
Oct 18, 1996, 3:00:00 AM10/18/96
to

Im Artikel <545oqb$l...@sf18.dseg.ti.com> schrieb
Peter A. Koren <pko...@ti.com>:

> One additional point to be made about GNUStep is that framworks are based on
> objective C, a dynamically typed and dynamically bound language (and part of
> the normal GNU gcc/g++ distribution).

Is it just me, or is anybody else wary of a philosophy that is implicitly
tied to One True Language (be that Objective C, C++, Java, ...)?

Anselm
--
Anselm Lingnau ......................... lin...@tm.informatik.uni-frankfurt.de

[I believe] that science is one of the primary art forms of the 20th century.
--- Steve Roy

Anselm Lingnau

unread,
Oct 18, 1996, 3:00:00 AM10/18/96
to

Im Artikel <326650DF...@devconsult.de> schrieb
Ingo Luetkebohle <i...@devconsult.de>:

> Or LST, SuSE, Redhat, whatever. Yeah, sure, all those distributions have
> Linux as their primary targets. I have nevers seen anyone of them
> producing an office application, though.

I quoted Caldera especially because they *don't* produce a Linux
distribution. They use somebody else's distribution and add stuff that
they have (had) ported to Linux, such as WordPerfect etc. In my book,
this is `having Linux as a primary target' without just being yet another
distributor.

> The bottom line is: I am opposed to the "We are Linux, we don't need the
> rest of the world" statements that have been voiced in this group. It
> can never be wrong if something runs over many platforms.

Hear, hear.

Personally, I'd be inherently suspicious of anything calling itself
`Linux-something'. If it's not worth being made to run on any Unix, it's
not worth being done for Linux, IMHO. (This may exclude some things that
need to go far down into the kernel.)

Anselm
--
Anselm Lingnau ......................... lin...@tm.informatik.uni-frankfurt.de

If you think of C as a preprocessor for the PDP-11 assembler, it makes a
lot more sense. --- Reid Kneeland

Kristian Köhntopp

unread,
Oct 18, 1996, 3:00:00 AM10/18/96
to

Anselm Lingnau <lin...@tm.informatik.uni-frankfurt.de> writes:
>Is it just me, or is anybody else wary of a philosophy that is implicitly
>tied to One True Language (be that Objective C, C++, Java, ...)?

Short Summary:

The point to make here is that GNUstep makes use of some
concepts that come easily with the "Objective" component of
Objective-C, but are very hard to implement in other langages.
GNUstep is not really dependent on C as a language. It is just
that GNUstep is dependent on some "Objective" features that are
not easily simulated in other, more restrictive languages.

Objective-C has some features that come in very handy when you
have to implement containers or widgets. On the other hand
these very concepts are seen as Evil [tm] by other schools of
OOP. It's SIMULA vs. Smalltalk people, again.

GNUstep _can_ be used with any OOP language, _if_ that language
can

- make method invocations variable at run-time.
- can derive classes from superclasses without recompilation of
the superclass and without needing the source of the
superclass.
- can ask any object of that class for its class name, the
names and types of all instance variables and the names and
signatures of all methods of this class and all its
superclasses at run-time.

Objective-C _can_ be used with C. It does not even need a
extern "C"-directive as C++ does.

The "Objective" component of "Objective-C" is completely
independent of its "C" component (in syntax as well as in
semantics) and can be applied to almost any other language. In
fact Nextsteps "Objective-C" compiler is in reality an
"Objective-C++" compiler, if you want it to be. There are
"Objective"-dialects of other languages, too. Among them are
regular programming languages such as COBOL, Fortran and other
and script languages such as perl and Tcl.

Longer explaination: Objective-C, like Smalltalk, binds methods
by name, not by pointer. In Objective-C a method call is in
essence a much more efficicent way of doing something roughly
like this

struct method {
char *name;
void *func;
};

method method_table_for_somefunc[] {
{ "doit", doit },
{ "another_method", another_method },
{ NULL, NULL }
}

send_message_to_func(char *msg, ...) {
int p;

for (p=0; method_table_for_somefunc[p].name; p++) {
if (strcmp(msg, method_table_for_somefunc[p].name) == 0)
break;
}
if (method_table_for_somefunc[p].name == NULL)
signal_error();
else
(*(clever_cast)method_table_for_somefunc[p].func)(self,...);
}

In reality the compiler generates a hash value from the method
name and the lookup name->address is done without looping. The
new keyword @selector("somestring") which is evaluated at
compile-time like sizeof() returns the hash-value of type SEL
for the given string.

This breaks typing at compile time, but Objective-C has other
ways of determining types and names at run-time. For those guys
from the we-want-to-prove-our-programs department this is bad
news and so they see Objective-C (and Smalltalk) as evil
things that can never work as exspected (Well, they do work and
they even scale...).


So in Objective-C you can send a fixed message to a single
object: [ myObject mymessage ]. In this example, the method
(member function) "mymessage" of "myObject" is called. This is
nothing spectacular.

You can also make the object variable, which is still common in
other languages:

id anObject;
int length, i;

length = [ myList count ]; // Determine the number of objects in my list
for (i=0; i<length; i++) {
// Determine the object at position i in the list
anObject = [ myList objectAt: i ];
// Call the method "mymessage" of this object
[ anObject mymessage ];
// shorter:
// [[ myList objectAt: i ] mymessage ];
}

But in Objective-C you can also make the method variable.
Objective-C objects understand the method [ someObject perform:
someSelector ] where someSelector is any selector, even a
variable of type SEL. So constructs like

SEL aSelector;
int length, i;

length = [ myList count ];
for (i=0; i<length; i++)
[[ myList objectAt: i ] perform: aSelector ];

are valid, useful and common in Objective-C. Similar things are
usually much harder in C++ and Java. You could even improve the
above iterator to

for (i=0; i<length; i++) {
anObject = [ myList objectAt: i ];
if ([anObject respondsTo: aSelector ])
[ anObject perform: aSelector ];
}

which only applies aSelector to those objects that actually
implement a method for this selector.

Now you could implement a class List or Array which stores
elements of type id (id is a shorthand notation for (Object *),
which is a pointer to an Object or any class derived from
Object) and you could implement a method "makeObjectsPerform:
(SEL) aSelector" in List, which is basically the loop shown
above.

This is a completely generic container class: It can store any
kind of objects. It can even be (horrors!) heterogenous and
store Windows, Buttons, Checkbooks and Stones in the same list.
This container class can apply any method to all of its
objects.

Note that this never involves any recompiling. List can be
compiled and stashed away in some library in 1988, the source
file can be lost (or not be sold to me). This List class can
still store objects I write today and can send them messages I
invented yesterday. I can derive classes from List without need
for Lists source. To some extent I can even abandon the header
file for List, because most of it can be reconstructed from the
runtime information stored within List.o. Obviously, #defines,
typedefs, enums and so on are lost, though, because they are C
and not Objective.


So why is this name-bindung business useful for something like
GNUstep, a GUI class library framework? Well, imagine some
Button class which implements an on-screen button that can be
pushed with a mouse. What method should be called when the
button is pressed and to which class does this method belong?

To be sufficiently general the button must be useable with any
application I might come up with in the future. Of course the
Button class should not be recompiled just because I wanted to
use it in some application of mine or because I want to
subclass it. So each instance of Button has two variables, one
called "target" of type id and one called "action" of type SEL.
And when you press that button,

if ([ target respondsTo: action ])
[ target perform: action ];

This button is general and can be used anywhere withour source
and recompilation. Yeah, and a more complex view which is made
up from many Buttons, ScrollViews is put on screen with

[[ myView elementList ] makeObjectsPerform: @selector(display) ];

Now think of an interface builder program that has some palette
of builtin GUI element classes such as Buttons, ScrollViews,
TextFields and so on. This IB should be useful with YOUR
selfmade GUI element classes as well without recompiling and
relinking the entire IB. Fortunately you are using ELF and have
the ability to dynamically load additional code.

So you load and link your selfmade GUI elements into your IB.
But how can the IB program be sure that what it just loaded is
a proper and conforming GUI element? Well, it simply asks the
new Class or its objects with "respondsTo: (SEL) aSelector" if
they respond to the proper messages. There is additional
support for such tests in the Objective-C language that allows
one to define a protocol (a set of methods) and any object can
be asked if it conforms to that protocol with "conformsTo:".
This is almost the same as asking for the presence every method
of this protocol with "respondsTo:".

So you can have your 1988 commercial GUI builder for which you
have never seen source, have it load some 1993 GUI palette you
have bought from another independent vendor and use this to
interface with your 1996 selfmade program.

And, additional plus, you can have your IB test drive your
applications GUI by simulating the still unwritten classes of
your future application with some
no-operation-understand-anything Classes without the need to
compile anything. This allows you to play around with
application interfaces without having any application specific
code, yet.

Note that those parts of your application that already have
code ARE working in this test drive simulation. So if you don't
write any code at all, but use only existent objects, you can
create proper applications within your IB without ever touching
a compiler. Yes, this is useful. I have done this and the
resulting application was performing useful and nontrivial
tasks (Implementing a simple Master-Detail-View into a database
by joining several tables, sorting this tables by varying
criteria and printing the result to some postscript printer.
The application featured Nextstep AppKit objects for the GUI
and Nextstep DBKit objects for the database and no selfmade
code. I sold it.).


What is the price of all this?


Performance Price:

Well, they say that C++ virtual function calls are factor two
slower than C function calls and that Objective-C messages are
factor six slower that C function calls, so Objective-C method
invocations are three times as slow as C++ method function
invocations. Note that this is ONLY for method invocations. All
plain statements are equally fast in all three languages - a
simple for(i=0; i<100000; i++) is equally fast in all three
languages. Objective-C programs are NOT three times as slow as
C++ programs.

Note that you need not pay the price for Objective-C method
invocation if you don't want to: You can ask any Object for its
method function pointers and call them repeatedly directly,
which is just as fast as in C.

Note that this is seldom necessary, too. My machine is a
Nextstation 68040 @ 25 MHz and its entire operating systems
down to vital parts of the device drivers is written in
Objective-C with all on-screen drawing going through a
Postscript interpreter. While this machine is not the fastest
thing in the world, it is fast enough for all daily tasks. I
never needed to resort to function pointers in my whole
Nextstep existence.


Compiler Price:

It is possible to construct method invocations in Objective-C
that generate runtime errors and that cannot be detected
automatically by the compiler. Thus, Objective-C is not
statically type-safe.

Note that this does not mean that Objective-C is untyped. Each
Objective-C object has exactly one exactly determined type and
you can ask this object for its type at any time. You need not
do that, though, and so it is theoretically possible for you to
construct programs that break.

In practice that does not turn out to be a problem. Large and
very large projects have been done in Objective-C and without
pain. Objective-C and Nextstep are targetted for and used for
mission critical applications, mainly in the banking and
insurance business and they perform well.


Kristian
--
Kristian Koehntopp, Wassilystrasse 30, 24113 Kiel, +49 431 688897
"Aeh, habe ich jetzt jemanden gespoilt, weil ich geschrieben habe das die
3.Staffel ein Ende hat?" -- Anja Ahlfeld, de.rec.sf.babylon5

Joe Smulowicz

unread,
Oct 18, 1996, 3:00:00 AM10/18/96
to

Matthias Ettrich (ett...@ti-ibm03.informatik.uni-tuebingen.de) wrote:
| -------------------------------------------
| New Project: Kool Desktop Environment (KDE)
| -------------------------------------------
| Programmers wanted!
|Motivation
|----------
|Unix popularity grows thanks to the free variants, mostly Linux. But still a
|consistant, nice looking free desktop-environment is missing. There are
|several nice either free or low-priced applications available, so that
|Linux/X11 would almost fit everybody needs if we could offer a real GUI.


I gave OS/2 the boot and abhor MS WIN* in part because of their growing (and
almost now total) reliance on a GUI interface.

I run HPUX here at work, and NEVER make use of the GUI features other than
having an occasional icon on the desktop to start a common application.

The day Linux requires a GUI as its main interface will be the day I abandon
it as well.

Early man started with simple cave drawings and after thousands of years
evolved to a rich and powerful interface known as words. Now everyone wants
to return to our primitive past. I guess history DOES repeat itself.


------------------------------------------------------------------------------
Joe Smulowicz Hewlett-Packard Tel: 508-659-3760
jo...@an.hp.com Mailstop 450, 3000 Minuteman Road Fax: 508-685-3577
Andover, Massachusetts 01810
PGP fingerprint: 50 EA 8B 22 A0 59 60 D5 DD 4B 04 04 12 26 2E 16
------------------------------------------------------------------------------

Nathan Denny

unread,
Oct 18, 1996, 3:00:00 AM10/18/96
to

Frederick (Rick) A Niles wrote:
>
> Just to give my opinion...
>
> If it's not GPL ... I'm againist it!
>
> Your going to run in to the same hassles as with
> Motif eventually. Just use lesstif or write your
> own widget library.
>
> Best / Worst case scenario:
> Your project is a wild success to the point no
> one wants to run Linux without it. However, you're

> still tied to a proprietary solution and your can't
> use it with other commercial UN|Xs without paying....

>
> I think that's a bad place to be and would only
> serve to undermine the concept of Linux as being
> total free from licenses.
>
> It's quite un-GNU...
>
> --
> Rick Niles.

Here's a good point. Qt may be free, as in no cost, but it doesn't
quite fit the ideal GNU sense of freedom.

Nate:SCHCATS!

Markus Gutschke

unread,
Oct 18, 1996, 3:00:00 AM10/18/96
to

Ralph Schleicher <r...@purple.ul.bawue.de> writes:
> Emacs, man! Emacs! :-)
>
> ME> - Panel:
> There are still some keys unbound!
> ME> - Filemanager
> Dired.
> ME> - mail client
> Gnus, you can also read News with it!
> ME> - easy texteditor
> Hell yeah!
> ME> - Terminal
> Shell mode.
> ME> - Image viewer
> Say `! display RET' in Dired.

(defun display-image-in-buffer (file)
"Puts the image contained in the file in the current buffer"
(interactive "f")
(let ((IT (make-glyph-internal))) ;; IT, a la Stephen King
(set-glyph-property IT 'image file) ;; not as in ITaly
(make-annotation IT nil 'text)))

> ME> - Hypertext Help System
> Texinfo.

M-x all-hail-xemacs


I have to admit, though, that XEmacs is not neccessarily the perfect
solution for *all* GUI problems. Something along the lines of a free
CDE implementation would probably help Linux in becoming more widely
accepted.


Markus

Julian Regel

unread,
Oct 19, 1996, 3:00:00 AM10/19/96
to

mar...@onyx.dirnet.com (Martin Spott) wrote:

>I wouldn't like to see just another desktop development.
>Linux gains popularity and respect by going conform to already existing
>(open) standards. Why don't you/we call for support of the GnuStep project
>if you/we don't like commercial desktops ?

I'd second that!

>This is a project to implement a desktop which is based on an open standard,
>not bound to commercial Motif, possibly a little bit huge but very
>functional and it goes the object oriented way, which will be a very
>important criteria already in the near future.
>There already exist implementations on NeXT and Solaris/Sparc.

>See www.gnustep.org (Nort America) or
>www.nmr.embl-heidelberg.de (Europe)

The computer industry seem unanimous in the opinion that the NeXTstep
GUI is very well designed and is light years ahead of other unix
interfaces. The Gnustep project will create a platform where
everything is laid down, even the size of icons (if I read it
correctly). Also, and perhaps more importantly, it will provide the
development tools to create the user apps.
The Motif/CDE might well become the commercial standard but it's
possible that a free unix standard based around Gnustep could take
off. As it stands at the moment, NeXTstep has a better GUI than the
CDE (IMHO, naturally). The KDE sounds good but it would be sad to see
so much time and effort being put into a project that is already up
and running.

Jules

Byron A Jeff

unread,
Oct 19, 1996, 3:00:00 AM10/19/96
to

In article <3267BC...@cs.siu.edu>,

Nathan Denny <sch...@cs.siu.edu> wrote:
>Frederick (Rick) A Niles wrote:
>>
>> Just to give my opinion...
>>
>> If it's not GPL ... I'm againist it!
>>
>
>Here's a good point. Qt may be free, as in no cost, but it doesn't
>quite fit the ideal GNU sense of freedom.

Everybody in this thread should pick up a copy of the November 1996 Linux
Journal and read the Qt article written by one of the Co-founders of Troll
Tech. Their gist is simple:

* They Like X11/Linux. In fact they develop Qt on it and port it to other
platforms from there.
* They promote freeware for the X11/Linux platform.
* They want to make money (don't we all? ;-)

So the upshot is that Qt is freely distributable with source code for X11/Unix
based platforms, and commercial gotta pay for others (especially M$).

For Linux/FreeBSD the license is equivalent to GNU's. And it seems to me that
the only reason one of us would port an app to M$ Windows is for the sole
purpose of making money. So Troll Tech should get a cut.

I'm satisfied with Troll Tech position and plan to write a test app or three
in Qt now that I have a article with some cookbook examples.

You don't have to pay to get Qt on your Linux box. You get the source code. You
have to pay for Motif. You don't get the source code for it (unless you pay
the huge bucks...). Troll Tech looks like a GNU outfit, and talks like a GNU
outfit (on Unix platforms). So why should we not treat them like a GNU outfit
and use their stuff?

BAJ
--
Another random extraction from the mental bit stream of...
Byron A. Jeff - PhD student operating in parallel - And Using Linux!
Georgia Tech, Atlanta GA 30332 Internet: by...@cc.gatech.edu

Matt McLeod

unread,
Oct 19, 1996, 3:00:00 AM10/19/96
to

On 18 Oct 1996 17:14:09 GMT, Joe Smulowicz <jo...@an.hp.com> wrote:
>I gave OS/2 the boot and abhor MS WIN* in part because of their growing (and
>almost now total) reliance on a GUI interface.
>
>I run HPUX here at work, and NEVER make use of the GUI features other than
>having an occasional icon on the desktop to start a common application.
>
>The day Linux requires a GUI as its main interface will be the day I abandon
>it as well.

No-one is talking about making Linux require a GUI - rather, providing an
option for those who want one. Preferably an option which fits in nicely
with the existing CLI stuff.

IOW - you don't like GUI's, and you don't want to use one. Bully for you.
Others do like them. This isn't an either-or situation.

This project has the potential to make Linux a win-win platform for GUI/CLI.

--
Matt McLeod "Bill spent his whole time trying to be
System Administrator argumentative and not trying to come up
Hunter Network Association with solutions." [Ed Roberts on Bill Gates]


Freedom Software Support

unread,
Oct 19, 1996, 3:00:00 AM10/19/96
to

Matthias Ettrich (ett...@ti-ibm03.informatik.uni-tuebingen.de) wrote:

> -------------------------------------------
> New Project: Kool Desktop Environment (KDE)
> -------------------------------------------
>
> Programmers wanted!

Freedom Software would be willing to contribute with
the source code of Freedom Desktop Light for this effort.
Please don't subestimate the task of building a
desktop manager. Several Years have been spent building
Freedom Desktop. We could also contribute with
other pieces of technology (i.e Freedom Rt - Object oriented
toolkit). For more information about Freedom Desktop,
please visit http://www.fsw.com

Freedom Software is about to announce a free version
of the software for Linux (personal use only). This version
is called Freedom Desktop Light for Linux.

If I were you, I wouldn't restrict the project to a specific
toolkit (at least for now). There are many pieces of public
software that can be reused easily. It could take a long
time to rebuild everything from scratch. Try to reuse
the more you can now. You can standarize on a single
toolkit later.

Also keep in mind that Motif is the defacto standard.
Most Unix platform ship with Motif. It would be nice
if your desktop work on all the versions of Unix


Edgar Galvis
Freedom Software
http://www.fsw.com/motif.html - Home of Freedom Desktop for Motif
sup...@freedom.lm.com


Ralf W. Stephan

unread,
Oct 19, 1996, 3:00:00 AM10/19/96
to

Anselm Lingnau writes:
> Is it just me, or is anybody else wary of a philosophy that is implicitly
> tied to One True Language (be that Objective C, C++, Java, ...)?

You're not alone there. OTOH, with a reasonably reusable design
in your app, being written in an OOP language (be it C++/ObjC/Java),
you could easily interface with many GUIs. I keep telling this until
I'm mad, I believe.

The key is writing reusable soft (not one tied to a specific interface)
and porting it to the yet-another-new-and-fancy GUI which has the
most audience/support now. Oh well then, why not unite on just
*this* project: build a C++ framework for general Linux apps with
interfaces to Tk/Motif/Qt/GNUstep/your favourite GUI.

Bored,
ralf
--
Lynx-enhanced pages at http://www.bayreuth-online.de/~stephan

Uli Kaage

unread,
Oct 20, 1996, 3:00:00 AM10/20/96
to

In article <ufzq1of...@alfa.purple.UL.BaWue.DE>,
Ralph Schleicher <r...@purple.ul.bawue.de> wrote:
>Matthias Ettrich <ett...@ti-ibm03.informatik.uni-tuebingen.de> cited
>below with "ME" writes:
>
>ME> IMHO a GUI should offer a complete, graphical environment. It should
>ME> allow a users to do his everyday tasks with it, like starting
>ME> applications, reading mail, configuring his desktop, editing some
>ME> files, delete some files, look at some pictures, etc. All parts
>ME> must fit together and work together.

>
>Emacs, man! Emacs! :-)
>
>ME> - Panel:
>There are still some keys unbound!
>ME> - Filemanager
>Dired.
>ME> - mail client
>Gnus, you can also read News with it!
>ME> - easy texteditor
>Hell yeah!
>ME> - Terminal
>Shell mode.
>ME> - Image viewer
>Say `! display RET' in Dired.
>ME> - Hypertext Help System
>Texinfo.
>
>--
>Ralph * http://www.UL.BaWue.DE/~rs/
>
>GNU -- vivat, crescat, floreat!

Matthias pointed out that he wants to create an
End-User-GUI. Although emacs is a very complex and
powerful editor, it's not easy to use for so called
End-Users. And it's not that what an End-User expects
as a GUI.

BTW, why call it KDE when it could be called LDE
(Linux Desktop Environment ?) ;-)

Uli
--
Uli Kaage - u...@anna.sub.de

Edwin Huffstutler

unread,
Oct 20, 1996, 3:00:00 AM10/20/96
to

[ Uli Kaage wrote: ]

(... agree with the emacs comments - it *IS* the answer to everything, but
not for the newbie...)

> BTW, why call it KDE when it could be called LDE
> (Linux Desktop Environment ?) ;-)

Because whatever these KDE people come up with would (should) be runnable
on any Unix system without too much trouble... be it Linux, FreeBSD, or
some commercial OS. Branding it "linux-only" would make it a less
attractive alternative and restrict the possibilites for world
domination (or whatever their goals are :).

--
Edwin Huffstutler http://www.primenet.com/~edwinh/
edw...@primenet.com Linux - because reboots are for hardware changes
eh...@sedona.intel.com SPG Logic Engineering, Intel Corp.


david parsons

unread,
Oct 20, 1996, 3:00:00 AM10/20/96