Slashdot Mirror


Dave Mason On GTK+ 2.0, Pango, Gtk And More

Ur@eus writes: "We [at Linuxpower] have just put up an interview with David Mason of Red Hat Labs. David answers questions on plans for GTK+ 2.0, Pango, GtkFB, GNOME and Orbit 2.0. Lots of interesting info if you want the scoop on whats moving on the infrastructure front of GTK+ and GNOME." There's a lot here on the immediate future of those projects here, including some information on what features will distinguish GTK 2.0, and unfortunately only a teasing reference to adapting the ultra-cool aRTS project for GNOME. (That in particular makes me drool.)

25 of 77 comments (clear)

  1. Gnome Performance and Memory by Anonymous Coward · · Score: 2

    Let me preface this by saying the flamers will tell me to rip out my code profiler and start doing it myself. To them I say, I am already working on it. But my limited knowledge of Gnome/X programming means I have to teach myself how to do it before I can be productive.

    My biggest complaint about Gnome and GTK is that it is getting extremely bloated extremely quickly.

    For example, I have a Dual Pentium 100 machine with 64 megs of RAM. I was running what started out as a bare bones RedHat 6.2 install. I then proceeded to download X 4.0.2 from XFree86, and Helix Gnome (Now Ximian Gnome) which is better then the stock Redhat 7 install, but still quite bloated.

    On this system, all 64 Megs of RAM were consumed by Gnome and X, and a substantial portion of the virtual memory. However, on my Dual Pentium III 500 system with 256 megs of RAM, everything runs so nicely. About 180-190 Megs of RAM is consumed with 1-2 megs of virtual memory used.

    The kernel was upgraded to 2.4.0 custom compiled for each machine.

    My point is, someone really has to sit down with the GTK and Gnome libraries and start optimizing them for size and speed. Its starting to get worse then Windows. Windows 2000 runs nicely in 64 megs of RAM on a K6/266 laptop.

    1. Re:Gnome Performance and Memory by bugg · · Score: 2
      Sorry to be pedantic, but.."About 180-190 Megs of RAM is consumed with 1-2 megs of virtual memory used"

      In a modern system, applications only access virtual memory- that's what the VM subsystem handles.

      Perhaps you mean swap?

      --
      -bugg
    2. Re:Gnome Performance and Memory by be-fan · · Score: 2

      No, he's right. Virtual memory is a combination of both physical and swap memory.

      --
      A deep unwavering belief is a sure sign you're missing something...
  2. Re:slightly OT - ARts website and the GPL by Chuck+Chunder · · Score: 2
    No, under the GPL you must release source code along with any changes. There's nothing in there requiring you to make your changes public.
    Even that isn't correct. There is no compulsion to automatically release source code along, you only have to offer to release the source to anybody you distribute binaries too (and follow through on that offer if and only if someone requests the source).

    However it is normal to make source freely and immediatly available just to cut the administrative overhead of fulfilling your obligations under GPL at a later date.
    --
    Boffoonery - downloadable Comedy Benefit for Bletchley Park
  3. Are you using top to do this? by yerricde · · Score: 4

    On this system, all 64 Megs of RAM were consumed by Gnome and X

    One of the fastest forms of interprocess communication under Linux is shared memory. However, top reports shared memory use incorrectly. For example, if two programs are loaded into RAM, and each is using 16 MB (8 MB for itself and 8 MB shared between the two), top will report 32 MB in use instead of 24. Under Linux, processes and threads are pretty much the same except that threads share memory; top barfs on multithreaded applications such as Mozilla. When X is running, top also reports your video card's RAM as in use by X and whatever apps are using MIT Shared Memory for their pixmaps.

    someone really has to sit down with the GTK and Gnome libraries and start optimizing them for size and speed

    Another example of the shared memory bug in top is in libraries. Under Linux, a library's code segment is marked read-only; it can be shared among several processes, making top misreport the memory the library is actually using.


    Like Tetris? Like drugs? Ever try combining them?
    --
    Will I retire or break 10K?
  4. Re:Default look by gallir · · Score: 2
    I don't see what's the point discussing about the look, if there are other more interesting things to discuss.

    IMHO, bith GNOME and KDE are not being very creative in the definition of a modern GUI, but following the old path already walked by Xerox/Smalltak, Apple, X11 and Windows.

    What's new up in the desktop and user interface? Themes? Is that the most notable achievement?

    Indeed, companies as Helixcode are not very innovative in their products. The only really new thing they've created is their new trendy name -Ximian.

    It's not only me saying that, in every Icasa's interview he _himself_ says that they are reproducing icon by icon, step by step, cell by cell, MS programs (bloats and bugs...).

    The GUI is going the change drastically in the following years, and OS companies are copying very old user interface paradigms and adding bloat and bloat: super colourful icons, themes, skins, gadgets, widgets and the slashdot news strip. But the basics are still the same, square windows and a 3 buttons mouse (well, sometimes) that still is useless for copying 7 bits ASCII text from a text editor to a text box in the browser.

    What's about smart popups, sound, speech recognition, touch screens, smart desktops with really new capabilities (it seems that Apple is going in this direction) to organise documents in a more useful way to the user than the old and annoying tree-like folders and files and the always hidden trash bin?

    What's about a CSCW desktop where you can share your documents, calendars, music, photos with your colleagues without starting 18 different programs and FTPing files to a server because your mailserver doesn't accept more than 3MB?.

    GTK, GNOME, KDE or Ximian, still _very_ old paradigms with nicer memory eating and eyes hurting icons.

    I see the next innovation will be the task bar in diagonal instead of the oldfashioned horizontal or vertical one.

    --ricardo

    --
    sgis ddo ekil t'nod i
  5. Re:pango by josepha48 · · Score: 2
    yes.. like that.. as part of the default gtk+ widget set??.. that and if they make sockets a little easier, then, I'll build my own damn web browser.. somethink a step up from lynx, but just a browser.. with some neat features too.. I have ideas now.. maybe after the gtk+ 20 release, I'll build a browser in a weekend...

    I don't want a lot, I just want it all!
    Flame away, I have a hose!

    --

    Only 'flamers' flame!

  6. Looks much better by GCP · · Score: 2

    One thing unix people seem not to realize is that the look of Windows (and Mac before it) is constrained by the need to be usable on very low quality monitors and by people with limited vision. (On unix, users of low-quality monitors tend to just stick to the CLI.) Both companies did a great deal of research on usability of this sort, and it's a professional touch that is seldom recognized by GUI amateurs. Black checkmarks against white backgrounds, for example, are designed to be visible on 2-color monitors, or by people with very poor eyesight. "Graceful degradation".

    It's not surprising that the platform that expresses the greatest scorn for the value of GUIs shows the least understanding of them. Nevertheless, Linux GUIs are growing up. Clearly, people with real GUI expertise are joining the kernel experts who started this new platform, and I have every reason to hope that eventually Linux may boast the best GUIs of any platform. (I say this because I think Win & Mac really need to stick with a single, consistent GUI, while Linux can fork into the OS for all sorts of devices with different constraints and different high-quality GUIs for different users with different needs.)

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  7. I am fixing this--by forking GNOME (long and OT) by Ukab+the+Great · · Score: 3

    I am currently working on a fork of GNOME that replaces the broken UI concepts from Windows with sound UI concepts from the macintosh (e.g. alt command keys instead of ctrl, global menubar, obeyance of fitts law, etc). So far, I've gotten it to the point where recompiling code that uses gnomeui macros produces mac shortcuts, gets rid of those underline accelerators that clutter menus (yes, I'll come up with a better non-mouse solution), and puts the cancel button in dialogs on the left and ok on the right, as is consistent with the western concept of negatives being on the left and positive being on the right. Cancel and OK should be replaced with more descriptive terms, but first things first. As for the problems with consistency between applications, I'm also working on "porting" (for lack of a better term) the code of many GNOME programs to a usable and consistent state. All menus, keyboard shortcuts, dialogs, for similar features will be consistent across apps. I'm screwing with people's code because they didn't screw with it enough.

    Why am I doing this? Isn't forking counterproductive? Of course it is. But I am very greatly disturbed by Miguel et. al duplicating many of Microsoft's UI mistakes. When Microsoft designed the windows UI, they made a lot of decisions that were based on being different from(and in some cases, the exact of opposite) apple. The problem with this was that Apple put many years of HCI research into the design of the MacOS UI. By doing the exact opposite of apple of what apple did, Microsoft was going directly against interface designs that were scientifically proven in usability labs to be more effective, efficient, and intuitive. For example, it has been proven that an application menubar at the top edge of the screen can be accessed much faster than a menubar on the window of each application. This is not UI dogma or personal opinion, it's proven fact. But microsoft didn't care about end user's experience, they cared about their legal status. So they ended up throwing efficiency and usability out the door and doing the opposite of what was proven to work. The list goes on an on, ad nauseum. And when GNOME blindly copies the Microsoft (Where do you think the "Exit" menu item came from? The 'Q' in ctrl+q stands for something), they are perpetuating UI mistakes that need to be put to rest. GNOME should be about creating and designing new and improved user interfaces, not perpetuating bad decisions made in the past. I won't be party to putting users through another 10 years of UI misery to keep backwards compatibility with a backwards design.

    I'm not saying that my ultimate goal is blindly copying MacOS. The mac interface certainly can be greatly improved upon. But I believe that when a UI builds on someone else's design, that someone else should be someone who knew what the hell he was doing. Microsoft does not fit that description, and Apple fits it better than anyone else who has yet come along.

    I know that talk is cheap until you back it up with code, so no one will probably take me seriously. But it won't be too far into the future that I'll post a devel version of the modified gnome-libs and gnome-core on freshmeat. This UI insanity has to be stopped.

    In five seconds the PenguinCow revolution will begin...

  8. Re:The theming engine needs modification by Nailer · · Score: 2

    Most people don't realize Windows uses twot oolkits

    What are you jibba-jabbering aboot?

    `Windows' meaning the average Windows users applications, not the Windows itself. I thought the meaning implied was obvious.

  9. pango by josepha48 · · Score: 2
    They didn't mention that pango should bring gtk a better text widget. Pango should supply a text widget that actually has horizontal scroll bars, and better performance. This is good as it will make the text editors in gnome/ gtk better, more usable. Hopefully it will make it easier to make a html widget for gtk / gnome, that will give gnome a lightweight web browser (that doesn't require mozilla to be downloaded).

    I don't want a lot, I just want it all!
    Flame away, I have a hose!

    --

    Only 'flamers' flame!

    1. Re:pango by Guy+Harris · · Score: 2
      They didn't mention that pango should bring gtk a better text widget. Pango should supply a text widget that actually has horizontal scroll bars, and better performance.

      Umm, what makes you believe that Pango has anything to do with any of the stuff that the new text widget does better, other than stuff involving, well, displaying text in various languages?

      Hopefully it will make it easier to make a html widget for gtk / gnome

      You mean a widget such as GtkHTML?

  10. Re:Default look by Havoc+Pennington · · Score: 5

    GTK 2 will have a different default look; to get an idea what it will be like, try the "Raleigh" theme Owen released for GTK 1.2, which is sort of a prototype for the GTK 2 look. It removes some of the Motif-esque ugliness and looks cleaner. Still a simple, fast theme, no MacOS-X snazziness, but of course the point of themes is that you can switch them. ;-) For the default we want something that will be fast over a remote X display (and fast in general), not use too much memory, and reasonably conservative overall.

    I think it's fair to say that the primary focus of GTK 2, aside from a few major features (Unicode/Pango, text/tree widgets) was API usability. GTK 2 should be a good bit easier to program. Basically as soon as we notice a FAQ or a question with no good answer on the support mailing lists, we file a Bugzilla bug and try to fix that problem via API enhancements. Better to eliminate the need to ask a question than to add it to the FAQ.

    There are also various end-user usability enhancements, such as improved focus handling, etc.

    Specific suggestions are welcome in Bugzilla.

  11. Re:Default look - where? by Tralfamadorian · · Score: 4

    Doh, I meant http://www.gtk.org/~otaylor/gtk/ui


    He who knows not, and knows he knows not is a wise man

  12. Default look by Anonymous Coward · · Score: 3

    I think I am speaking for the large number of GTK+ users when I ask for a more modern default look for the toolkit. As it stands, GTK+ is a mish-mash of Motif, MacOS and Windows. I'm sorry, but even the QT/KDE look is more original in places. If GTK+ is going to make it big, some serious work needs to go into improving the usabilility of the widgets, as well as the API (I want to see a standardised C++ API for GTK+!)

    1. Re:Default look by Tralfamadorian · · Score: 2

      I don't see what's the point discussing about the look, if there are other more interesting things to discuss.

      They're discussing the look because the new look looks much better than the old look. Oh, and the ``feel'' should be better too :)

      I see the next innovation will be the task bar in diagonal instead of the oldfashioned horizontal or vertical one.

      Huh? What is so innovative about a diagonal task bar? I suppose if you don't care whether the innovation is useful, then you would consider a diagonal task bar innovative as no one else has done it. There is a reason why task bars and panels are horizontal and vertical: because that's what people like it (the way we read, etc. How many devices do you own that have a diagonal interface?), and they're at the edge of the screen so that they don't interfere with everything else that one is working on.

      Maybe I'm misunderstanding you, so would you please clarify what you mean by diagonal task bar?

      Also, understand that GNOME/Ximian, KDE serve to make programmers' lives easier, and therefore applications better, not just to be innovative with menu items being made invisible if you don't use them often enough (an MS ``innovation''). :)

      In closing: right now KDE/GNOME don't have much room to innovate with that stuff as they appear to be building a strong foundation first. Understand that the MacOS and Windows OS have been around longer than either of these two products, and were worked on full time during the whole duration of their existance, so you're naturally going to see more innovation from them whilst GNOME is building itself to that point.


      He who knows not, and knows he knows not is a wise man

  13. Further Desktop convergence? by Moritz+Moeller+-+Her · · Score: 2

    Looks like KDE and Gnome might come closer together in the end...

    Arts has been what esd was for Gnome (only more ambitious...). If Gnome were to switch to arts, that would be cool, as all apps would use the same sound server. At the moment you can run an esd with an artsdsp wrapper, but that is a hack.

    Also if GTK2.0 with Inti (?) becomes more C++ caqable, things like gtkembed and so on in QT, could make merging parts of the project easier.

    Great news, I hope the Gnomes will do that.
    --

    --
    Moritz
  14. Re:Foundation Classes by Athos · · Score: 3

    Not quite what you're looking for, but a start: GTKSwing.

    Actually, better yet is Java-Gnome.

    Amazing what you can find on Google with a couple of well chosen keywords, isn't it?


    --

    --

    --
    The Internet is the Suppository of All Knowledge. You get it in the end.

  15. Re:slightly OT - ARts website and the GPL by rgmoore · · Score: 2

    This is at best stupid and at worst counter to the spirit and word of the GPL. There's no point in refusing license to people who won't accept the GPL, because accepting the GPL only grants rights. It's not as though users gain some advantage by denying the GPL- although that also means that adding "you must accept the GPL" is hardly an imposition. After all, as long as the user doesn't try to redistribute the software it's impossible to tell if he's actually accepted the GPL or not. Hell, the GPL itself states explicitly that:

    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program)

    That means that you can't violate the GPL just by running the program, so if you accept that you've agreed to the GPL so long as you comply with its terms, simple use of the program can't constitute a violation.

    --

    There's no point in questioning authority if you aren't going to listen to the answers.

  16. Re:slightly OT - ARts website and the GPL by rgmoore · · Score: 3

    Perhaps you should RTFL. The GPL states:

    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program)
    [emphasis is mine]

    That makes it pretty clear that the GPL does not restrict you from running the program. If you don't want to copy, modify, or redistribute the software you can just ignore the GPL, because it applies only to those areas.

    --

    There's no point in questioning authority if you aren't going to listen to the answers.

  17. Re:slightly OT - ARts website and the GPL by Mawbid · · Score: 2
    The GPL is a license, not a contract or agreement (EULA). It cannot restrict usage. It can only restrict distribution of the work and derived works.

    I am not a lawyer, but I've been here for a while and heard this all before, several times.
    --

    --
    Fuck the system? Nah, you might catch something.
  18. The theming engine needs modification by Nailer · · Score: 4

    There's absolutely no reason why the user the GNOME and KDE projects are aiming for will pick all their applications based on toolkit. In fact, far more likely is that they will piock them based on quality.

    Unfortunately, GTK and QT loook different. Consistency is one of the key ways of getting a user used to your system. There's no reason why a user should change the look and feel of half their application from one program, and the other half
    with another.

    Once that occurs, both projects should write a common set of human unterface guidelines and hash out a set of common controls, UI standards, etc. This may (will) mean modifications to the toolkits to support the samre variety of widgets.

    The GNOME team should focus on making KDE applets integrate into their desktop. The KDE team should focus on making GNOME apps behave the same.

    Both projects are doing fine. Unfortunately, both projects are enhancing the Linux desktop at the same time they are damaging it. MOst people don't realize Windows uses two toolkits - but over time, MFC and Borlands VCL have merged to look and feel acactly the same. Nobody undertands the value of a style guide when the first app is produced. When the second m thirs, and forth app is produced they do. Consistency is important

    Unfortunately both teams seem to have no idea about this, from my investigations and discussion with various GNOME developers and one KDE developer. This is the biggest problem with GNOME and KDE.

    AFAIK there are no efforts to fix it.

  19. Re:slightly OT - ARts website and the GPL by bellings · · Score: 2

    I think he is saying that he will not "license" the program to you unless you agree to the GPL.

    The GPL gives the aRTS project right to do a very interesting things: they have the right to distribute the program to only the people they wants to distribute it to. It does nothing to force anyone to give anything to anybody. If they want to distribute aRTS only to vegetarians, or registered republicans, or people who have given them $1,000,000.00, that's completely within their rights (at least, as far as the GPL is concerned).

    However, the GPL also says You may not impose any further restrictions on the recipients' exercise of the rights granted
    herein
    . So, although the original licensor may have restrictions on who he will give the program to, once he gives it away under the GPL, any recipient under the GPL is explicitely allowed to stick the who thing up on a public archive to allow anyone who wants to pull it down -- whether those future recipients want to agree to the GPL or not.

    Since I'm obviously not a lawyer, I have no idea if the blurb on the front page qualifies as some type of restriction on use, or if the aRTS project is themselves in violation of the GPL just by virtue of their public misunderstanding of the license of thier own software.

    --
    Slashdot is jumping the shark. I'm just driving the boat.
  20. Re:KDE is more popular by Skeezix · · Score: 2

    I stand corrected on that point. I've never actually used Debian, but had heard from somewhere that it shipped with Gnome as the default.
    ----

  21. Re:KDE is more popular by Skeezix · · Score: 2
    It is the default on just about every distro except for Red Hat. Whoever keeps saying that KDE is less popular or is dying out or fading away is clueless.

    Not true. There are at least 3 major Linux distributions that ship with Gnome as the default (Redhat, TurboLinux, and Debian), IIRC. Also, HP and Sun have both made announcements that they will be shipping with Gnome as the default environment replacing CDE on HP-UX and Solaris respectively. Dell has also made an agreement with Eazel to ship Gnome + Eazel's NUE (Network User Environment) based around Nautilus on it's Linux desktop and notebooks offerings. With these announcements and others including the fact that Sun, Eazel and others are unifying around Gnome's component architecture, Gnome's future is quite bright.
    ----