Havoc Pennington Answers 90
Signal 11 asks: There has been a lot of discussion about merging KDE and Gnome together either via a universal toolkit, or by actually merging the two code-bases together.
What are the technical (and legal?) obstacles that need to be overcome for this to succeed? How does the KDE and Gnome developers feel about such a merger? Is there currently any work being done to further this goal at present (by either camp)?
Havoc answers:
Merging the entire code base is completely impossible, both technically and legally - not to mention that it would involve scrapping and rewriting close to a million lines of code, actually more I think, once you count applications. So we can consider that an official Bad Idea.
However there is a lot of room to share code. Some things aren't really desktop-specific; for example, a sound server or my GConf configuration storage library or libxml or libart. These are components the desktops could easily share.
We're making lots of progress on interoperability. For example, the window manager hints spec, so your KDE desktop icons won't show up underneath your GNOME panel, your GNOME panel will work with the K Window Manager, etc.
Some work has been done on "themeballs" which are collections of "matching" themes; we'd have an app that knows how to install the theme collection as a group, so your GNOME app, KDE apps, and window manager would all reflect the same theme. Someone from GNOME has been trying to write a GTK pixmap theme that loads the Qt pixmap theme format, as well. (For proof-of-concept, check out the Sawmill window manager, which automatically "matches" the current GTK theme.)
CORBA is sort of inherently interoperable, modulo some small details. Things are looking pretty good on this front.
BadmanX asks: When do you see Gnome getting some sort of threading capability, like that which makes the Be operating system so integrated?
Havoc answers:
I think GNOME is a bit too high-level for this; I would expect it to be more of an X server or kernel issue. GNOME should be able to take advantage of multimedia speed enhancements almost automatically. Of course the Linux kernel and GNU C library already have a fairly solid threading capability, but it isn't used as pervasively as it could be perhaps.
As an aside, the glib library used in GTK+ provides a nice main loop abstraction that allows us to avoid the need for threads in many cases, which can make writing applications much simpler. There are some cases where threads are necessary (a server that does blocking IO for example), but we try to minimize their use because they are a maintenance and portability problem.
Skeezix asks:
Could you give us a rough timeline of what we can expect to see coming from the GNOME project in the next months, and years? Could you give us an idea of when we can expect to see the 1.0.50 and 2.0.0 releases of GNOME? And what will those releases look like?
Havoc answers:
1.0.50
1.0.50 may have come out by the time you read this. It has lots of small new features; the file manager has been significantly enhanced, the libraries have some new stuff for developers, there are "segfault dialogs" that come up and tell you when apps have crashed, control center fixups, logout animation, gdm2 (the first PAM-compliant X login daemon, someone told me today), gnome-session has no known crashes, removable media is auto-detected, etc. Just incremental enhancements.
Actually this release may not be called 1.0.50, I think we are calling it "September GNOME" or something. In any case; we've been releasing some component or other every week since GNOME 1.0, but this is a synchronized release of all the components and represents the end of our active work on the 1.0 series. (Though there will doubtless be a few small releases for whatever reason.)
I noticed a little flame war in the comments for the first article about "what has GNOME been doing"; basically we have been working on applications and next-generation development infrastructure. GNOME Workshop totals 400,000 lines of code, counting a semicolon as a line; this is close to a million lines if you use the plain "wc -l" method of counting. That's a whole lot of code hidden behind the sucky GNOME Workshop web page. Other GNOME projects over the last few months include the Bonobo component architecture, libglade, and bug fixes. :-)
2.0
It's probably a bad idea to announce a date for 2.0 at this time. Most likely in the first half of next year. Well, we are going to try our damnedest to get it done within 6 months I think.
One thing I'd like to see in 2.0 are multiple releases, not necessarily at the same time. The components as I see them are:
- GNOME Developer Toolkit: Libraries and development tools like Glade
- GNOME Desktop Environment: File manager, window manager, panel, trash can, etc.
- GNOME Application Suite: The 20 or so small utility apps that are distributed with GNOME itself.
- GNOME Workshop: The office suite
Here are some of my thoughts on 2.0, obviously it will evolve a little bit along the way and other GNOME project members will disagree:
- Bonobo component architecture library (already mostly done, has to be released and stabilized)
- New file manager (asynchronous virtual file system layer is done, code such as metadata database will be reused from gmc, but lots of stuff to rewrite).
- Hopefully a default window manager that we know works well with GNOME and we have enough influence over to "sync" with our release and be sure it has an interface we can live with. Of course you will still be able to choose your favorite WM if you want, we're working with KDE on a nice WM spec.
- Mozilla-based help system. The Mozilla build tree already has a GtkMozilla widget in it, and we're standing ready to slap a Bonobo wrapper around Mozilla as soon as the thing shows signs of stabilizing. Dave Mason at RHAD Labs is an expert on online help and SGML/XML (he wrote the 100 page illustrated GNOME User's Guide as well), and Mozilla hacker Chris Blizzard also works at Red Hat though not in the labs. We think that together they can create a sweet system.
- Replacing Imlib. This should result in some small performance gains, and a simpler codebase for us to maintain. The gdk-pixbuf replacement library has already been written.
- libglade integration. libglade is already in use, but we have to integrate it with gnome-libs. This is a library which parses an XML resource file and creates an interface. This makes for some serious rapid application development.
- GConf configuration system. This makes it much easier to deploy the desktop in computer labs or larger offices.
- Enhanced language bindings. We want to flesh out any remaining gaps in the language bindings and be sure these work well.
- Internationalization. Owen Taylor at RHAD Labs is working full-time on internationalization issues in GTK+; we will support Unicode, and all kinds of writing systems (including bidirectional text). Very few (if any) toolkits support internationalization to this extent.
- Printing. We already have a gnome-print library, which needs some polishing up for a stable release. It will be included in GNOME 2.0. Gnumeric and Dia already print using gnome-print, however.
As you can see we have quite a bit of code waiting in the wings ready to go in GNOME 2.0; that's why we hope to finish on a tight schedule. But of course things could go wrong, you never know.
Hackers who want to get involved are encouraged to start lurking on the mailing lists and the #gnome IRC channel, and start reading documentation on our developer's site. There's a lot of stuff to do and the future looks exciting.
Tet asks:
There have been many half hearted explanations for GNOME's poor performance, ranging from Gtk to CORBA to X itself. However, none of those really cut it. Given the responsiveness of standalone Gtk apps, I think Gtk can be ruled out. Orbit is supposedly 3 the fastest CORBA implementation by a factor of 3, even with all the assertions left in. While the X protocol may be somewhat slower than it could be, X is still quite responsive on my old 486.
I now have an AMD K62-450, and GNOME still feels sluggish, about the same speed as Windows 95 on my P75. That has to be wrong. Yes, GNOME probably does more than W95, including things like network transparency, and the like, but even taking that into account, along with Gtk, CORBA and X itself, you shouldn't be looking at more than, say, reducing performance by half, and that's being pessimistic. In reality, you're looking at GNOME being 3 or 4 *times* slower than it ought to be. Simple question: why?
Havoc answers:
This question is really too vague; let me know if my answer is still half-hearted. What is your setup? What theme? What window manager? Is your X server good or is it one of the semi-finished ones? What things are slow for you? Are you actually timing things?
I have a Pentium 166 laptop and GNOME is very fast and responsive. But I do two things:
I use only theme engines, especially the GTK default theme, no pixmap themes. If you use the glitzy themes you pay in speed and memory.
I use WindowMaker or Sawmill, not E.
There are some specific things we know are slow:
- Application startup is slow. This is primarily due to the fact that a GNOME application links to so many separate shared libraries; if we merged all the libraries into one or two giant libraries, you would have many fewer system calls on startup and faster start time. However, there would be some disadvantages from a maintenance/download-size standpoint. We've addressed this problem by changing Imlib to dynamically load libpng, libtiff, etc. on-demand instead of on startup; we'll probably be removing Imlib in the next release. We could probably change things so the sound libraries are also loaded on demand.
- GTK flickers a lot if you have opaque resize turned on. This is a complicated problem that's hard to address; the long term solution is probably to move GTK+ to an architecture like the GNOME Canvas widget instead of the more traditonal toolkit architecture based on X windows. The flicker isn't really slow, but it makes people feel that things are sluggish.
- Some versions of E do some things slowly. For example moving windows around can be slow. WindowMaker is much more consistenly snappy, and Sawmill is nice too. Those are just my preferences, lots of people swear by icewm, fvwm, scwm, etc.
- Some specific applications may be slow for whatever reason - if some particular operation seems too slow, please file a bug on http://bugs.gnome.org.
Anonymous Coward asks:
You are known to be a programmer, and a programmer always has some ideas on languages and tools. What of the currently available languages would be your programming language of choice now? What about two years from now? Why? How would you change it so it becomes the ideal language? What's the worst language you've written something substantial in? How would you change it so it becomes the absolutely most evil language?
Havoc answers:
OK, you are setting me up to be flamed. :-)
I don't think the language is really the primary issue right now. People are interested in the quality of the available implementations, the availability of support and training, the kind and number of useful add-on modules, the documentation, and so on. Basically for any project, you decide whether you need the speed of C/C++, and if you don't you do your best to use a higher-level more reasonable language with a good implementation. "Academic" languages like Haskell and Eiffel, while much nicer languages than Perl or Python or C++ or Java, have implementation issues that often restrict their use.
With the Cygnus/GNU Java compiler, lots of GNOME people are cheering for Java. We even have a good start on the Java bindings for GNOME. Java offers an object oriented environment syntactically similar to C/C++, but has some important safety advantages (no pointers), reduced complexity, and lots of nice libraries.
For rapid application development I like to suggest Python as a sort of "Visual Basic equivalent"; PyGNOME and libglade by GNOME's James Henstridge allow you to write a fairly complex, nice-looking application in a couple days. The Red Hat 6.1 installer is written in PyGNOME.
I've used Guile some as an extension language; the Guile-to-C API is very simple and easy to use. Again, an implementation issue that becomes important.
There's an O'Reilly book coming out about Perl/GTK, I'm told, so I assume those bindings are pretty good. Judging by the list traffic quite a few people are using them.
Anyway I've been playing with Haskell lately and I think there are some practical issues with it, but it's improving and I enjoy it a lot. So if I'm having a language war I like to defend it. But in practice I end up using C to write libraries, if I were writing a high-level tool I'd probably use Python. My largest two projects to date (Guppi and gnome-apt) are in C++. gcj makes me want to have another look at Java. Just use whatever works.
Ian Bicking asks:
There are a ton of preceding and current desktop environments: KDE, CDE, GNUStep, Windows, MacOS, Xerox Star, BeOS, QNX/Photon, and a whole bunch of others.
Are there any ideas from other such environments that you think are really neat? Any ideas that you would like to be part of Gnome, or even plan to try yourself?
Havoc answers:
We do our best to steal shamelessly from all other user interfaces; we have the Mac UI guide and a Windows box at RHAD Labs, as well as KDE installations, and we often look at how these other groups implemented a given dialog or widget. I'm sure the GNOME hackers on the net do the same thing; Miguel is always talking about the latest Excel feature he just cloned in Gnumeric.
In general we want to keep the UI "sufficiently similar to" the windows-mouse-icon model of Windows and Mac, because trying to be revolutionary on this point would be a disaster (read the gnome-gui-list archives if you have any doubts). But we like to add nifty enhancements, such as themes or the GNOME panel. And of course hackers who work on innovative stuff are welcome.
Most of my interface ideas are for particular applications. Having just written a book, I have an elaborate plan for the ultimate document-writing application. But Emacs will have to do until I get some more time. :-)
SEGV asks:
Havoc, how did you find the process of writing a book? Can you tell us more about the process? How long did it take? How did you find the time? What were some of the hurdles you had to overcome? Are you as pleased with the final product as you imagined when you began? Would you do it again?
Havoc answers:
Writing a book involves sitting down for long periods of time and typing. As an activity, that's pretty much what it involves. :-) Well, there's some thought that goes into it.
Seriously. I wrote a "fast book," it took about 4 months. Lots of books are written in well over a year, but I wanted to write a book that people could begin using as soon as possible. If it sells well there may be a second edition sometime after GNOME 2.0 (even without the second edition it will continue to be maintained as part of the GNOME project).
The process is simple. You make an outline and get opinions on it from all your editors and technical advisors, then you revise it a few times. After that you start to write the chapters in the outline; each chapter is reviewed for technical accuracy and writing quality, then sent back to you. You make the suggested changes, then submit the final chapter. After you've done that for all the chapters, you just wait for the book to appear in print. That's about it, modulo some boring details.
I found the time by spending a lot of weekends with my computer instead of doing something fun, and by staying up late some nights. I think in general there is a poor work/pay ratio, so it's important to want to get the information out there, you won't be getting rich on book-writing.
ajs asks:
I hear things about Glade getting sucked into core GNOME libraries as a way of dynamically reconfiguring applications (an ambitious goal!) How much planning has been done for this, and is it expected to impact application performance?
Havoc answers:
Well, we are already using libglade in some applications, such as Gnumeric, and it doesn't seem to be causing a problem. :-)
Glade won't be sucked in, but rather libglade. libglade has about two function calls in the whole library; all it does is load an XML file generated by the Glade GUI builder. It uses the file to create widgets for your user interface. You can avoid writing widget-creation code; you just have to write the callbacks that actually implement the functionality of your application.
There is some amount of performance overhead but it is fairly small and only at application startup time; once you've loaded the widgets, they are just as fast as they would be if hand-coded. There are also some performance advantages:
- You can often halve the number of lines of code in the application itself, thus reducing application size.
- You save tons and tons of programmer time, so hackers can focus on optimizing the truly time-sensitive portions of the application.
If speed becomes a genuine problem we can implement a way to "compile" the XML files into some kind of high-speed binary format I guess. That would be pretty trivial and would avoid the XML parser overhead. But as I said, we're already using libglade in several places and I haven't noticed a speed problem.
Next week: Eric S. Raymond
Re:What's up with Enlightenment and Imlib referenc (Score:1)
Here's how it looks to me. (a) is a bug, bugs should be fixed (b) is a planned feature for Imlib 2.0 I thought, and (c) sounds like gnome-specific enhancements. Why not just work with E people on Imlib 2.0 ?
Actually it sounds like Imlib was only used in the first place as a fill-in, and now the real stuff is being written. Is there a chance to make the new stuff robust enough and non-gnome-specific enough that the E people will want to use it? Wider use catches more bugs faster.
The other reply mentions that Imlib code is a mess, but is it really less effort to rewrite than to clean up. (sometimes it is so this is perfectly possible).
Just some thoughts,
-Dean Townsley (slashdot ate my account)
Seg Fault Dialogs need Themes :-) (Score:1)
Check it out now (Score:1)
where #gnome channel? (Score:1)
Re:What's up with Enlightenment and Imlib referenc (Score:1)
Re:E's reason for existance (Score:1)
Re:Where can I get some good info? (Score:1)
Re:What's slow in GNOME... (Score:1)
sorry but I have to agree that windows 95 is probably faster than X on a 486 at doing certain things. i havent timed anything (I dont have my 486 anymore
the quickest "feeling" graphical interface i have seen actually seems to be Windows NT 4.0. by this I just mean in window redrawing (sizing, moving etc). the OS itself is still pig slow at swapping, and swaps quite a bit more than it should with my 96 meg work machine.
regardless, i can live with X. it is *fast enough* and much more useful than any NT machine
Re:Learning Python (Score:1)
Read those and browse the Python library documentation.
The best way to learn Python is to start writing some simple programs. For example, I often find myself needing to munge some text file in a particular way, so I'll write a little throw-away Python script to do it.
It also helps to have an editor with a good Python mode (I use emacs). Python 1.5.2 comes with an IDE called idle (after Eric Idle).
If you find that you like it, invest in the _Learning Python_ book. You can get it for less than $25. See
http://www.bestbookbuys.com/cgi-bin/bbb.cgi?ISB
Re:A KDE User's Take on GNOME (Score:1)
Have you been paying attention? Havoc's introductory GNOME text was just published. That's why he's being interviewed here.
Also, the gnome panel does have drawers. Still, I wish the panel had been more like the TkDesk dock.
Re:Nice feature :-) (Score:1)
Seriously, you can set the environment variable 'GNOME_DISABLE_CRASH_DIALOG' to 1, and it will disable the dialogs.
You do know that if you don't report crashes, they are hard to fix, right?
Re:I hate to ask a newbie question... (Score:1)
1.0.40 RPM's aren't there yet, but my guess is that they will be soon.
Re:"September GNOME" -- just so no! (Score:1)
Profiling Bonobo, Preening Bonobo, Superstitious Bonobo, Simplified Bonobo...
(ok the last 2 were gnumeric)
Anyway, you can call it 1.0.50 if you like
Re:What's slow in GNOME... (Score:1)
Jason.
Re:"September GNOME" -- just so no! (Score:1)
Of course, you can still have nicknames as well as version numbers.
hmm... (Score:1)
ex: load less libraries, etc.
or resort to a different style: perhaps a windows-style or beos-style preferences interface.
the windows-style interface solves the ui problem by actually suggesting to the user that the different control panel elements _WERE_ different programs. (window with icons resembling program shortcuts) this slowed down actual use, because you had to contantly refer back to the master window, but it allowed you to have many applets open at once.
the beos-style interface goes about it in a similar manner. the menu of preferences suggests that the different prefereces dialogs were different programs. this actually is better than the windows approach because the menu is always present, and always referable. this also incorporates the ability to open more than one at once.
gnome already implements beos-style mostly, but that menu should be more organized and intuitive.
in my opinion, if _ANYONE_ is looking for intuitive, usability ideas, look at beos, it is THE most intuitive and smart interfaces i've ever seen. you don't think about what you're doing to the interface, you just do it.
control-center (Score:1)
my interpretation of the control-center is that is it _TOO_ modularized. everytime your click down on another tree entry, it RUNS ANOTHER *_capplet (control-center applet). these are nice for adding functionality to the control-center, but it shouldn't have to load them while people are pursusing the tree. the response time is due to the fact that it has to load it from disk and then run that program.
a nice configuration system that is designed similarily (front-end functionality, not back-end) is the x-chat configuration dialog. same tree, same feel. the difference is that it's part of the same program, it's already running, all the elements are already in memory.
E's reason for existance (Score:1)
I have yet to find beautiful Unix widget sets - even my beloved SGI falls short by using Motif. The only beauty I find in Unix are SGI fonts and Enlightenment widget designs.
I think there's room for an Enlightenment widget set, for those who think computing should be gorgeous. Remember, if you don't want them, well, don't use 'em.
D
----
Re:What's slow in GNOME... (Score:1)
Windows95 was essentially unusable on any 486 - I still remember the start menu taking ages and ages to come up.
I don't know how much better or worse Gnome would be; my guess is that neither would be considered even vaguely acceptable on either system.
D
----
Re:control-center (Score:1)
Re:What's slow in GNOME...try win95 (Score:1)
Calm down, you might get an ulcer or something
Re:What's slow in GNOME... (Score:1)
This is not a flame , just another fact to consider for those who continue to imply that X is just as good or even better than Win32 graphics subsystem
Re:Goodbye E (Score:1)
That's quite stupid. There are at least two small and very efficient widget libraries (FLTK and Windowmakers Wings ) available and what do we have here ?? Raster will come up with another set....
I think I will puke next time I hear somebody mentioning that open source facilitates source code reuse
Joke.
cross platform (Score:1)
I would like to know how distributed GNOME can get corba allows things to be placed any compont on differant systems
I understand that GNOME used a file instead of doing things so that they may be located on machines across the network has this changed ?
alot can be learned from microsoft's experances with the registery !
It seems that @ the moment the idea of a sudo registery to aid install and management in large role outs is sort of tacked on the end, are people actualy takeing this seriously ??
in order to convince people at my UNI remote admin through a simple interface so that people have only to do so much customisation to achive a look and feel of enviroment is standard.
fo instance a machine on an Arts course would like all options on the GIMP while a Software Engineering course would prefer that GIMP and funky things be hidden and Documentation for codeing be very apparnt much can be learned from the way windows 2000 regitery is set up and why it is that way. They have had alot of problems achiveing a dynamic desktop acording to the user and not the machine.
also no word on what GTK port to windows and wether parts of code would be able to run on windows or any other O/S due to corba
overall I would like to comend Mr H. Pennington on his answers
regards
john
a poor student @ bournemouth uni in the UK (a deltic so please dont moan about spelling but the content)
Re:Goodbye E (Score:1)
Code reusability comes from coding great modularity. Which is why toolkits exist today. Otherwise everyone would have to write their own for each individual application. People *still* have the OPTION to do so, however it is easier for most people who might want to struggle with just getting the core components of the application finished that their themeable interface doesn't take years to finish. The reason why the filemanager looks to use a new set of widgets is largely reusing the widgets created for the new configuration features of Enlightenment (this is all my speculation, I don't actually know any of this stuff for sure since I'm not exactly a developer...:)
WindowMaker's WINGs toolkit has been used to start several different filemanagers, but the most you can do with it is something that ends up looking like WindowMaker. And to people in the Gnome and KDE camps, they'd rather see all their applications LOOK THE SAME, and work relatively similar to the rest of their desktop environments. A seemless experience with minimal re-training time when installing and using a new application for the first time is an admirable goal.
Re:observation of gnome community (Score:1)
Having said that, GNOME is much more than just a desktop or a set of applications. GNOME is an application development framework. I think it's crucial that this is a very solid framework. That's why seeing the work being done on the libraries and things like Glade is so exciting for me.
--Jamin Philip Gray
jamin@DoLinux.org
Re:Not-so subtle FUD. (Score:1)
--Jamin Philip Gray
jamin@DoLinux.org
Re:Not-so subtle FUD. (Score:1)
--Jamin Philip Gray
jamin@DoLinux.org
Re:Nice feature :-) (Score:1)
*SMACK* me now!
Erm, report crashes? Naw... I just try to fix 'em myself... which of course, only leads to more crashes
--
- Sean
Re:Nice feature :-) (Score:1)
I mean, sure I can, and the ability is nice and all, and yes, it's something I'd be able to do.
But not for a lot of people. And if everyone else's performance is anywhere near mine (just look at the tty you started X from for a laugh), then I'm not the only one who this would be an issue for.
Now, granted, it's better to fix the problem than the symptom, for sure. Much better to fix the crash than hide the segfault, but I still think that it would be good... especially for non-programmers and newbies, to have an option where they wouldn't have to suffer from clicking another msgbox every coupla minutes.
Argh, enough ranting for now
--
- Sean
Re:Nice feature :-) (Score:1)
I get so many segfaults when I run GNOME... it seems that about 70% of my programs crash on exiting. For the most part I don't care (yes, I'm sure this is an indication of a more serious problem somewhere), since they're exiting anyway, but I sure as hell don't want to click on a stupid dialog box every time this happens...
Please tell me I'll be able to turn this off somewhere!
--
- Sean
Re:Not-so subtle FUD. (Score:1)
I've tried to stay out of the flame war for a long time now, but.
I think you're reading more into this than is actually there. I'm sorry... I don't see anyone saying that GNOME is superior because of anything.
What people are saying, is simply that GNOME tends to focus more on the developer community, and KDE caters more to end-users. That both have their strengths and both have their weaknesses.
I don't see this as favouring either one or the other. People are trying to be equitable, and all of a sudden you come in accusing people of KDE-bashing.
Sorry... I don't see it.
All I see is a bit of paranoia on your part -- I'm sure it's not intentional, but you seem to be escalating an even discussion into a flame war. Which no-one really needs.
I think more could be accomplished by following the lead of Havoc, and other developers on both sides, and trying to bridge the gaps -- combine the best of both so they work together, rather than get all high and mighty, and fanning the flames even more.
KDE is superior in many ways. GNOME is superior in many ways. Lets' work so that we can use both, and harness the power of both, ok?
--
- Sean
Goodbye E (Score:1)
Some versions of E do some things slowly.
Sounds like E and RH are about to part ways.
---
I like the name (Score:1)
I hate to ask a newbie question... (Score:1)
I could compile everything from source, but I have a slow connection and don't feel like downloading it.
Thanks,
JMC
Re:"September GNOME" -- just so no! (Score:1)
Re:Gnome performace... (Score:1)
My own system (an old Compaq P100, 32MB, 2MB Matrox Millennium) seems to run Gnome much faster than KDE (default settings - even with E as gnome's WM).. window resizing & moving seems snappier, and the system just feels smoother..
I still use both of them (not at the same time though
It would be interesting to try Gnome using Kfm for both help browsing and for desktop icons, since gmc is quite heavy.
I tried using KWM and KFM under gnome (also tried Blackbox, with and without the gnome-patch), but experienced frequent crashes; I don't know whether this is something to do with my setup (libc5) but I don't care too much; I just don't use them together anymore
Re:Speaking of languages, here's the Haskell URL (Score:1)
Re:A KDE User's Take on GNOME (Score:1)
using the mouse, or get out of my way!
:))
Re:Process to select questions? (Score:1)
Gnome performace... (Score:1)
Switching to the default theme helped. I also dumped E and switched to wmx [all-day-breakfast.com] (which is only 82K compiled with Gnome support, no pixmaps, stripped).
The other big gain was setting the default help browser from Netscape to the gnome help browser. (For some reason the control center wouldn't let me do this at first, I eventually editted a text file. It works now). The help browser has some limitations, most noticably no new window on button2, but is OK in general. It would be interesting to try Gnome using Kfm for both help browsing and for desktop icons, since gmc is quite heavy.
Having said that, I never tried themes under KDE, so I don't know if it has the same difficulties. I recently added a cheap 16Mb dimm: having 48Mb makes all the difference.
Re:A KDE User's Take on GNOME (Score:1)
I'd like a panel setup that had several drawers of grouped functions ala CDE instead of one awful Cascading Menu From Hell known as the "Start Menu".
You can do that. Open a foot menu, open desired submenu, drag the title entry (first entry in a menu) and drop it on panel. Or click with button3 on this title entry, and add it via context menu, as drawer or menu. You can set it all up as you want. Then you can even remove the foot icon entirely, I don't recommend it, though.
Another thing I'd like to see is a popup "run" menu, like KDE's alt-f2 or window's meta-R.
It's up to window manager, not desktop environment to deal with global key bindings.
The focus issue you expirience, is also problem with window manager. I bet it'd take few lines of lisp code to get sawmill giving focus immediatly only to windows which match some regexp.
Re:Process to select questions? (Score:1)
Where can I get some good info? (Score:1)
Where can I find intelligent discussions / articles about developing commercial apps with GPL / LGPL licensed programs.
P.S. I do contribute to "free" projects and would like to use these devel. tools for some commercial projects (because many of my clients have policies in place to avoid getting tangled into any unknown licenses)
Bottom line is: I can't give these people straight answers regarding GPL and LGPL and I would like to.
Thanks
Re:where #gnome channel? (Score:1)
Interested in license issues please. (Score:1)
Re:What's slow in GNOME... (Score:2)
I'd recommend turning the "store menus in memory" setting in the global panel preferences to on.
Also, putting the system/user/etc menus as submenus speeds up the initial draw.
The problem is that there is a lot of disk access involved, my guess is that this will be improved in 2.0.
Hey Havoc, I missed the question period.. (Score:2)
In general -- what's the situation?
Daniel
"September GNOME" -- just so no! (Score:2)
Please don't do this. Stick to regular version numbers. Since Win95, everything has started using a date to signify versions, and it sucks. October GNOME could have 3 typos corrected over September GNOME, or it could have 50,000 extra lines of code. There's no way to tell how whether it's a major new release of not. In contrast, 1.1 is a fairly good clue that nothing major has changed since 1.0, while 2.0 usually means major new functionality.
Re:What's up with Enlightenment and Imlib referenc (Score:2)
--
Geoff Harrison (http://mandrake.net)
Senior Software Engineer - VA Linux Labs (http://www.valinux.com)
Re:Goodbye E (Score:2)
--
Geoff Harrison (http://mandrake.net)
Senior Software Engineer - VA Linux Labs (http://www.valinux.com)
Re:Goodbye E (Score:2)
Personally I use a mix of the Blackbox WM on my Sparc (small and fast) and E on my laptop (big and baroque). The file manager that may go into E would no doubt be seamless and well designed - but adding any further functionality to the WM has to be questionable.
Chris Wareham
Re:Learning Python (Score:2)
The official Python tutorial is on-line [python.org], and there are some other intros here [python.org].
I know you said you're a broke student, but if you can save up enough Ramen noodle wrappers, consider David Ascher's excellent "Learning Python", which O'Reilly recently put out.
For Python/XML, I'd of course advocate my company's open-source 4Suite [fourthought.com], but the XML-SIG [python.org] also has an excellent package.
If you have any questions, try the XML-SIG's mailing list, where many python/XML gurus hang out.
Good luck.
--Uche
Re:Thoughtful and Informative (Score:2)
I do get quite weary of explaining that Python is _much_ more than a prototyping or scripting language. I have used it in place of C++ (my favorite before ANSI got their hooks in it) and Java many times over and I see it fully as an application programming language.
--Uche
Re:A KDE User's Take on GNOME (Score:2)
Grog no understand, Grog have desktop, but desktop no work way other desktop work. Grog want feature in desktop and Grog not care what part of desktop do what part.
Now if SawMill can do that, then it already sounds a lot more powerful than E, and I might suggest that gnome ship with some keybindings that do all that. Matching a window by its title does not seem to be the most elegant way of doing this. Something on the order of xtoolwait that gives me the windowid of the newly mapped window would be far more preferable.
A KDE User's Take on GNOME (Score:2)
It's not bad now. It's definitely a lot faster. E is even respectable looking, though I have plans to replace that with Sawmill. What with the million and a half language bindings for gtk+, I definitely can't hold the language card over its head. But I still have some issues with gnome. Mind you I have 'em with KDE, but this isn't a KDE forum at the moment:
DOCUMENTATION!!!: I can't say it enough. The state of GNOME's documentation, from gtk to everything else, is pathetic. The KDE classes themselves aren't always terrifically documented, but Qt's documentation is phenomenal. Make no mistake, GNOME has irretrievably lost potential developers because they couldn't get the documentation they needed. This has to be addressed. Raw API docs don't cut it, examples and introductory texts are essential.
If you're shamelessly ripping off items from other desktops, here's something to take from CDE: I'd like a panel setup that had several drawers of grouped functions ala CDE instead of one awful Cascading Menu From Hell known as the "Start Menu". Take this from CDE: create drawers that have an icon that when clicked, start the app, and an arrow *above* them that opens the drawer. Have drop targets in all the drawers that can add a new item to the drawer. Allow setting any item in the drawer as the launcher icon. CDE is otherwise an awful cumbersome piece of junk, but this feature is just so amazingly ergonomic and useful. You work for Redhat, they have to have an old copy of TriTeal CDE sitting around: boot it and learn it.
Another thing I'd like to see is a popup "run" menu, like KDE's alt-f2 or window's meta-R. See, I bound this in enlightenment to a key, but it tended to launch an instance of the launcher every time I hit the key, in a random place, then didn't give it focus. If I set E to give it focus, I would have to make it give *all* popups focus. Alt-F2 is probably the single reason I still run KDE (and now it's gotten buggy with focus problems that it's losing its worth).
Re:Nice feature :-) (Score:2)
I have a friend who has an Imac, which will say customizable random things for different error conditions. I almost fell off my chair when I heard it say:
"Well, at least it's not the dreaded Blue Screen of Death..."
hehehe
Ben
Re:Learning Python (Score:2)
Speaking of languages, here's the Haskell URL (Score:2)
Most of you have probably heard about Python, Perl, Java, and the other languages Havoc Pennington mentioned in his answer to the potentially flame-inducing "what's the best language" question. Here's the URL to the Haskell Home Page [haskell.org] that has lots more info on the language and down-loadable implementations of Haskell compilers and interpreters.
It might not be the language for everybody, of course...
King Babar
Process to select questions? (Score:2)
I thought that the questions with the highest scores would be sent to the person that's being interviewed.
However, I notice that Havoc answers questions that had a score of 3, while a lot of the questions with score of 4 are not answered. Does the person who is interviewed select the final questions?
Mvg,
Ivo
Re:Goodbye E (Score:2)
Does it matter though? Raster and Mandrake have said over and over again that they will add whatever features E needs in order to be the wm with the best options/configurability. For example, take the kde support in the dev 16 snapshots. Most E users really love E, and if a new desktop widget comes out that does not yet have E support, I'm sure that someone will step forward to code it.
Re:Please add this feature: (Score:2)
Re:Goodbye E (Score:2)
Re:Hey Havoc, I missed the question period.. (Score:2)
Re:Interested in license issues please. (Score:2)
GNOME can be used for proprietary software without any fees. However, this is not legal advice and you should read the GNU Library General Public License and understand how its terms apply to you.
Re:What's slow in GNOME... (Score:2)
Right, the panel menu has problems. It is actually checking for newly-added entries, which appear dynamically. So it's doing a bunch of slow filesystem access. But this feature probably isn't worth the speed hit.
We'll definitely want to look at fixing this code for 2.0.
The control center could use some optimization as well, you're right.
What's slow in GNOME... (Score:3)
By far the most obvious one is the time taken for the Gnome start menu to become visible. No, I haven't timed anything, but it should appear almost instantly, even on low-end hardware. It's slow whether I click the foot on a panel, or bring it up from within E -- BTW, I find E to be more than fast enough for everything else. It's slow whether I use the default theme or pixmap themes. Using my preferred wm (fvwm2) doesn't help, either.
There's also the Gnome configuration utility. It redraws things *far* too much. This could be an inefficiency of gtk+, or it could just be that Gnome uses gtk+ calls in a less than optimum way.
I have more than enough memory (128MB), and a fast video card (Matrox G400), which I'm using with the XSVGA-3.3.5 server. Yes, G400 support is relatively new, but it draws on the previous G100/G200 support, and is fast enough for other things.
Re:What's up with Enlightenment and Imlib referenc (Score:3)
--
Geoff Harrison (http://mandrake.net)
Senior Software Engineer - VA Linux Labs (http://www.valinux.com)
observation of gnome community (Score:3)
I just wonder if GNOME will reorient itself to the userbase, instead of technical white papers a mass fury of user level documentation and support would really help out GNOME, IMO.
just my
-doobman
Re:What's up with Enlightenment and Imlib referenc (Score:3)
dons nomex suit
d) Imlib is one frightening piece of code. I wouldn't want to be one to help maintain it
(that, and the use of X calls in the 'gdk_imlib' portion of Imlib also made my life miserable as I played with win32/other non-x ports...)
--
"... the deep things in science are not found because they are useful; they are found because it was possible to find them."
Re:I think you hit the nail on the head (Score:3)
I think you just nailed the biggest difference between Gnome and KDE at the present time! It also shows in other areas. KDE got the UI complete first (1.0) and left a lot of the advanced underpinnings for later (2.0). Gnome did just the opposite. With only a very few exceptions, everything in KDE is accessible via the keyboard, but in Gnome there are many applications that are unusable without a mouse. However, Gnome has myriads of bindings but KDE is still 95% C++.
Here at work, those people that use KDE are the ones that need to get their work done. Those that use Gnome are the Linux "evangelists". I'm using WindowMaker.
What's up with Enlightenment and Imlib references? (Score:3)
His comment about needing to pick a default window manager which they have more control over is disturbing. And why replace Imlib? It seems great to me.
Anyone familiar with the merits of gtk-pixbuf know why?
Re:Process to select questions? (Score:3)
Re:Process to select questions? (Score:4)
Thoughtful and Informative (Score:4)
This, however, I think may have been the best of them. The moderation system forwarded a very even-handed and broad set of questions, and H.P.'s answers were clearly well though-out.
I'd also like to note that H.P. helps give the lie to attempts by some to paint the entire GNOME movement with a broad brush of script-kiddie dilletantism. Miguel has made some unfortunate comments about KDE in the past, and there are several trolls in various GNOME lists, but in my general ovservation, the GNOME developers are smart, focused on GNOME, cognizant of its shortcomings and willing to go to extraordinary lengths to eliminate them, including cooperation with KDE where appropriate.
I've had a chance to look at KDE 1.1.2, and it is an excellent desktop. GNOME is my desktop of choice, but I can see how the competition has improved both. There is no doubt that GNOME has more rough edges than KDE, but as a developer, I find GNOME more interesting and faster-moving than KDE. I am very excited about libglade, Bonobo and libxml. The embryonic Orbit bindings for Python open up endless possibilities in my favorite language. Openparts is the KDE phenomenon that most piques my interest. All I know is that the Linux desktops are implementing what IBM, Motorola, Taligent, Apple, Microsoft, etc. only talked about, fought over and roundly politicized, and I'm very excited to be a part of real progress.
So thanks to Slashdot, H.P., The KDE and GNOME developers. Thanks to the eternally vilified Red Hat and Troll Tech. And let's get on with the work.
--Uche
Nice feature :-) (Score:4)
tell you when apps have crashed"
I'd like these to be full screen and blue if possible. Just for fun.
Greetings,
Ivo
Re:What's up with Enlightenment and Imlib referenc (Score:5)