It's an idea, but I think you've got it backwards. What would be nice is to have gtk with *some* forward-compatibility for gtk-compatible programs. Particularly the text and tree widgets -we've been talking about them lately, huh.
In order to convince you think about this: Why is gtk2 so undesirable?
1. lots of overhead (size). Needs atk, cairo and pango (now gdk-pixbuf2 which has been (again) split out from gtk.
2. Long startup latency. Much of this is due to the extra time needed to link the external libs mentioned above. part is due to the larger size of the libs, so simply including everything in a smaller number of libs won't help there. The other thing that makes gtk2 slow is themeable icons. A nice feature, but costly vis-a-vis latency. I could see this pretty dramatically with the gtk1 version of sylpheed mail. When I started using/hacking the gtk1 sylpheed-*claws* version, the raw startup time went from less than a half-second to a couple of seconds.
I used to dream of back-porting some gtk2 code to gtk1, but just didn't have the code fu to make it happen. One might take some of the earliest gtk2 code and start from there -actually I mean from gtk-1.3 which used pango -no cairo IIRC and I'm not sure about atk. The thing that pango makes possible is bi-directional text.
Over the years I've found some hacks and tweaks which improve some of the old-fashionedness of gtk1. Patched to make the colors look more pleasing, tweaks for using utf8-encoded fonts, using xft for anti-aliased fonts.
Since I was always looking for enough tools to make a real desktop, I was dissapointed when I'd find small gtk2 apps which used the text or tree widgets, beacuse of the difficulty of porting them, so it seemd like the 'low-fruit' might be to incorporate those widgets into gtk1.
I want to repeat how excited I am that you and goingnuts are *really* interested in gtk1 -because you both are more capable than I am of getting something done there. I do run a highly-patched version of gkt1 which includes *all* the known bug-fixes from every distro out there, plus some attractive added features from selected distros.
There were so many apps written for gtk1 that it still seems viable to use, right? But for modern systems where multi-language support is expected, it starts to fall short. And there were a few drawbacks to it. But I've often thought how great it would be if someone updated it *slightly*. It's one of truly-lightest-weight TK's ever written. Of course now they've even abandoned gtk2 for gtk3. Actually the worst thing about gtk2 is that the API was broken so many times during its' lifetime. I'm sure they'll do the same with gtk3...
Another change to gtk1 that might be nice, would be to incorporate a more user-friendly file-selector -like that used by mtpaint. Pretty low-hanging for someone like you... The version I use does have an improved file-selector, but something more like mt-style might be better.
Hope I gave you something to think about, but please resist the urge to do *full retail plus shipping* changes to the original sources -think about it as if someone else might want to use it. Whatever you decide to do, it would be really beneficial to start off by using my patchset which includes *lots* of patches. Most of them are pretty small, but I spent a lot of time to re-factor them so they all work together -good starting point anyway.
I think trying do things the other way and get gtk2 apps to link back to gtk1 would only bring misery -there are just too many changes. But giving gtk1 forward-capable widgets would make it much easier to back-port simple gtk2 apps. Oh, another thing you'd want to look at would be gtk-extra -some extra widgets that do some of what you allude to. They were mostly widgets which somewhat mimicked some of the gnome1 widgets -for data-plotting, etc. At the least, it provides a framework or example of how you could add extra widgets. There is also the gdkxft library which I am using -it could use a little love for some apps and fonts, but the substitue code could also be folded into the main gdk code for anti-aliased support. As it is, it 'shadows' some gdk font functions using LD_PRELOAD. Using it *really* makes things look a lot better and modern -unless you hate anti-aliasing, so having it as an option via LD_PRELOAD is nice, too.
Another thing, there wass something called 'easygtk' which was a small library which wrapped gtk1 functions for easier widget creation. It could easily do 'wizard'-style widgets and other things. i have it around here but it is not on my site, I think.
Looking at my site I also found this, which I had forgot:
http://distro.ibiblio.org/amigolinux/do ... vas-0.1.1/
Backport of gnome-canvas for gtk1! Maybe we don't need cairo after all.
Let me explain a bit what I said about 'full retail plus shipping' changes. Another of my favorite pices of software is WindowMaker. Of course the original devs gave up on it nearyl 10 years ago. It sat there un-maintained until about 4-5 years ago, when a fellow named Carlos Mafra created a new branch and began working on it. He's gotten *lots* of help and interest from others and they have done huge amounts of work on it. But, along the way, I got disssillusioned with his branch because he kept *removing* things that were working perfectly well. Then once, he decided that the code indentation-style didn't suit him, so he re-indented the whole thing -the diff for just that change was over *500,000* lines long. Having done that, it made it very hard work to incorporate any of the stray patches that were around for the original version. And there were lots of good strays out there which never made it into the upstream. Those strays comprise a large part of the changes that I have applied to my wmaker branch. One of the handiest things I've learned when creating and modifying patches, is to keep the changes extremely well separated -coding-style and whitespace changes should be kept separate from diffs which include real meat. And each bug-fix or feature-addition should be in a separate patch. Just makes it easier to manage the changes. Also, very important to keep autoconf or whatever working correctly so that you can be more versatile and upgrade easier.
Kudos!