Slashdot Mirror


The State Of The GTK+ File Selector

Anonymous BillyGoat writes "The next stable release of GTK+ (from the 2.4x series) will have a new file selector, and of recent, a lot of activity has been going on around that. One of the GNOME artmasters, Tigert, has released a mockup of the new file selector and the GTK developers are busy working towards that. Meanwhile the people from OSNews have some other ideas, while an OSNews reader has made even better mockups."

18 of 701 comments (clear)

  1. I need to ask by Xpilot · · Score: 4, Insightful

    Why is it everyone gets the hang-ups over a freakin' FILE SELECTOR? GNOME critics will always say "GNOME is the worst DE in the universe! It sucks! Why? Because... it has...uh... a lousy...FILESELECTOR! Yeah, thay's it".

    Now that the fileselector is improved, what will you bitch about now?

    --
    "Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
    1. Re:I need to ask by 0x0d0a · · Score: 4, Insightful

      As it happens, I like to GPL my code.

      However, I'm not married to the GPL. There are some things that I want to be able to put in the public domain or BSD license, and some that should be LGPL. Furthermore, there are people (very prominent open source folks) who do not like using the GPL and do not use it.

      TrollTech's licensing scheme does not allow that.

      For a random minor library, this would not produce much of a stir. However, TrollTech is trying to maintain license control over what it tried to push as the standard widget set for Unix. To me, this is the next closest thing to trying to use libc as a lever (since this is fundamental for any standard GUI app). We already went through far too much pain with Motif to want to do it all over again. It just isn't worth hassling with.

      Furthermore, TrollTech no longer produces a GPLed Windows Qt version. You want to make cross-platform software (which is free using GTK+ or Swing or whathaveyou), you need to purchase a license. Again, many folks don't care, but some do.

      A lot of folks take a moralistic stance -- "look, TrollTech has a right to make money *somehow*. What do you propose they do, just give everything away?" I simply can't accept one organization being able to use such a fundamental thing as the standard widget set on a platform as a club. If that means that we can't have a corporate-provided widget set and need to use a volunteer-produced (actually, a number of companies fund GTK+ development, so this isn't entirely true), then so be it. It's been done many times on Linux, and can be done with a widget set as well.

      The sad thing is that many folks that intensely dislike Qt have no problem with KDE. KDE gets a lot of crap that really derives from the choice of Qt as a widget set. However, if you use KDE, you're stuck with Qt, so there isn't much choice.

      The C vs. C++ thing is also tough. I suspect a lot of people feel some sort of strange allegiance to the "traditional" Unix way, and believe C solves all problems equally well as C++ because hey, that's what Unix (and Linux, and so forth) uses. This just isn't true, of course, especially when it comes to reusability.

      At one point, I would have agreed with you. However, with C++, I simply have not seen the code reuse benefits. The C++ code reuse model (and to some extent, OO in general) requires a huge amount of work, essentially doing a complete and highly detailed design before beginning any coding. If, at some point, you realize that you've made a small error and need some additional data, your changes may need to be vast and far-reaching. This was a popular design style ten years ago, but currently trendy stuff, like extreme programming involves more iteration.

      Secondly, the STL is not a convincing argument with Qt, because Qt does not make any effective use of the STL, unlike, for instance, gtkmm.

      Finally, while C *is* a specialized language not designed for general application development, that does not mean that C++ is particularly better. I agree that C has a number of flaws as an application language, but C++ does not fix the significant problems.

    2. Re:I need to ask by IamTheRealMike · · Score: 4, Insightful
      Very, very nice work. But the obvious technical merits of KDE aren't enough to convince those who feel irrational and emotional about two things: Qt's "corporate" status, and a visceral hatred for C++.

      What, so the reason people don't use Qt is because they are irrational and emotional? Let me remind you that C++ users can always use GTKmm which is arguably more "C++" than Qt will ever be.

      Let me explain to you why the autopackage project has a very nice GTK2 based front end, and no KDE or Qt frontend. NB: plenty of people have offered to work on one, including core KDE hackers. We never saw any code. Make of that what you will.

      We chose to use GTK from C because:

      - C is a simple language that both me and Hongli (the other principle author of it) knew well. I've done plenty of OO programming in Delphi and Java before but only a little C++. The greater featureset of C++, in this case simply wasn't worth the hassle of ensuring we both knew it well, and weren't churning out constructs that the other couldn't understand.

      It also increased dramatically the number of people that could work on it. Surprising though it may be, not everybody (especially in the unix world) knows C++.

      - C has a stable ABI. For a program that is supposed to work anywhere without recompilation this is a big deal. That won't be an issue in a few years when gcc 2.95 is but a distant memory, but at the moment it is.

      - It required no bindings. You can, of course, use C++ with GTK by using the rather spiffy GTKmm which gives you STL and a C++ish API so that other than a few minor oddies you'd never know the underlying toolkit was written in C, but this is an extra dependency, the cost of which was simply not worth it.

      I look at the Gnome source code and shudder. It just reminds me so much of writing GUI code for Windows 3.1 and 95 (yes, I've done that).

      If you're going to compare modern GTK to Win32 then all I can say is that you either haven't actually done any GTK programming or you haven't done any Win32 programming. I've done plenty of both and I can tell you that GTK is about a million light years away from Win32. The API is sane, consistant, and the toolkit is a powerful one.

      Now let me tell you what I don't get.

      I see people bitching (mostly ignorantly) about GTK, Gnome, C, whatever and praising the shining pearls of light that is KDE and Qt, yet the fact is that GTK is way more popular.

      No, really, it is. I have no Qt or KDE apps on my desktop at any point these days. That's not because I don't like Qt or KDE - I do - but the fact is that I don't choose apps based on what toolkit they use but on merit. I use Firebird (XUL), emacs CVS (a mixture of raw Xlib and gtk2 these days), irssi (ncurses), Pan (raw GTK) and so on.

      Yet, I once read a KDE developer claim that Yes! It's true! He had spent a whole month without glib installed on his system - he wanted to prove it was possible to do it, and well done he did. But if people have to do macho time trials to prove they can do without something - isn't this a hint?

      I could be cynical and say that GTK is more popular because the people using it are busy getting shit done in whatever language lets them work most effectively (c, python, c++, whatever) instead of trolling about the superiority of Qt and C++ on Slashdot, but I won't. I'll let readers make up their own minds. I use what works for me.

  2. Looks a lot like the Mac OS X file selector by putaro · · Score: 4, Insightful

    Only not quite as functional. The pathname entry is good, but it looks like it doesn't have the quick drill down. If you're going to copy, why not copy the good parts?

  3. Re:I really liked the original version better by Anonymous Coward · · Score: 5, Insightful

    At least it was standard across the majority of Windows 3.1 applications, instead of 1/2 of the GNOME/KDE applications.

  4. Re:I really liked the original version better by ethx1 · · Score: 5, Insightful

    I think it is funny how a lot of Linux programmers really depise Microsoft and its products yet we keep seen all these gui "improvements" that borrow from Windows. The mockup by tigert with the commmonly used folders on the left pane is from is from XP (maybe 2000). I am not a Bill Gates fanboy or anything, just something that I noticed.

  5. Tab completion? by Anonymous Coward · · Score: 4, Insightful

    One thing I really like about the current file selector is that I can start typing a name and press tab, and it will show only entries starting with what I typed. It even supports wildcards. Does anyone know if that will still be there? As long as I have that, I really don't care what it looks like - I'll still be able to find stuff efficiently.

  6. Re:One possible feature I'd like to see by ron_ivi · · Score: 4, Insightful
    Agreed. It's the features more than the look that matters to me.

    I'd like:

    • to be able to type "../../whatever.txt" in the "filename" textarea and have it work reasonable,
    • the complete path to be a gui-widget that I can copy&paste from
    • to be able to type D*31.GIF and have it work reasonably (glob like a shell)
    • by extention, have "/u*/l*/b*/mozilla" typed into the text area find /usr/local/bin/mozilla if that's the only match.
    Typing is so much easier than mousing sometimes, I'd really really like to have those wildcards work.
  7. Re:I really liked the original version better by 0x0d0a · · Score: 5, Insightful

    Really, almost the entire GUI paradigm has been copied around by all parties involved. Some of this is because it works pretty well, and some of it because people get familiar with working a particular way and don't want to change. Ever since the original Mac, the desktop user interface hasn't changed all that much.

    I think this is a good thing. It'd be terribly annoying if UI ideas were patented and we had to have a bunch of half-assed environments.

  8. Re:One possible feature I'd like to see by whereiswaldo · · Score: 4, Insightful

    An annoyance with Mozilla is when it prompts you for the application with which to open a file. If I type "kwrite", it complains. I have to enter the full path to the app, even though it is on my path.

  9. Note to flamers by arvindn · · Score: 5, Insightful
    Everyone please read this before you start flaming.

    The last /. article about the new file selector was filled with "this is totally stupid", "this is worse than the old file selector", "this is the last chance they have to fix it, and they've royally screwed it up", "usability experts, bah! This is why gnome will never catch up with kde" etc.

    Now listen. The change that's happenning in the new file selector is primarily that they're creating a new API. Got it? The programming API. That's why the screenshots looked the same. The screenshots tell you nothing. As long as the API doesn't suck the front end can be freely changed without breaking anything, and everyone can do their own mockups and various ideas can be tried and the experts can weigh in with their opinions and so on. This can go on for a long time, and the front end will stabilize when it has reached (near) perfection.

  10. I can't agree by 0x0d0a · · Score: 5, Insightful

    So a next-generation save/open box should include comprehensive network protocol support.

    With all due respect, I think that this is a really, really awful idea. Unfortunately, Microsoft has traditionally taken this approach (for political, not engineering reasons). The KDE project, which takes a very Windows-like approach to a number of architecture decisions, copied their approach, and GNOME has come uncomfortably close.

    The reason why I'm not a fan of implementing network transparency at the KIOSlave or GNOME-VFS or whatnot layers is that this sort of functionality is *not* KDE or GNOME or whathaveyou specific. It just isn't part of the desktop environment. It should be implemented at a lower level, so that *all* programs running on the machine can take advantage of the functionality. There are a couple of projects that do this -- take a look at LUFS for a proper (IMHO, of course) implementation of what you're asking for.

  11. Where is the pathname? by spitzak · · Score: 5, Insightful

    Why can't they put in ONE text field with the entire pathname, so it can be cut & pasted, and it can be easily examined and compared to another file in an email or other source, and it is obvious how to type in a pathname?

    This can't be that hard, really. I did it ten years ago in a NeXT file chooser I wrote.

    Have a SINGLE text field. Anything before the last '/' is the "current directory" and anything after is the "current file". Then add all the buttons and tab completion and scrolling list. As the user edits the text, update the display to match. As the user hits the buttons, re-edit the text.

    I consider this obvious and I am dumbfounded that nobody seems to be doing this even today.

    I don't care if Grandma is confused by pathnames. Grandma is also confused by insertion-editing of text fields but nobody seems to be trying to make it overwrite.

    Show a little incentive, and do this right!

  12. File selectors are crippled directory browsers by AReilly · · Score: 4, Insightful

    Acorn got this aspect of GUI design right. You don't need a file selector. Opening or reading things is best done by clicking or dragging from an existing directory browser. Saving or outputting is easily done by dragging an icon that represents your file into an existing directory browser. Need to open a directory browser to do that? How is that different from needing to open a file selection dialog?

    File selectors? How modal. How quaint. Just say no.

    --
    -- Andrew
  13. Re:I really liked the original version better by haystor · · Score: 4, Insightful

    To be fair, MS is playing catch-up in a lot of areas too. Ever try following a shortcut to a directory in a dialog box? This only recently worked the way you expect it instead of just selecting the shortcut file itself. A subtle difference but one that trained me never to bury directories too deep on windows because I may have to work to get to them.

    Multiple desktops anyone? I don't know who's responsible for this but it sure as hell isn't MS.

    There are quite a few cool things that have come from open source, but you generally have to be the kind of person that can try *and* use options.

    Being happy about a decent file selector for GTK is similar to being happy that an MS operating system can finally muster something similar to kill -9...oh wait, we're not there yet. It's still stuck in the mentality that "End Task" merely requests the task to shut itself down. The Kernel Power Toys from MS don't do the trick either.

    MS is trialing in development in a lot of areas. It's just that after they finally steal something it's considered standard and nobody notices it.

    --
    t
  14. Hall of Shame by cryptoluddite · · Score: 5, Insightful
    I wish gnome developers would study the UI Hall of Shame and fix the many glaring UI problems -- then gnome would be a really nice desktop.

    Consider:

    • The main point of a file selector is to choose a file. In the mock-up, only 22% of the dialog's space actually shows files compared to XP where 60% of the space is used for files. And honestly, a lot of the 22% is wasted in the GTK mockup. Defaulting to 'list' instead of 'small icons' doesn't help.
    • There is lots of empty space next to the cancel/open buttons and 'send to' checkbox that is just wasted (see XP for how to do it right and still look appealing).
    • Having 'Show All Files' button next to the filename field means there is less space to see the filename or type in a path into that field.
    • the 'up' button is located about as far away from the files as possible, ensuring lots of extra mouse movement. There is no 'back' button.
    • The 'shortcuts' list takes up lots of space and looks terrible when shortcuts with short and longs names are mixed, like in the example. Please tell me it doesn't resize with the window!

    I use gnome instead of kde (on gentoo) but the lack of any UI sense is frustrating. Another example: the gnome-panel buttons grow to be unbelievably large if there are only a few windows open. This just looks terrible and combined with the layout problems make it nearly impossible to have a vertical or expanding bar that doesn't just look disgusting.

    I really think linux is set to take off on the desktop this year, but these usability/aesthetic details can really have a large negative impact.

  15. Who needs innovation? by Paul+d'Aoust · · Score: 5, Insightful

    You know, I have no problem with 'innovation' being touted as an absolute virtue. Yes, innovation is good, and it's always nice to develop new, more efficient ways of doing things, but... what if something already works fine? Why not copy from someone else if their idea is great? I sorely wish the GTK+ file selector has shortcuts, and I was ecstatic when I installed KDE 3.0 a year ago and found out they had added them in.

    Innovation isn't the important thing. Usefulness is. Innovation is only one of the many tools used to create something useful.

    --
    Standing at the very edge of my imagination, I peered into the inky void and realised -- I couldn't think up a new sig.
  16. 'New Folder'??? by MyFourthAccount · · Score: 5, Insightful

    It's pretty funny that the 'even better' mockups have a 'New Folder' button on a 'Open File' dialog box.

    Surely the intention of this button is to make absolutely 100% sure that the user can select a file that doesn't exist. I mean, what other file could a user possibly want to open?

    There is simply no better file to open then the one that remains in a directory that doesn't exist yet.