|
|
Subscribe / Log in / New account

GTK++, stability, and the uncluttered future

By Nathan Willis
August 14, 2013

GUADEC 2013

The GTK+ application toolkit is most closely associated with the GNOME desktop, but it is used by a variety of non-GNOME environments and applications as well. It even runs on non-Linux operating systems. That level of diversity has at times fostered an unease about the nature and direction of GTK+: is it a GNOME-only technology, or it is a system-neutral tool with GNOME as its largest consumer? The subject came up in several talks at GUADEC 2013, mingled in with other discussions of the toolkit's immediate and long-term direction.

GTK+ 3.10

Matthias Clasen delivered a talk on the new features that are set to debut in GTK+ 3.10 later this year, and he did so with an unusual approach. Rather than build a deck of slides outlining the new widgets and properties of the 3.10 release—slides which would live in isolation from the canonical developer's documentation—he wrote a tutorial in the GNOME documentation and provided code samples in the GTK+ source repository.

The tutorial walked through the process of creating a "GNOME 3–style" application using several of the newer classes, widgets, and support frameworks. Clasen's example application was a straightforward text-file viewer (essentially it could open files and count the number of lines in each), but it integrates with GNOME 3's session bus, newer APIs (such as the global "App Menu"), GSettings settings framework, animated transition effects, and more.

Many of the widgets shown in the tutorial are new for 3.10, and up until now have only been seen by users in previews of the new "core" GNOME applications, like Clocks, Maps, or Web. These new applications tend to be design-driven utilities, focusing on presenting information (usually just one type of information) simply, without much use for the hierarchical menus and grids of buttons one might see in a complex editor.

[Example with
GtkHeaderBar and GtkStackSwitcher]

But the stripped-down design approach has given rise to several new user interface widgets, such as GtkHeaderBar, the tall menubar featuring centered items that is visible in all of the new core applications. Also new is the strip of toggle-buttons that lets the user switch between documents and views. These toggle-buttons are a GtkStackSwitcher, which is akin to the document tabs common in older applications. The switcher is bound to a GtkStack, which is a container widget that can hold multiple child widgets, but shows only one at a time. In his example, Clasen showed how to open multiple files, each as a child of the GtkStack. The GtkStack–GtkStackSwitcher pair is not all that different than the tabbed GtkNotebook of earlier GTK+ releases, but it has far fewer properties to manage, and it can take advantage of new animated transitions when switching between children. Clasen showed sliding and crossfading transitions, and commented that they were made possible by Owen Taylor's work on frame synchronization.

He also showed the new GtkSearchBar widget, which implements a pre-fabricated search tool that drops out of the GtkHeaderBar, thus making adding search functionality to an application simpler (and more unified across the spectrum of GTK+ applications). He also added a sidebar to his example, essentially just to show off the other two new widgets, GtkRevealer and GtkListBox. GtkRevealer is the animated container that slides (or fades) in to show the sidebar, while GtkListBox is the sortable list container widget.

[Completed example]

The talk was not all widgets, though; Clasen also demonstrated how the GSettings preferences system works, setting font parameters for his example application, then illustrating how they could be changed from within the UI of the application itself, or with the gsettings command-line tool. He also showed how glib-compile-resources can be used to bundle application resources (such as icons and auxiliary files) into the binary, and how GtkBuilder templates can simplify the creation of user interfaces. All in all, the application he created from scratch was a simple one, but it was well-integrated with GNOME's latest features and, he said, only about 500 lines of C in total, with an additional 200 lines (of XML) describing the user interface.

What about Bob?

Clasen's talk brought application developers up to speed on the latest additions to GTK+ itself, while two other sessions looked further out, to the 3.12 development cycle and beyond. Emmanuele Bassi is the maintainer of the Clutter toolkit, which is used in conjunction with GTK+ by a few key projects, most notably GNOME Shell and the Totem video player. His session dealt with the recurring suggestions he hears from users and developers: either what "Clutter 2.0" should do, or that Clutter should be merged into GTK+. "This talk is less of a presentation, and more of an intervention" he said.

Clutter uses OpenGL or OpenGL ES to render a scene graph; interface elements are "actors" on the application's ClutterStage. Actors can be easily (even implicitly) animated, with full hardware acceleration. Clutter has been able to embed GTK+ widgets, and GTK+ applications have been able to embed Clutter stages, for several years. Nevertheless, as Bassi explained, Clutter was never meant to be a generic toolkit, and he is not even sure there should ever be a Clutter 2.0.

Originally, he said, Clutter was designed as the toolkit for a full-screen media center application; it got adapted for other purposes over its seven-year history, but most people who have used it have ended up writing their own widget toolkit on top of Clutter itself. That should tell you that it isn't done right, he said.

Today Clutter is really only used by GNOME Shell, he said. But being "the Shell toolkit" is not a great position to be in, since GNOME Shell moves so quickly and "plays fast and loose with the APIs." There are two other Clutter users in GNOME, he added, but they use it for specific reasons. Totem uses Clutter to display GStreamer videos only "because putting a video on screen with GStreamer is such a pain"—but that really just means that GStreamer needs to get its act together. The virtual machine manager Boxes also uses Clutter, to do animation of widgets.

So when it comes to Clutter's future, Bassi is not too interested in creating a Clutter 2.0, because the current series already implements all of the scene graph and animation features he wants it to (and the things it doesn't do yet would require breaking the API). But the most common alternative proposal—merging Clutter into GTK+—is not all that appealing to him either. As he pointed out, other applications have implemented their own widget toolkits on top of Clutter with little in the way of widespread success, using libraries to "paper over" Clutter's problems. If you want to do another, he said, "be my guest." At the same time, compositors like GNOME Shell's Mutter have to "strip out a bunch of stuff" like the layout engine. In addition, GTK+ already has its own layout, event handling, and several other pieces that are duplicated in Clutter. Offering both systems to developers would send a decidedly mixed message.

Ultimately, though, Bassi does think that GTK+ needs to start adding a scene graph library, which is the piece of Clutter that everyone seems to want. But, he said, there is no reason he needs to call it Clutter. "We can call it Bob," he suggested. But Bob needs design work before it can be implemented, and he had several suggestions to make. It should have some constraints, such as being confined to GDK ("which sucks, but is still better than Qt" he commented) as the backend. It should avoid input and event handling, which do not belong in the scene graph. It should be 2D offscreen surfaces blended in 3D space—using OpenGL "since that's all we've got." It should not have a top-level actor (the ClutterStage), since that was an implementation decision made for purely historical reasons. And it must not introduce API breaks.

Considering those constraints separately, Bassi said, the scene graph in Clutter is actually okay. Porting it over would require some changes, but is possible. He has already started laying the groundwork, he said, since the April 2013 GTK+ hackfest. He implemented a GtkSceneGraph-3.0 library in GTK+, which passed its initial tests but was not really doing anything. He also implemented the first steps of adding OpenGL support to GDK: creating a GLContext and passing it down to Cairo. There is much more to come, of course; several other core GNOME developers had questions about Bassi's proposal, including how it would impact scrolling, input events, custom widgets, and GTK+ support on older GPU hardware. Bassi explains a bit more on the GNOME wiki, but the project is certain to remain a hot topic for some time to come.

Whose toolkit is it anyway?

Last but definitely not least, Benjamin Otte presented a session on the long-term direction of GTK+, in particular the technical features it needs to add and the all-important question of how it defines its scope. That is, what kind of toolkit is GTK+ going to be? How will it differ from Qt, HTML5, and all of the other toolkits?

On the technical front, he cited two features which are repeatedly requested by developers: the Clutter-based scene graph based on Bassi's work mentioned above, and gesture support. The scene graph is important because GTK+'s current drawing functions make it difficult to tell what element the cursor is over at any moment. Making each GTK+ widget a Clutter-based actor would make that determination trivial, and provide other features like making widgets CSS-themable. Gesture support involves touch detection and gesture recognition itself (i.e., defining a directional "swipe" that can be bound to an action); Otte noted that GTK+'s existing input support is essentially just XInput.

The bigger part of the talk was spent examining what Otte called the "practical" questions: defining what GTK+ is meant to be and what it is not. His points, he stated at the outset, do not represent what he personally likes, but are the result of many conversations with others. They already form the de-facto guidance for GTK+ development, he said; he was simply putting them out there.

The first point is OS and backend support: which OSes will GTK+ support, and how well? The answer is that GTK+ is primarily intended to be used on the GNOME desktop, using X11 as the backend. Obviously it is transitioning to Wayland while supporting X11, which has forced developers to work in a more abstract manner than they might have otherwise. That makes this a good time for any interested parties to write their own backends (say, for Android or for something experimental). But the fact remains that in the absence of new developers, the project will make sure that features work right on X11 and Wayland, and will do its best to support them on other platforms. For example, Taylor's frame synchronization is written native to X11, and the timer mechanism can only be approximated on Mac OS X, but it should work well enough.

Similarly, he continued, GTK+ is targeting laptops as the device form factor, with other form factors (such as phones, or development boards without FPUs) often requiring some level of compromise. Desktops are "laptop-like," he said, particularly when it comes to CPU power and screen size. Laptops also dictate that "keyboard and mouse" are the target input devices. Touchscreen support will hopefully arrive in the future, he said, but that is as touchscreens become more common on laptops.

These decisions lead into the bigger question of whether GTK+ seeks to be its own platform or to be a neutral, "integrated" toolkit. For example, he said, should a GTK+ app running on KDE be expected to look like a native KDE app? His answer was that GTK+ must focus on being the toolkit of the GNOME platform first, and tackle integration second. The project has tried to keep cross-platform compatibility, he said. For example, the same menus will work in GNOME, Unity, and KDE, but the primary target platform is GNOME.

Finally, he said, people ask whether GTK+ is focused on creating "small apps" or "large applications," and his answer is "small apps." In other words, GTK+ widgets are designed to make it easy and fast to write small apps for GNOME: apps like Clocks, rather than GIMP or Inkscape. The reality of it is, he said, that large applications like GIMP, Inkscape, Firefox, and LibreOffice typically write large amounts of custom widgets to suit their particular needs. If GTK+ tried to write a "docking toolbar" widget, the odds are that GIMP developers would complain that it did not meet their needs, Inkscape developers would complain that it did not meet their needs either, and no one else would use it at all.

An audience member asked what Otte's definitions of "small" and "large" are, to which he replied that it is obviously a spectrum and not a bright line. As a general rule, he said, if the most time-consuming part of porting an application to a different platform is porting all of the dialog boxes, then it probably qualifies as "large." Then again, he added, this is primarily a matter of developer time: if a bunch of new volunteers showed up this year wanting to extend GTK+ to improve the PiTiVi video editor, then a year from now GTK+ would probably have all sorts of timeline widgets.

People often ask why they should port an application from GTK2 to GTK3, Otte said. His answer historically was that GTK3 is awesome and everyone should port, but he said he has begun to doubt that. The truth is that GTK2 is stable and unchanging, even boring—but that is what some projects need. He cited one project that targets RHEL5 as its platform, which ships a very old version of GTK2. Creating a GTK3 port would just cost them time, he said. The real reason someone should port to GTK3 today, he concluded, is to take advantage of the new features that integrate the application with GNOME 3—but doing so means committing to keeping up with GNOME 3's pace of change, which is intentionally bold in introducing new features.

Eventually, he said, he hopes that GTK+ will reach a point where the bold experiments are done. This will be after the scene graph and gesture support, but it is hard to say when it will be. Afterward, however, Otte hopes to make a GTK4 major release, removing all of the deprecated APIs, and settling on a GTK2-like stable and unchanging platform. The project is not there yet, he said, and notably it will keep trying to be bold and add new things until application developers "throw enough rocks" to convince them to stop. The rapidly-changing nature of GTK3 is a headache for many developers, he said, but it has to be balanced with those same developers' requests for new features like gesture recognition and Clutter integration.

Otte's statements that GTK+ was a "GNOME first" project were frequently a topic for debate at the rest of GUADEC. One audience member even asked him during his talk whether this stance left out other major GTK+-based projects like LXDE and Xfce. Otte replied that he was not trying to keep those projects out; rather, since GNOME developers do the majority of the GTK+ coding, their decisions push GTK+ in their direction. If other projects want to influence GTK+, he said, they need to "participate in GTK+ somehow," at the very least by engaging with the development team to communicate what the projects want.

"What is GTK+" is an ongoing question, which is true of most free software projects (particularly of libraries). There is no simple answer, of course, but the frank discussion has benefits of its own, for the project and for GTK+ developers. As the 3.10 releases of GTK+ and GNOME approach, at least both projects are still assessing how what they do can prove useful to other application developers.

[The author wishes to thank the GNOME Foundation for assistance with travel to GUADEC 2013.]

Index entries for this article
ConferenceGUADEC/2013


to post comments

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 2:46 UTC (Thu) by tnoo (subscriber, #20427) [Link] (4 responses)

I'm utterly confused.GTK used to mean "GIMP Toolkit", and was written to suit the GIMP, Based on this effort the GNOME desktop evolved. But here it is said that applications like GIMP would be unlikely to use GTK?

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 3:21 UTC (Thu) by tetromino (guest, #33846) [Link] (1 responses)

The way I read it, gtk developers are targeting the new widgets they have been adding primarily at small and simple applications by giving these widgets only the most commonly requested features. Gimp and other large applications with unusual UI requirements are expected to implement their own widgets if they need something with extra functionality which no other project would ever be likely to use.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 16:21 UTC (Thu) by ebassi (subscriber, #54855) [Link]

I think it's worth to reiterate that "small" and "simple" are relative terms.

an application is "small" or "simple" if it does not have a large quantity of custom widgets that handle presentation in a completely different way than the stock layout managers and widgets provided by the toolkit itself. Gimp, for instance, uses gtk for many of its UI elements, but the large chunk of the UI is built on very custom widgets, which occupy a very small niche of use cases. the example that Benjamin brought was the dockable widget — i.e. a widget capable of containing a set of tool boxes that can be rearranged by drag and drop. while it's a concept used in a certain set of applications, it's highly unlikely that we can add such widget inside gtk, because it would need to satisfy different use cases and then port all the applications using their own custom widget to the new, generic, one.

another point is that both LibreOffice and Firefox don't really use gtk at all, except for integration purposes on Linux. they both have their own toolkit, which may or may not draw something resembling the gtk style.

as the last few cycles of the 3.x branch demonstrates, gtk is getting a wealth of new widgets, as well as new layout managers; if a widget is used by various applications, and it expresses a common UI pattern, then it should definitely be included in the core toolkit.

GTK++, stability, and the uncluttered future

Posted Aug 22, 2013 6:24 UTC (Thu) by torquay (guest, #92428) [Link] (1 responses)

I'm also rather confused by:
    His answer historically was that GTK3 is awesome and everyone should port, but he said he has begun to doubt that. The truth is that GTK2 is stable and unchanging, even boring—but that is what some projects need. ... The real reason someone should port to GTK3 today, he concluded, is to take advantage of the new features that integrate the application with GNOME 3—but doing so means committing to keeping up with GNOME 3's pace of change, which is intentionally bold in introducing new features. ... Eventually, he said, he hopes that GTK+ will reach a point where the bold experiments are done.

So is GTK 3.x stable or not ? Specifically, if a given package is linked with GTK 3.8, is there a guarantee that it will work with GTK 3.10 ?

Or are certain specific parts of GTK 3 marked as unstable ?

On a related note, if people are not encouraged to port to GTK 3, what happens with GTK 2.x based applications when the switchover to Wayland happens? Is there going to be Wayland backend added to GTK 2 ?

GTK++, stability, and the uncluttered future

Posted Aug 22, 2013 11:29 UTC (Thu) by PhilHannent (guest, #1241) [Link]

To answer your last question. GTK 2 shouldn't need porting as it could run on XWayland: http://wayland.freedesktop.org/xserver.html

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 7:13 UTC (Thu) by zenaan (guest, #3778) [Link] (4 responses)

> Ultimately, though, Bassi does think that GTK+ needs to start adding a scene graph library
..
> The scene graph is important because GTK+'s current drawing functions make it difficult to tell what element the cursor is over at any moment. Making each GTK+ widget a Clutter-based actor would make that determination trivial, and provide other features like making widgets CSS-themable

Welll ...
"Evas is a clean display canvas API that implements a scene graph," see
http://trac.enlightenment.org/e/wiki/Evas

Back in the day Rasterman/Carsten implemented some GTK+ theme engines and more. E libs such as Evas really were way ahead of their time. Now perhaps some can see that Gnome is _still_ trying to catch up. That's how it looks to me anyway.

Gesture support?

Scalable/dynamic, declarative UIs?

Multiple platforms?

Clean architecture, comprehensive and well thought out library layers ... the list goes on and on.

There was even a time in my memory when it looked like it might be possible that Gnome and E might merge.

Anyway, I think it might greatly behoove Gnome/GTK+ developers to take another look at the Enlightenment libs. Really, a lot of ground has been thoroughly trod over in the E camp.

I would very much appreciate any feedback here on LWN re E libs etc.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 10:51 UTC (Thu) by zenaan (guest, #3778) [Link]

For future reference, and for those wishing to research, I just added the "Scene graphs in user interfaces" section which is primarily a list of various canvas libraries, to:
http://en.wikipedia.org/wiki/Scene_graph

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 11:34 UTC (Thu) by ebassi (subscriber, #54855) [Link]

Now perhaps some can see that Gnome is _still_ trying to catch up.

GNOME and GTK haven't been "catching up" to EFL. it's actually pretty much the other way around, and to be fair, it's going to be a long time before the EFL set of bajillion libraries can compete in terms of design, engineering practices, and implementation, with the libraries in the GNOME platform.

I think you missed the point that Clutter has been available and used for 7 years; all this time, it has been integrated with the GNOME platform. in order for Clutter and GTK to get better, and get more features and users, they need to merge. Clutter has to turn into something at the very core of the platform diagram, not as something that you can opt in.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 15:58 UTC (Thu) by drag (guest, #31333) [Link] (1 responses)

> E libs such as Evas really were way ahead of their time.

Hard to believe that when the E17 project has been around for longer then GTK2 and yet has a tiny fraction of the useful applications of GTK3.

I suppose it's the same sort of thing people bring up with Resier4 vs Btrfs as "being ahead of it's time".

GTK++, stability, and the uncluttered future

Posted Aug 17, 2013 9:20 UTC (Sat) by dvdeug (guest, #10998) [Link]

What does that have to do with anything? Things that are ahead of their time are often cannibalized by their more-popular siblings and left to die. Many of the languages of the 1960s were way ahead of Fortran and Cobol; not one of them is still used, while Fortran lives, with object orientation no less. (If you don't count C, at best a language of the tail end of the 1960s.)

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 8:20 UTC (Thu) by tpm (subscriber, #56271) [Link] (3 responses)

The reason Totem uses Clutter is not "because putting a video on screen with GStreamer is such a pain", but because it's the easiest way to draw stuff on top of videos, which you generally can't do with e.g. xv overlays. Totem managed to put videos on screen with GStreamer long before Clutter even existed.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 11:28 UTC (Thu) by ebassi (subscriber, #54855) [Link] (2 responses)

sure, and as I said in the talk, you can easily witness the amount of code that the Totem maintainer was able to remove just by using Clutter and the Clutter-GStreamer API.

the main objection is not that putting a frame of a video on the screen is impossible with GStreamer: it's obviously possible. the objection is that it's frickin hard - and, to be fair, quite unnecessarily so. there is a distinctive lack of convenience API in that sector, which is why people started using Clutter-GStreamer as soon as it was published, 6 years ago.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 22:26 UTC (Thu) by tpm (subscriber, #56271) [Link]

Most of the awkwardness of putting a video on screen is gone in GStreamer 1.0. You can now simply set the window handle/id on playbin, and it will proxy it to the video sink later. That's about 3 lines of code for a Gtk widget. I don't think that qualifies as "frickin' hard". In the old 0.10 days you had to do complicated things in a synchronous bus handler called from another thread etc., that's no longer required.

We certainly need nicer high-level API for playback, especially for Gtk+ users. A full-featured GtkVideoWidget with some nice API to control it would be great, whether in Gtk+ or elsewhere. Even the Qt folks have something already.

But all that is a different discussion really and not related to your claims why Totem switched to Clutter, since Totem doesn't even use any of clutter-gst's convenience API, it only uses the sink for output and still controls playbin directly. The savings in terms of lines of code were minimal (+282-856, 9ef416ce) btw, not least because it then had to copy'n'paste in a new widget (+498) to restore proper aspect ratio functionality "until we get a solution for this directly in ClutterGst" (f782e2e1).

Not that I think there's anything wrong with using Clutter, it's just that Totem didn't switch to it for the reasons you claim. It's simply the most sensible option for video rendering in a GNOME3 context given Gtk-3's massive lack in this area, which is hardly GStreamer's fault, and mostly a symptom of the Linux graphics stack having been in flux for the last few years.

In any case, I'm looking forward to your work on all this inside Gtk+.

GTK++, stability, and the uncluttered future

Posted Aug 22, 2013 17:01 UTC (Thu) by ScotXW (guest, #92493) [Link]

Up until recently I wasn't even aware, that clutter is a toolkit, like the other toolkits...

So I draw this two svgs: [1]. Is this correct? Anything to add or remove again? I see modern compositing but also modern 3D-gaming being important. A lean and mean design (Latency...) is important for both.

I watched the video from LCA2013 [2] Clutter 2 and GTK+4 and also some other stuff. I am not a programmer myself, and I do not plan to become one. But I do use software, and friends and friends of friends sometimes ask me 'bout their OS and how to fix it, and I began telling them to switch and use GNOME or Xfce instead of the evil OS or the other evil OS. ON either Debian stable or now on Fedora (because the newer the GNOME the better it seems to work, this means the less feature in-complete GNOME is... *cough*)

Out of curiosity I started snooping around the bases of the desktop and which one (Qt-based or GTK+-based) has the brighter future, i.e. can attract most talented core developers AND application developers. I still have no idea, but at least I draw those stupid SVGs to brings others like me more quickly up to speed. So, can you mend them, make them better, use them to explain the future?

[1] http://en.wikipedia.org/wiki/User:ScotXW
[2] http://conf.linux.org.au/schedule/30067/view_talk?day=thu...

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 14:24 UTC (Thu) by hunger (subscriber, #36242) [Link] (2 responses)

Thank you for explaining why projects like LXDE are considering to move from GTK2 to Qt. That must be a lot of work and a lot of relearning and I had been wondering why they are willing to do that for a while now.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 14:28 UTC (Thu) by halla (subscriber, #14185) [Link] (1 responses)

I've never had to do such a port (fortunately), so I cannot assess how useful this guide is, but it was recommended to me as pretty useful: http://wiki.lxde.org/en/Migrate_from_GTK%2B_to_Qt .

GTK++, stability, and the uncluttered future

Posted Aug 16, 2013 10:06 UTC (Fri) by hunger (subscriber, #36242) [Link]

Thanks for that link, it is a very interesting read indeed.

I went ahead and added a Porting page to the Qt project wiki to collect pages like that and added that link for future reference.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 16:15 UTC (Thu) by maxiaojun (guest, #91482) [Link] (2 responses)

From the code example, GTK+ should be referred as "GTK+, or the GNOME Toolkit, is a single-platform toolkit for creating graphical user interfaces.". Fix http://www.gtk.org/ please.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 16:22 UTC (Thu) by ebassi (subscriber, #54855) [Link] (1 responses)

obvious troll is obvious. also, you fail at reading comprehension.

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 16:52 UTC (Thu) by maxiaojun (guest, #91482) [Link]

GTK++, stability, and the uncluttered future

Posted Aug 15, 2013 16:48 UTC (Thu) by maxiaojun (guest, #91482) [Link] (1 responses)

BTW, the golden age of Linux GUI application has gone. There are many useful GUI applications ([1], [2] and many more) dead with random version GTK2 and often libgnome*.

New application should indeed go with HTML5 or Qt, which are much better documented and supported. Let the shoddy designers of GNOME continue to steal ideas from other people, continue to build majestic core Apps like Clocks.

1. http://i8086emu.sourceforge.net/
2. http://sourceforge.net/projects/gstm/

GTK++, stability, and the uncluttered future

Posted Aug 22, 2013 10:58 UTC (Thu) by tuna (guest, #44480) [Link]

Then help those apps move forward. You have the source and everything needed.

GTK++, stability, and the uncluttered future

Posted Aug 22, 2013 15:12 UTC (Thu) by heijo (guest, #88363) [Link]

The problem of all this is that the GNOME brand and desktop are now dead after having been devastated and vandalized by McCann & co., and GTK+ is almost surely doomed without those.

The future is HTML5, Android and to some extent Qt.

GTK++, stability, and the uncluttered future

Posted Aug 28, 2013 13:50 UTC (Wed) by glaesera (guest, #91429) [Link]

Boredom really is, what I need very often, too. So I am quite compassionate with projects, that still stick to GTK2.
At this time I use GNOME3.2 from Debian-Wheezy and think it is quite OK, only marginal problems appear, for example, when the cairo-dock interferes with fullscreen or almost fullscreen-windows or with popping up context-menus.
Nothing of that was reported yet, because it really seems marginal, though it slackens the workflow sometimes.
Today I found, that Windows that were dragged to the side of the screen to fill the right half, for example, cannot be altered in size, but only torn away from their side of the screen again, in order to continue their lives as normal windows.
Maybe it would be nice, if that half-screen-condition would be less of an exception.


Copyright © 2013, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds