Blog
XCB out, GTK in
Date: 19/3/2010
So I've removed all traces of XCB from the Linux build of Lgi and replaced it with Gtk2. I found that the Xcb library too under-documented, the community / mailing list helpful but not to the point of resolving issues I had and most of all, the end result was much slower than xlib, for reasons I don't fully understand. So I give up.

The Gtk build of Lgi boots a blank window in LgiIde so far, which is a good sign. A few hours of hacking and I have something to look at already. I expect adding some basic sub-views, menus etc will actually take relatively little time, although that said I already have no time to work on code so maybe they cancel out!

And yes, this does mean I may be moving away from Lgi as a "to the metal API" and it might morph into a wrapper around something else as a half way house for my apps. I may not be using C++ in 5 years time, the world is changing and the web is taking over everything, and I have less and less time to work on fun projects. Maybe even the Mac port might become a wrapper around Gtk... who knows. But it does give me options.

My plan with the Gtk stuff is to use as little as possible of the Gtk layout stuff and have it as a very thin layer between Lgi and the underlying OS. That way hopefully the apps look and feel like an Lgi app still, and not Gtk like at all. I generally feel Gtk has the lowest look and feel index of all the xp-libs, but it runs everywhere and the license is compatible. The other option in my mind was Qt, but the slots system pissed me off no end when I used it 6-7 years ago. So I really didn't want to use that. And Wx is a wrapper around Gtk anyway, so why bother with that?

Unless there is a compelling alternative to Gtk that I should know about?
 
Reply
From:
Email (optional): (Will be HTML encoded to evade harvesting)
Message:
 
Remember username and/or email in a cookie.
Notify me of new posts in this thread via email.
BBcode:
[q]text[/q]
[url=link]description[/url]
[img]url_to_image[/img]
[pre]some_code[/pre]
[b]bold_text[/b]