# Reinventing GTK: envisioning the future of the toolkit(GTK3+ ????)



## praka123 (Apr 10, 2008)

*Reinventing GTK: envisioning the future of the toolkit*
_By Ryan Paul |              Published: April 09, 2008 - 11:50PM CT  _ 

*Planning the next generation of GTK*
   The developers of GTK are preparing for a major overhaul that aims to resolve many of the framework's most significant deficiencies and add next-generation features that will increase flexibility and simplify development. This effort is still in the earliest planning stage, but several intriguing proposals provide valuable insight into some of the changes envisioned by prominent developers. 

GTK is an open-source widget toolkit for developing applications with graphical user interfaces. It is cross-platform compatible, distributed under the permissive LGPL license, and widely used on the Linux platform.

In addition to being used for popular cross-platform applications like GIMP, Abiword, and Pidgin, GTK also serves as the foundation of the GNOME desktop environment which comes with Ubuntu, Fedora, and numerous other Linux distributions. GTK is also increasingly being adopted in the mobile space, where it is used by Nokia's Internet Tablet operating system, OpenMoko, OLPC, and the Access Linux platform. 

*Imendio's vision*
Kristian Rietveld of Imendio—a software company that does custom GTK development and is currently funding a native Mac OS X port of the toolkit—presented a proposal last month at the GTK HackFest in Berlin with a plan for moving forward and addressing many of the weaknesses that GTK developers have identified over the years. The proposal offers clear goals for a long-term roadmap and makes the case for breaking ABI compatibility. Topics discussed during the presentation were later clarified in a more detailed position document. 

  Imendio wants the next generation of GTK to enable development of better user interfaces with sophisticated visual effects, animations, physics, and stacking. Other desired improvements include stronger OS integration, improved back-end support, increased portability, easier custom widget creation, architecture that makes language bindings easier to maintain, and support for a data abstraction layer. 

 In order to reduce the maintenance burden placed on third-party developers, the GTK developers have adhered to a strict policy of ABI compatibility for the duration of the GTK 2 development cycle. This provides an extremely high level of backwards compatibility, but makes it difficult to undertake drastic rewrites or perform major architectural changes. This incremental approach to development has helped promote GTK adoption, but has also created what many developers believe is an evolutionary impasse. 

 Imendio's developers argue that the GTK 2 series is a dead end because of the ABI stability guarantees and they say that a clean break will likely be necessary to continue moving forward because the code base contains a lot of legacy cruft and refactoring poses too many obstacles. To facilitate the break without creating undue stress on third-party developers, they suggest performing scheduled API and ABI breaks at defined intervals (possibly every five years) and ensuring that multiple versions of the library can be installed in parallel. They also want clear policies for deprecating and removing legacy API. 

 The proposal has been well received by the GTK community and is gaining widespread support among GTK contributors outside of Imendio. Alberto Ruiz, an independent GTK developer who is contributing to the Windows and Mac OS X ports, attended the event and posted some posted some thoughts about Imendio's presentation in his blog. 

"One of the issues discussed was to provide a predictable release that might break ABI and remove deprecated API," he wrote. "The intervals for this are not clear yet, but it sounds like a good idea to me. Being predictable will let ISVs anticipate this sort of issues, which is better than getting to the situation where Gtk+ cannot get any better. There wasn't any decisions taken whatsoever, but the general feeling of agreement is pretty promising."

Read Complete article here:
*arstechnica.com/articles/culture/reinventing-gtk.ars


----------



## CadCrazy (Apr 10, 2008)

So can we expect GTK+ 3 next year


----------



## praka123 (Apr 10, 2008)

^ofcourse NOT! 
may be 3 years later!


----------



## CadCrazy (Apr 10, 2008)

GTK 3 = 3 years


----------



## praka123 (Apr 10, 2008)

Gnome is always incremental,not fast unlike kde and qt(cute).

yeah,now this is the time Gnome should stop the drag race and start flying


----------



## CadCrazy (Apr 10, 2008)

praka123 said:


> Gnome is always incremental,*not fast unlike kde and qt*(cute).
> 
> yeah,now this is the time Gnome should stop the drag race and start flying



What KDE is faster than Gnome.  How ????

I guess you are biased because QT is GPL'd


----------



## Dark Star (Apr 10, 2008)

^^ How .. Eh ? KDE has already released 4 version and Gnome hasn't even reached 2.5 

Well I am dying to get back to Gnome.. Gnome enthralled me throughly  and after I used it , none of the DE satisfied me :[


----------



## praka123 (Apr 10, 2008)

@crazy:huh!even Im a Gnome user.(ofcourse testing kdemod with archlinux).Gnome is a tad bit faster than kde.

What I meant was not the speed of booting Gnome v kde.but the development speed 

But QT toolkit is much more refined and improved acc.to programmers(not me  ).while GTK2+ is preferred by corparations/commerical uses 'coz of its license(LGPL too!).also GTK2+ is written in C(which is the root).

while QT recently went GPLv2 and QT is written in C++  and many developments are done in-house in QT by the company behind it-trolltech.


----------



## CadCrazy (Apr 10, 2008)

praka123 said:


> What I meant was not the speed of booting Gnome v kde.but the development speed



huh. I got it wrong



praka123 said:


> But QT toolkit is much more refined and improved acc.to programmers(not me  ).



Yes KDE is sluggishly refind 
I like simplicity of gnome. The only thing disappoints me when someone say  Gnome is badly organized  internally --------------
Worried about its future


----------



## mehulved (Apr 10, 2008)

praka123 said:


> What I meant was not the speed of booting Gnome v kde.but the development speed


 I find both better for KDE


praka123 said:


> But QT toolkit is much more refined and improved acc.to programmers(not me  ).while GTK2+ is preferred by corparations/commerical uses 'coz of its license(LGPL too!).also GTK2+ is written in C(which is the root).


 I wonder what you'd call Nokia, Opera, Skype Technologies, etc? Pehriwallas?


praka123 said:


> while QT recently went GPLv2 and QT is written in C++  and many developments are done in-house in QT by the company behind it-trolltech.


You mean Nokia now?


----------



## CadCrazy (Apr 10, 2008)

Dark Star said:


> ^^ How .. Eh ? KDE has already released 4 version and Gnome hasn't even reached 2.5
> 
> Well I am dying to get back to Gnome.. Gnome enthralled me throughly  and after I used it , none of the DE satisfied me :[



Linux need a good DE badly. Main soch raha hun kyun na main hi kuch karun


----------



## praka123 (Apr 10, 2008)

^ofcourse!u can have ur try  why not develop E17(enlightenement) or xfce to your taste?


----------



## CadCrazy (Apr 10, 2008)

which one is faster??


----------



## Dark Star (Apr 11, 2008)

^^E17 ofcourse


----------



## ray|raven (Apr 11, 2008)

^Yep, E17 is friggin fast , even on systems you'd think were only meant for the dump-truck.

But, the sad part is it isnt quite stable, heck its been in alpha for 10 years 

Ontopic: I guess a from-scratch-gtk would be better.
And IMO, gnome's getting bloated with each release.


----------



## abhinandh (Apr 11, 2008)

rayraven said:


> I guess a from-scratch-gtk would be better.
> And IMO, gnome's getting bloated with each release.



yep.i can feel the bloat as i just updated to 2.22.
gnome needs lot of essential changes internally.hopefully some of them are in progress like restore from trash etc.


----------



## unni (Apr 11, 2008)

mehulved said:


> I find both better for KDE
> I wonder what you'd call Nokia, Opera, Skype Technologies, etc? Pehriwallas?
> 
> You mean Nokia now?


Has Nokia bought Trolltech?  
What is the connection of Opera & Skype with Qt?


----------



## ray|raven (Apr 11, 2008)

^Prakash said Qt is not used by corporate companies, so mehul stated a few that used Qt.

Opera and Skype use Qt for their linux ports.


----------



## QwertyManiac (Apr 11, 2008)

Both Opera and Skype use QT libraries to power their GUI. Yes Nokia has acquired Trolltech, perhaps in need of its QTopia platform or maybe just for its engineers.

rayraven - Only Linux? QT is cross platform I think and both use it on all platforms they publish to?


----------



## mehulved (Apr 11, 2008)

unni said:


> Has Nokia bought Trolltech?


*trolltech.com/company/newsroom/announcements/press.2008-01-28.4605718236
*trolltech.com/28012008/28012008


----------



## unni (Apr 15, 2008)

Thanks to rayraven, QwertyManiac & *mehulved *for their replies and thanks to praka123 for the post. I have been trying to learn Qt for the past 3 months. I am very much surprised that I missed this (Qt acquisition) news.


----------



## ray|raven (Apr 15, 2008)

QwertyManiac said:


> rayraven - Only Linux? QT is cross platform I think and both use it on all platforms they publish to?



Sorry for the late reply, missed ur post , somehow.

Anyways,From Wikipedia : *en.wikipedia.org/wiki/Skype


> The Windows user interface was developed in the Pascal-based Delphi programming language, the Linux version in C++ with Qt, and the Mac OS X version in Objective-C with Cocoa.


And AFAIK, Its a similar case with Opera.


----------



## praka123 (Apr 15, 2008)

for such apps,we have to rely on qt-static versions(for eg: opera).


----------



## ray|raven (Apr 15, 2008)

^Not necessarily, we can get both versions, static and shared.
Opera and Skype come in both options.

Static ones are better for folks not using KDE.


----------



## praka123 (Apr 15, 2008)

^skype -can u link me to a qt-static .deb?


----------



## infra_red_dude (Apr 15, 2008)

^^^ Find it here:  *www.skype.com/intl/en/download/skype/linux/choose/

Choose either the static or static-oss.


----------



## ray|raven (Apr 15, 2008)

The Medibuntu repositories have both static and shared qt deb's.

Also, you can go to this page , choose the os you are using , and get a shared or static package.
*www.skype.com/intl/en/download/skype/linux/choose/

Cant verify the skype link though, coz my office proxy has blocked it.

Can someone confirm?

EDIT:Thanx Infra, guess google gave me a correct link indeed


----------



## praka123 (Apr 15, 2008)

guys,I am new to this skype thing.my relatives are in US and insist on configuring skype.I think in Linux+pulseaudio,it seems tough 
how is ekiga?I will prefer it only.esp voicechat is enough 

Sorry for offtopic discussions.

what about gtkmm(gtk C++ support):-


> *gtkmm* is the official C++ interface for the popular GUI library GTK+. Highlights include typesafe         callbacks, and a comprehensive set of widgets that are easily extensible via         inheritance. You can create user interfaces either in code         or with the Glade User Interface             designer, using libglademm. There's extensive documentation, including         API reference and a tutorial.
> gtkmm is free software distributed under the GNU         Library General Public License (LGPL).


*www.gtkmm.org/


----------



## infra_red_dude (Apr 15, 2008)

praka123 said:


> guys,I am new to this skype thing.my relatives are in US and insist on configuring skype.I think in Linux+pulseaudio,it seems tough
> how is ekiga?I will prefer it only.esp voicechat is enough
> 
> Sorry for offtopic discussions.


[offtopic] Skype static-oss is supposed to work with PulseAudio. But I could never get it work. PA broke my system. Anyways thats now the issue here. You can try static-oss with PA and report back. Never used Ekiga. But skype works perfectly in Linux! [/offtopic]


----------

