This release of GNUstep-gui features a brand new text system with better font and layout support. In addition, printing has been fixed so that images are printed correctly. The rest of the GNUstep libs had updates recently too. On other toolkit news, this article over at DevChannel.org will introduce the C++ wrapper libraries for the GNOME foundation’s GNOME C framework, Gtkmm.
The Gtkmm team have done some really nice work, I actually thought this program would be far more verbose than it was – the author was right, I was surprised how compact it was. A far cry from my first encounter with GTK and Qt, where I saw a Hello World example in Qt and GTK. The fact that the Qt one was far shorter than the C equivalent in GTK convinced me for the longest time that Qt was “better” – how wrong I was.
And note that the example uses GTk::TreeView, which is one of the most complex widgets, but not as complex as in C.
The GNUStep libs are very good, but do the widgets really need to be that ugly?
🙂
First of all, this look is the same as the NeXT look. Some find it “ugly” or “gray”, others find it very good-looking and … “professional”. No whizz-bang or playskool things. I love myself the NeXT look, I remember setting NeXT themes for xaw libs (using NeXTXaw), same for Qt libs, using wmaker or afterstep as windowmanager.
You could look on some NeXT applications (screenshots) here : http://www.levenez.com/NeXTSTEP/meApps.html
(and by the way, please sign the petition for freeing lighthouse design apps ! ==> http://www.petitiononline.com/laafs/petition.html)
One of the goal of GNUstep apps is also to be focused on ease of use, ergonomy, etc. Apps follows the NeXT UI guideline and are consistent. Applications tries to be designed in the good old Keep It Simple, Stupid ! way of things.
That’s encuraged by the GNUstep framework, as applications have many possibilities to communicate with each others (drag and drop, a powerfull pasteboard, and overall, services — applications tell the system that they could do some services, like “send the selectionned text as mail”, and this is accessible via the service menu in ALL GNUstep applications !).
Anyway, back to the look question … it’s the “official” look, but GNUstep has the possibility to load bundles, and it’s possible to program a bundle to change dynamically the look of GNUstep apps. I did some things, look at the screenshots here : http://www.roard.com/screenshots/screenshot_theme19.png and http://www.roard.com/screenshots/screenshot_theme20.png). But I still not released something, as I wish to finish this theme engine before, fix some bugs, etc. …
sadly I’m *very* busy right now, and I’m not sure when I will rework on that, but it’s possible to change GNUstep look quite easily.
I understand your point. I´m a big fan of the Amiga UI, and still many people would say that it is ugly and that it has bad usability.
But a themed widget engine like you sugested is something that would attract a lot more people to GNUStep. When something like that is integrated to the GNUStep distribution many will download it and give it a try.
Finally, I think GNUStep is really great, it just suffers from bad marketing (like many other great Open Source projects). Although some would argue that writing open source software is a hobby for them and they are not that interested in the marketing aspect, I believe that a little bit of propaganda can´t be all that bad.
But a themed widget engine like you sugested is something that would attract a lot more people to GNUStep. When something like that is integrated to the GNUStep distribution many will download it and give it a try.
I think so … it’s quite strange imho to focus on the “look” part instead of ease of use or ease of programming (two big things imho with GNUstep). But it’s understandable, as the look of a toolkit/destkop is the first thing people notice, and ease of use or consistency only appears after some hours (or more ?) of real use of the system. Anyway, many things are also needed fo GNUstep imho, like some “GNUstep Desktop” project, more applications more mature, etc.
Finally, I think GNUStep is really great, it just suffers from bad marketing (like many other great Open Source projects). Although some would argue that writing open source software is a hobby for them and they are not that interested in the marketing aspect, I believe that a little bit of propaganda can´t be all that bad.
Agree. GNUstep really has a very, very bad marketing. The project itself is really great … but for many people it’s just some “old thing” like HURD, never finished, etc. More and more people seems to give a try to GNUstep, and things had dramatically improved since the last year … so hopefully the project will gain a more broader support (big works remaining …).
You could look on some GNUstep articles and tutorials here : http://www.roard.com/docs
What is LinuxSTEP?
LinuxSTEP is an operating environment based on the Linux kernel, GNU utils, XFree86, directory services, and the GNUstep development environment. We’re going for a very tight integration of all the different aspects of the system, so that the user doesn’t necessarily have to spend time maintaining their system, unless they so desire.
http://www.linuxstep.org/
I’m interested in gtkmm, and twice so far I’ve tried to install it, and twice I’ve failed. Now, I’m talking here about getting the most recent gtkmm release installed. In my most recent attempt I really put in some effort; I drew some nice tree-diagrams listing all the dependencies — and there are a lot of them — and worked to get them all right. This was on RH8.
I can’t recall exactly how the attempt went except for the “rm -fr *” at the end, and I’m not here looking for install advice. I would however give the gtkmm team some advice, if they’ll take it: If you want people to use your framework, give them high-quality and complete install documentation. Otherwise, you’ll just be largely ignored. Hey, I hear fltk is looking pretty good…
It isn’t difficult. It’s just like every other library out there. If you ask someone (preferably on the gtkmm list) then you will be helped.
However, RH8 has GTK+ 2.0. The latest version of gtkmm is 2.2, which uses GTK+ 2.2. You probably don’t want to replace your GTK+ 2.0 with GTK+ 2.2 because I think it breaks that version of GNOME 2.
So, you’re alternatives are:
a) Install in a different prefix. But if you are confused by building-from-source then setting up a separate prefix might be even more difficult for you.
b) Use gtkmm 2.0.x instead.
Will this release actually display any text? The last time I installed GnuSTEP, about a month ago, it first didn’t work and when it finally did, there was no text so I had to guess which menu entry I should use to quit GWorkspace…
For the rest it looked good, from the screenshots at the website it really seems to be great – too bad the Debian packages do not work right…
I think GNUstep is a great project. Just look at the Project Builder and Interface Builder — they are insanely great RAD tools. One added benefit is that you can take a cocoa (MacOS X) application, convert the NIB file, recompile it, and you have it running under GNUstep (theoretically at least).
But one thing that kept me from using it is that it does not work under OpenBSD. I always had all sorts of weird compile errors, most of which came from Linux-isms.
–Benny.
Will this release actually display any text?
uh, that’s an odd problem ! what backend did you use ? -xlib or -art ? The -art backend use packaged fonts …
You could get true type packaged fonts here : http://developer.linuxstep.org/downloads/ (Basic Fonts v2).
The -art backend is far better than the -xlib backend… it uses libart to display things, so everything is antialiased, and freetype to display fonts — AA also. It could use packaged true type fonts, or NeXT fonts (see http://wiki.gnustep.org/index.php/nfont%20packages , and see http://wiki.gnustep.org/index.php/back-art%20Installation for the installation of the -art backend).
Interessting links also : http://wiki.gnustep.org (the gnustep’s wiki) and you could see some gnustep apps in action here http://wiki.gnustep.org/index.php/GNUstep%20in%20action
A while ago, I put some additional fonts for GNUstep (not limited to, of course) on http://www.knuddel.org/Downloads/Fonts/
I’ve been interested in GNUstep for a long time, but every time I’ve tried it, it just seems so raw and unpolished. Things only half-work most of the time, at least under FreeBSD. I tried it on Linux, and it worked better, but there still wasn’t much that was very useful to me. I think a big part of the problem is that the GNUstep apps behave so much differently than other apps in X, it causes them to seem out of place, much like java swing apps seem out of place. GNUstep needs to be the full desktop environment. I also agree with the previous poster who thought it was ugly. However, I think the ugliness comes from that “unfinished” quality of the system, not necessarily from the color of the widgets.
I’ve been interested in GNUstep for a long time, but every time I’ve tried it, it just seems so raw and unpolished. Things only half-work most of the time, at least under FreeBSD.
That is due to the fact that most (if not all) of the main developers actively working on GNUstep use Linux. There are only a handful of “beta-testers” using *BSD, so it takes a while until fixes are commited.
I think a big part of the problem is that the GNUstep apps behave so much differently than other apps in X, it causes them to seem out of place […]
Not really. What is missing is a window manager that _fully_ supports GNUstep. WindowMaker is a good start, but it just supports it “so-so”.
I also agree with the previous poster who thought it was ugly.
Beauty lies in the eye of the beholder.
To me, and I know I’m not the only one, Next/Open/GNUstep are the most visually pleasing environments yet. Windows, especially XP, looks like right out of a comic book. KDE tries to emulate Windows look and feel … and Gnome … well …
Since gnome is pure C, it should be possible to create a wrapper around gnome (or just gtk+).
I think it already exists ? there is one for KDE …
But frankly, the OpenStep API is one of the best API I had programmed with. Coding using Objective-C as language is great, but the API is what makes it really interessting.
GNUstep isn’t perhaps as “polished” as others toolkits, but I prefer to code for it rather than GNOME or even KDE 😉
OpenStep design is absolutely wonderful.
Murray wrote:
It isn’t difficult.
Ouch. I guess it’s hard for gurus not to give that answer.
It’s just like every other library out there.
Well,.. I’d agree, except (as you noted) that it depends on gtk+ which GNOME depends on. So it’s a little more complicated than that.
If you ask someone (preferably on the gtkmm list) then you will be helped.
Thank you, but my point was about having the docs in place so that it isn’t necessary to clog up the mailing list with install-help requests.
However, RH8 has GTK+ 2.0. The latest version of gtkmm is 2.2, which uses GTK+ 2.2. You probably don’t want to replace your GTK+ 2.0 with GTK+ 2.2 because I think it breaks that version of GNOME 2.
Ahhh…. Well, that there is a pickle.
So, you’re alternatives are:
a) Install in a different prefix. But if you are confused by building-from-source then setting up a separate prefix might be even more difficult for you.
b) Use gtkmm 2.0.x instead.
Well, option “b” is out — you want users building with your latest and greatest, no?
Option “a” sounds great, but you have to tell us teeming masses of unwashed c++ programmers more than just “./configure –prefix=/usr/foo”. Unfortunately, since I suppose the gtk+ team has similar install docs, this would lead to duplication of effort. Not sure how to avoid that…
Hmm… on a related note, I think I read in one of the readme’s that you were still waiting on FSF/GNU to accept the gtkmm project as an official GNU project. How’s that going?
There are Objective-C wrappers for GTK and a bit of GNOME but they are not properly maintained so it certainly is possible.
I really don’t see the point of this though. Since GTK hasn’t got a real object system your Objective-C programming experience would be very crippled and you would probably be better of using C++, some other language less dependent on it’s runtime or simply use C to call the GTK and GNOME stuff. Of course, Python, Perl, Guile etc. are always an option if you just want to do something quickly.
Lighthouse Design software *is* free? Or do you mean open?
Lighthouse Design software *is* free? Or do you mean open?
Some insist on confusing the rest and re-defining ‘free’.
Indeed, the petition asks for open software so that it can be recompiled and used with GNUstep (or Cocoa I guess).
uh, that’s an odd problem !
Not really. If he’s experienced about the same thing I have, it’s perfectly at least two people. I just used the defaults and my menus ended up being infinitely long and didn’t display any text.
Sun bought Lighthouse Design when they were doing OPENSTEP for Solaris (i think it was called “Neo”), but then came along Java and they dropped the whole thing.
AFAIK they “lost” the source code somehow. So there’ll never be any source release of the Lighthouse Suite.
> > It’s just like every other library out there.
> Well,.. I’d agree, except (as you noted) that it depends > on gtk+ which GNOME depends on. So it’s a little more >
> complicated than that.
What’s it got to do with GNOME. You don’t need to install GNOME to use gtkmm. Gnumeric depends on GTK+ but you don’t think you need to install that too, do you? Dependencies go in only one direction.
The gtkmm website and the gtkmm book have details about the full dependency tree, small as it is.
> > If you ask someone (preferably on the gtkmm list) then
> > you will be helped.
> Thank you, but my point was about having the docs in
> place so that it isn’t necessary to clog up the mailing ?> list with install-help requests.
The mailing list is not clogged up with install-help requests because it’s easy. You are making some elementary mistake and if you asked about it then someone would help you out.
[snip]
> Well, option “b” is out — you want users building with ?> your latest and greatest, no?
_You_ want to install it. You’re the one having difficulty here. No amount of gtkmm docs will solve the GNOME2.0-doesn’t-work-with-GTK+2.2 problem.
> Option “a” sounds great, but you have to tell us teeming
> masses of unwashed c++ programmers more than
> just “./configure –prefix=/usr/foo”.
That’s my point. Learn about development prefixes, update your GNOME, or use a slightly older version. They are all valid choices.
> Unfortunately, since I suppose the gtk+ team has similar
> install docs, this would lead to duplication of effort. >
> Not sure how to avoid that…
There isn’t much more to it than setting a PKG_CONFIG_PATH environment variable. There’s info about separate install prefixes in the gtkmm README if you are really interested. But the problems is that, if you’re confused by a normal install then you will be confused by this. In general, people just forget to use the same arguments to –prefix when configuring, for instance.
> Hmm… on a related note, I think I read in one of the
> readme’s that you were still waiting on FSF/GNU to accept > the gtkmm project as an official GNU project. How’s that
> going?
No, we gave up on that a while ago. They didn’t reply to our emails and then we saw how they dealt with GNOME and thought that would be tedious.