LWN.net Logo

GTK+ 2.8.0 released

GTK+ 2.8.0 released

Posted Aug 15, 2005 3:57 UTC (Mon) by dskoll (subscriber, #1630)
In reply to: GTK+ 2.8.0 released by beoba
Parent article: GTK+ 2.8.0 released

Tradition for tradition's sake doesn't tend to work.

Breaking traditions because you think you know better is almost always a bad idea, too.

"Those who do not understand UNIX are condemned to reinvent it -- badly"
Henry Spencer


(Log in to post comments)

GTK+ 2.8.0 released

Posted Aug 15, 2005 5:11 UTC (Mon) by drag (subscriber, #31333) [Link]

You guys are very funny people.

Gnome and friends pick a default that will provide a usefull and expected functionality to the majority of the people.

A default, by the way, which _your_free_to_change_ any time you feel like it. (you didn't know that? What? are you to lazy to learn anything new?)

"Breaking Tradition" my ass. There is NO traditional Unix keybindings, its a fantasy that only exists in your mind.

Should I go around bitching that Evolution doesn't make it's end users hit j to cursor down and use yy to copy a line and p to paste it? Those are Vi's keys and vi is going to be the oldest and most traditional Unix application that ever existed and people still use today in a regular basis.

And that part about evolution not supporting external editors?

You know why they don't care?

Because nobody that is sane gives a crap, thats why. And the only people that do tend to be the type of people that just complain to give people a hard time and are generally to lazy to do anything about it themselves. (you know you could probably code it yourself)

You know why?

Because *gasp* Evolution already supports whatever freaking editor you could come up with!

How you say ?!

just open up whatever editor you want. Type out whatever message you want using it in any way you feel like.

Now copy your message....
open up evolution, start a new message...
now paste your message!

Viola! Now evolution supports whatever editor you feel like.

GTK+ 2.8.0 released

Posted Aug 15, 2005 7:26 UTC (Mon) by job (subscriber, #670) [Link]

It is people like you who turn this into a flame war. Please refrain from posting completely if you have nothing to add but rudeness. This is LWN after all and has been pretty spared from it. I am sure he already knew about the copy-paste-functionality.

In fact, the posters in this thread pointed out some real problems with Gtk, that there are bugs (or accidental features, according to bugzilla) with the Emacs/X-style keybindings. It's there, it should work, but it doesn't. We have also learned about the bigger design problem that applications can bind accelerator keys which are the same as Gtk bound keys. It would be nice if that wasn't possible, Gtk should have precedence and the app should get an error code and not be able to bind it.

Nobody has yet commented on the horrible ineffencies of the toolkits (Gtk and Qt). Look at the paper behind NX, he's got some measurements. I can't see how X will compete with other graphical environments performance wise unless the toolkits gets cleaned up.

GTK+ 2.8.0 released

Posted Aug 15, 2005 8:14 UTC (Mon) by drag (subscriber, #31333) [Link]

sorry. I didn't mean to sound like a troll. But some of what people are complaining about is pretty petty.

And, realy, there are no traditional unix bindings...

But the problem is is that no matter how many people complain about GTK-bound keys not overriding application default keys you will get people complaining that application default key accels should automaticly over write GTK-set ones.

Anyways, I do acknowledge that there are problems with Gnome's theming features and there needs to be considurable polishing going on.

That's something that is a valid complaint for sure.

If you want to change some of the keybinds to suite yourself you have a few options right now.

Open up gconf-edit goto:
/apps/desktop/gnome/interface entry and change can_change_accels to '1' (you may have to uncheck it and recheck it)

Now on many gnome apps like Epiphany you can change keybindings dynamicly to suite yourself.

All you have to do is open up the menu and hover the key over the function you want to change... like "Edit --> Paste" and hit the accelerator you want to replace it with.

Not all applications support this.. I don't think it's very hard to support and I think that many GTK developers are simply unaware of this very nifty little feature. I think it would be a good idea that if the app you like doesn't support it put it in as a feature request.

The other stuff you can do that has a much more far reaching effect is to enable your own key theme.. It's easiest to use the Emacs key theme for reference.

The emacs key theme is located in /usr/share/themes/Emacs
And the file that holds the keys for the theme would be:
/usr/share/themes/Emacs/gtk-2.0-key/gtkrc

So you can modify that and make your own custom key bindings and stick them in your own home directory like:
.themes/Mine/gtk-2.0-key/gtkrc

or stick them in /usr/share/themes for system-wide access.

Next thing you do is open or create a ~/.gtkrc-2.0 file and make sure you have this line in it:
gtk-key-theme-name = "yours"

Then log out and log back in. In addition to that it may be handy to go into a gconf-editor and change gtk_key_themes in /apps/desktop/gnome/interface to whatever you named your theme in.

This, I think, then can have a wider range of effect.. even on non-to-gnome-friendly GTK-using apps like firefox.

GTK+ 2.8.0 released

Posted Aug 15, 2005 9:40 UTC (Mon) by Zarathustra (guest, #26443) [Link]

I did that over a year ago, I fail to see why should I do all that dance for every account/box I have.

I'm running Unix applications on a Unix system, it's so much to ask for a Unix behavior by default?

And no, I already have said I don't use Gnome, and no, most gtk applications are _not_ ported to non-unix systems. And using the proper default keybindings in Unix does _not_ make them less portable either.

GTK+ 2.8.0 released

Posted Aug 15, 2005 14:26 UTC (Mon) by gravious (guest, #7662) [Link]

I'm running Unix applications on a Unix system, it's so much to ask for a Unix behavior by default? My dear Zarathustra,
    For one with such a wise moniker, you seem intent on ignoring a number of posters. It has been pointed out to you, more than once, that there is no standard Unix behaviour. If you have been using Unix for any length of time, you would know this. Indeed, you probably do know it. What you want is _Emacs_ behaviour in all your apps. A small percentage of _all_ computers users know Emacs bindings, therefore for the moment, I fail to see why you shouldn't do that dance for every account/box you have.
    Having said that, if you tell GTK+ that your key preferences are such and such and then a GTK+ app ignores your choice then it should be flayed to within an inch of its life. Also, if you expect ctrl+u to to erase from the current cursor position rather than the whole line, well, fair enough, raise a bug. There appear to be workable solutions judging by what people have said, you are doing yourself no favours by causing such a stink

Very kind regards,

i Gravious

GTK+ 2.8.0 released

Posted Aug 15, 2005 15:09 UTC (Mon) by Arker (guest, #14205) [Link]

well, fair enough, raise a bug.

Like he did almost a year ago?

GTK+ 2.8.0 released

Posted Aug 15, 2005 15:32 UTC (Mon) by Zarathustra (guest, #26443) [Link]

> What you want is _Emacs_ behaviour in all your apps.

Funny, I have not used Emacs in my life, I don't even know any emacs shortcuts, because ^U and ^W, like ^H, are _not_ from Emacs, they are from Unix, and about any Unix application that supports input has implemented them for many decades.

Unix bindings

Posted Aug 16, 2005 3:47 UTC (Tue) by zblaxell (subscriber, #26385) [Link]

A quick survey:

Xaw uses ^A, ^B, ^F, ^D, ^V, M-v, ^E, ^N, ^P as Emacs bindings, ^H as delete, and has no use for ^W or ^U at all. Interestingly enough, ^S and ^R activate text search and replace, which has proven quite handy in some Xaw applications like xpostit.

Tk uses the same bindings, except that it doesn't seem to respond to M-v, ^S, or ^R.

Motif uses...none of these AFAICT--not even ^H--they all seem to insert non-printing characters.

Readline (which is *NOT* an X toolkit) uses the above bindings, except ^S and ^R are incremental searches, plus ^W (delete previous word) and ^U (delete to beginning of line).

epic (a TTY-based IRC client) responds to ^A, ^D, ^E, ^F, ^N, and ^P as in Emacs, but ^B and ^W insert special characters. ^U is delete-entire-line, not delete-to-beginning-of-line. How nice that it supports forward-character but not the symmetrical backward-character!

The Linux kernel TTY driver is usually configured to accept ^H or Del as delete, ^W as delete-previous-word (where "word" means something slightly different from Readline), ^U is delete-entire-line, and ^D is EOF. None of the other bindings mentioned so far (^A, etc) do anything other than insert themselves.

Emacs of course *defines* the meanings of ^A, ^B, ^D, ^E, ^F, ^N, ^P, ^V, etc. Emacs also has keys bound to ^W and ^U, but they mean very different things than they do in Bash, a number of other X applications, and Unix TTYs. These bindings are quite possibly older than Unix.

Several popular applications that originated on or were ported to Unix (e.g. Netscape) do support Readline-like key bindings, despite the fact that they were based on toolkits previously mentioned here (e.g. Motif).

GTK-1 applications supported mostly Bash-like key bindings, but without the search functions. In addition, GTK-1 file open/save dialogs supported filename autocompletion with Tab, which is *really* nice. Modern GTK-2 file open/save dialogs support similar completion, but needing more keystrokes. For several months in GNOME's history, the Tab key just selected the next field.

The application I am using now (Galeon) supports almost none of these bindings, even when typing text into a text widget. I'm not sure why the Galeon developers think I might want ^B to open the bookmarks editor window in the middle of this sentence, but it does.

Personally, I really miss the GTK-1 application bindings, but I'm offended by the GTK *transition* more than the actual binding set at any instant in time. GTK-1 had IMHO the best combination of useful editing primitives with default key bindings, which made GTK-1 applications very attractive to me at the time.

I used to use a lot of GNOME applications, back when GNOME 1.4 was current. For reasons I still don't understand, the GTK and/or GNOME people decided to make sweeping, backward-incompatible changes that removed features from user-visible parts of GTK/GNOME programs, and they called this forward progress. It was almost as bad as being forced to use Windows in terms of features that just disappeared one dist-upgrade. Some of those features have returned, but not all, and many are often buried behind something that looks and feels like the Windows registry editor.

Today, I no longer trust GNOME to provide usable tools as I once did. I used to simply choose from one of the several GNOME 1.4-based alternatives (usually directly from the GNOME menu), and didn't really look for other software if my immediate needs were adequately satisfied. Now it's the other way around--I look everywhere *except* GNOME and/or GTK for various applications, and I apply a small but non-zero negative bias to GNOME or GTK-based candidates where competing implementations exist.

My trust in the GNOME organization was completely destroyed by that organization's behavior in the past. For all I know, next week they'll decide that GTK/GNOME 2.x was a bad idea too, and they'll discard it like they did 1.x. It seems to me that I shouldn't waste my time with their potentially-soon-to-be-unsupported software. I don't know how long it will last, and it seems I cannot rely on the rest of the open-source community to take over if the central GNOME organization fails again.

What really baffles me is that the GNOME maintainers and their apologists don't seem to *get* this. It's not about key bindings, it's about alienating your existing users to benefit users you don't have yet. It reminds me of that fable about the dog, a bone, and the dog's reflection in the river...

GTK+ 2.8.0 released

Posted Aug 15, 2005 12:27 UTC (Mon) by dskoll (subscriber, #1630) [Link]

Regarding external editor support:

Because nobody that is sane gives a crap, thats why.

You're wrong. External editor support is one of the most popular bugs in Evolution bugzilla. But the GNOME people have decided they know better and don't need to listen to people who were using computers since before the GNOME developers were born, and might have an idea or two that they've learned over the years.

If GNOME were a commercial product, it would sink without a trace, because a commercial entity that showed such disdain for its "customers" would never last (unless it somehow became a monopoly like MSFT.)

Now copy your message.... open up evolution, start a new message... now paste your message!

That's a totally unacceptable solution, and you know it. Only a complacent, arrogant, know-it-all GNOME hacker would even suggest it. :-)

GTK+ 2.8.0 released

Posted Aug 15, 2005 15:02 UTC (Mon) by elanthis (subscriber, #6227) [Link]

Hardly. GNOME is among one of the most popular commercialized Open Source/Free Software projects around. Just ask Ximian. Your comparison is fairly pointless, though, because even commercial software projects are in no way dependent on the whim of their users - they are dependent on the whim of their *customers*. Free Software doesn't have customers, not unless you paid some company for a support contract. Did you pay a company for GTK/GNOME support?

The "users" you refer to that are upset with GTK and/or GNOME are infinitely small in number compared to the numbers of the users that GNOME targets and who are quite happy with it. It sucks being in a minority, but that's where you are. It especially sucks being in a minority when you're not in a democracy, but Free Software isn't a democracy; it's a meritocracy, perhaps a dictatorship, possibly an "action-cracy" (what's the correct word for that?) - you don't get what you want because you ask for it, you get what you want by doing it. Maybe somebody will care about your opinion and put forth the effort for you, maybe they won't, but they sure as hell aren't required to do so.

If you don't like something in the FOSS world, then you've got the source, go ahead and fix it. Write an Evolution plugin that invokes an external editor, or hack up GTK to allow you to invoke an external editor on any text entry. Do whatever you want. Why do you think the GTK/GNOME developers are required to satisfy you with features they don't want? You're not that special, your opinion is not superior to their own, your individual work habits are not more important than theirs or mine. They scratched their itch, they wrote software targetting a specific user base, they have zero incentive to target users like you, and nothing in the world makes that wrong, no matter how unfortunately irritating it may be for you.

<on-topic-rant>There is nothing, NOTHING, more irritating about being a FOSS developer than selfish and whiny users who demand that YOU spend the time and effort to fix THEIR problems for FREE all while insulting you and all the work you did and gave to the world for nothing in return. Developers that have given you free/Free software are in no way beholden to you. If you don't like something you got for free, and you can't accept that the developer may not agree with your priorities, that's your own damn problem, get over it.</on-topic-rant>

GTK+ 2.8.0 released

Posted Aug 15, 2005 15:24 UTC (Mon) by dskoll (subscriber, #1630) [Link]

Did you pay a company for GTK/GNOME support?

No, because I don't use GNOME. I use some programs that use GTK, it is true.

If you don't like something in the FOSS world, then you've got the source, go ahead and fix it.

Why should I? I'll just switch to a FOSS product (Thunderbird, in this case) that works the way I like, and whose developers are not so touchy.

There is nothing, NOTHING, more irritating about being a FOSS developer than selfish and whiny users who demand that YOU spend the time and effort to fix THEIR problems for FREE all while insulting you and all the work you did and gave to the world for nothing in return.

If you have a DSL connection under Linux, you are almost certainly using free software I wrote to connect to your DSL provider. I am a FOSS developer, but that doesn't give me the right to ignore customer requests (I consider users of my free stuff customers too.)

What bothers me about GNOME is that they are turning against 25+ years of experience. If the UNIX geeks hadn't doggedly persisted to keep Microsoft from owning computing, GNOME would not exist. It could not exist without the UNIX/Linux traditions.

I don't use KDE either, but at least the KDE developers manage to make their system user-friendly for newbies without alienating long-time UNIX users. (kmail and knode both have excellent support for external editors.)

The pun compels me...

Posted Aug 16, 2005 20:52 UTC (Tue) by zakaelri (guest, #17928) [Link]

If you have a DSL connection under Linux, you are almost certainly using free software I wrote to connect to your DSL provider

I run apache off of my DSL... and from here it looks like you've just been served.

Zam!

Just trying to lighten the mood. You all seem to be getting a bit to worked up about all of this ;)

GTK+ 2.8.0 released

Posted Aug 16, 2005 7:51 UTC (Tue) by zblaxell (subscriber, #26385) [Link]

The "users" you refer to that are upset with GTK and/or GNOME are infinitely small in number compared to
Well, that's all we really need to read right there. It doesn't matter how the sentence ends, we now know We're Not Welcome Here Any More. This is the same line a proprietary software vendor gives when they terminate a popular closed-source product. As soon as those words are uttered, it's time for the users to move to another product.

The funny thing is, I was once in the same room as Miguel when he was proselytizing that improving the desktop (particularly in the area of automated, or at least centralized, configuration) should improve it for dead-end users and sophisticated users alike, e.g. if your grandmother can just click two buttons to make her new WiFi card work, then you can too--and you would want to, because it would be quicker than downloading a patch from sourceforge CVS, adding your card's PCI ID to the driver, and rebuilding your kernel, even if you could do it. This enables even sophisticated hackers to be somewhat more efficient consumers of software, so they can be efficient producers of some other software (except maybe WiFi card drivers). It would be nice to get an exact quote of what Miguel said, if someone has it, from his OLS talk. That talk was what inspired me to download and install GNOME for the first time, and at the time, the applications were feature-rich and well designed, and there were a number of labor-saving conveniences even for a Unix hacker.

Now it seems that the story has changed: GNOME is for dead-end users only, and applications are rediscovering what features they absolutely need one at a time. I spend a lot of time trying to coerce the few remaining GNOME applications I can actually use to behave properly. My threshold for configuration pain in GNOME is falling rapidly, and with few exceptions I now generally substitute 'dpkg --purge' for 'gconf-editor'. I thought the whole point of GNOME in the first place was to avoid having to edit strange configuration files in every application you used--now it seems I have to edit strange configuration files distributed across all of the applications I use and I have to use a specialized non-text editor to do it. Commented X resources files and vi are roughly equivalent to the current state of GNOME, except that vi is useful for other purposes as well.

If you don't like something in the FOSS world, then you've got the source, go ahead and fix it.
Ordinarily this would be the appropriate course of action; however, in the GNOME case, this should not be necessary in the first place, and there are two reasons not to fix GNOME:
  1. Unix users aren't forced onto GNOME desktops because what they were using before is obsolete. Over the decades a lot of useful software has been written, much of it before GNOME ever existed. If you tell a Unix hacker they have to fix your complex but shiny new tools before they can use them productively, they'll usually just drop your shiny new tools in the bin and go back to their time-proven simpler old ones, or even build their own tools to solve their specific problems. Complex, shiny new tools and their makers come and go, but Unix hackers are patient--as a group, they've been waiting for good, useful "desktop" software for more than 30 years, and they can wait decades more, until someone either gets it right or proves that the task really is impossible after all. A few might consider KDE in the meantime.
  2. See the first quote. There's no point in improving GNOME's ability to perform any specific task for any specific user, because GNOME is only interested in improving its ability to perform common tasks for a statistical average user, and considers everything else to be user interface clutter. To get a patch into GNOME you seem to need the patch itself, a compatible license or copyright assignment for the patch, documentation describing the patch, unit tests demonstrating the effectiveness and non-bugginess of the patch, an approval from a usability expert, and a petition with signatures from 10,000 randomly selected people (*) attesting that the patch implements a feature they can't do without (but all 10,000 of these people are assumed to be familiar with gconf-editor). A hacker's limited sanity is more efficiently spent elsewhere, preferably on a project which actually merges clean working code contributions from real live users of the project's code in a timely fashion.
(*) OK, this is a slight exaggeration. Probably only 50 or so people are required, if they are asked about the feature in a double-blind study held under rigorous laboratory conditions, assuming that these people can learn about gconf-editor through Google.

<on-topic-rant>There is nothing, NOTHING, more irritating about being a FOSS developer than selfish and whiny users who demand that YOU spend the time and effort to fix THEIR problems for FREE all while insulting you and all the work you did and gave to the world for nothing in return.
Crap is still crap, even when it's free crap, and usually nobody wants another person's crap unless that person's name is Piero Manzoni.

I gather that the GNOME project:

  1. created the problem in the first place. At one time GNOME and GTK had the features these people want. Now it doesn't. Who accepted the patch into GNOME CVS that broke the previously satisfactory code?
  2. refuses to fix the problem themselves, despite widespread demand for a fix, the relatively high isolation and low complexity of the fix, and the number of developers who seem to have so much of their time available to spend publicly refusing to do the fix.
  3. apparently ignores working patches contributed from developers outside of the project that will fix the problem.
Having done all that, all the GNOME project can legitimately expect to hear from the affected users is "I stopped or want to stop using your project's software because you refuse to fix..." followed by a laundry list of things to fix (or at least accept patches for) before the affected users willingly download, much less install and use, the software again. Complaints of this kind can be frustrating and annoying for the developer, but under no circumstances should they be surprising, because they are just a logical consequence of the GNOME project's previous behavior.

The good news is that if you behave this way in the FOSS world, eventually everyone who really cares about your project will be driven away, and they'll advise all their selfish and whiny friends to stay away too, so the problem is ultimately self-correcting.

GTK+ 2.8.0 released

Posted Aug 16, 2005 13:54 UTC (Tue) by drag (subscriber, #31333) [Link]

Hrm..

I don't know about you, but I am a long time Linux user also.

I thought that gnome 1.x sucked. I thought early kde sucked too. I avoided it like the plague.

I used enlightenment, then afterstep, then blackbox, then fluxbox...

It wasn't until 2.4 was when I actually got interested in Gnome and GTK in general and wasn't until 2.6 that I was sold on it. Now I am happy.

Early Gnome 2.x versions and especially 1.x versions were next to worthless for me. They caused me more grief then they helped.

As you pointed out there were never any such thing as traditional Unix bindings.. What the posters were pointing out just happenned to be the key bindings that they grew used to for whatever reason while the rest of the world used something else (including in Unix)..

Hell, I am a afraid to know what Sun thought was standard in CDE!

All this hate..

This is like when they made the switch from Explorer-like interface to the 'Spatial' interface for nautilus. Lots of people were freaking out... It doesn't make sense, Gnome still supports the file explorer interface!! you just have to change the configuration slightly, even after 2-3 official releases later, and with improvements too.

It's not like Gnome doesn't make allowances in configurations. They have the 'emacs' style key buttons, they still have given the program authors and end users to customize it to their heart's content.

I think it's more of instead 'gnome authors are corporate now and don't give a shit', I think it's a lot more far and a lot more accurate to say: 'they are human and don't have everything perfect for everybody'.

Newer versions Gnome specificly and GTK in general is a MASSIVE improvement over older releases.

Now I think it's perfectly acceptable to criticize, but to suggest that they are just corporate whores is just bullshit and not fair at all.

I am a happy user and gratefull for this high quality free software. I have nothing against corporations in general, as long as they are good business citizens, and I have no objections to free software authors making a living for their work.

Best thing we can do right now to resolve this is either try to get them to refine the themeing engines in general and for keycombos specificly by submitting bug reports and educating them were they need improvement or if your actually usefull: submitting code and patches to improve functionality.

GTK+ 2.8.0 released

Posted Aug 16, 2005 14:29 UTC (Tue) by dskoll (subscriber, #1630) [Link]

Best thing we can do right now to resolve this is either try to get them to refine the themeing engines in general and for keycombos specificly by submitting bug reports and educating them were they need improvement or if your actually usefull: submitting code and patches to improve functionality.

Explain that to the Gnome-vim author. He did submit patches and the Gnome guys ignored him because external editor support doesn't fit into their world vision.

GTK+ 2.8.0 released

Posted Aug 16, 2005 5:35 UTC (Tue) by zblaxell (subscriber, #26385) [Link]

Now copy your message.... open up evolution, start a new message... now paste your message!
Anyone know of an X application that will print the contents of the X selection on stdout, and copy stdin to the X selection? This would allow me to work around a huge number of highly broken applications (at least, the ones that can accept multi-megabyte "paste" requests).

GTK+ 2.8.0 released

Posted Aug 16, 2005 12:31 UTC (Tue) by RobSeace (subscriber, #4435) [Link]

xcut
xclip

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds