<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: GTK+ Matters</title>
	<atom:link href="http://www.atoker.com/blog/2007/10/29/gtk-matters/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/</link>
	<description>There is a third way</description>
	<pubDate>Tue, 08 Jul 2008 20:54:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Nicholas E. Manley</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1319</link>
		<dc:creator>Nicholas E. Manley</dc:creator>
		<pubDate>Wed, 31 Oct 2007 23:45:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1319</guid>
		<description>Gecko and XUL are hogs and I've completely lost faith in Mozilla.  WebKit has better standards support and is much faster.  Unfortunately, as a GNOME user, I don't have a lot of options for quality GTK+ web browsers that use WebKit.  Midori is still too immature and not widely supported, Epiphany is still mainly Gecko focused; and trust me, I've looked at the source code for Epiphany.  It has become way too complex, which is only going to slow down bug fixes and the adding of additional features.  I'm working on my own browser at the moment since everything currently out there doesn't meet my standards.  I will definitely release it since I know that I am not the only one fed up with the current situation of browsers.</description>
		<content:encoded><![CDATA[<p>Gecko and XUL are hogs and I&#8217;ve completely lost faith in Mozilla.  WebKit has better standards support and is much faster.  Unfortunately, as a GNOME user, I don&#8217;t have a lot of options for quality GTK+ web browsers that use WebKit.  Midori is still too immature and not widely supported, Epiphany is still mainly Gecko focused; and trust me, I&#8217;ve looked at the source code for Epiphany.  It has become way too complex, which is only going to slow down bug fixes and the adding of additional features.  I&#8217;m working on my own browser at the moment since everything currently out there doesn&#8217;t meet my standards.  I will definitely release it since I know that I am not the only one fed up with the current situation of browsers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert O'Callahan</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1314</link>
		<dc:creator>Robert O'Callahan</dc:creator>
		<pubDate>Mon, 29 Oct 2007 20:50:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1314</guid>
		<description>alp, that's awesome. Glad to hear it!

A few more questions, if I may:

-- how are you handling combobox dropdowns? Are you instantiating a real widget there?

-- how are you handling widget rotation and other transformations? and printing widgets to PDF etc? If you haven't discovered it already, you might find cairo-xlib-utils (which I wrote) useful:
http://mxr.mozilla.org/seamonkey/source/gfx/thebes/src/cairo-xlib-utils.h
http://mxr.mozilla.org/seamonkey/source/gfx/thebes/src/cairo-xlib-utils.c
Basically it lets you take code that expects an X drawable to draw it into, and makes it draw into an arbitrary cairo_t in an arbitrary state. It uses a temporary X pixmap if necessary. When the widget might draw partly transparent, it has to use two temporary pixmaps and do some calculation to recover the alpha values :-(. That's obviously a horrible hack (although corralled inside a decent API IMHO) so...

-- given that a lot of GTK themes actually use cairo to draw these days, have you talked to anyone about having GTK expose an API so we can just pass a cairo_t into a version of equivalent of gtk_paint_box etc?

There are other things we could talk about, like plugin handling, and the 16-bit-coordinate overflow problem in really tall overflow:auto elements. And if there's anything you want to ask me, feel free. Comments in your blog might not be the best venue though.</description>
		<content:encoded><![CDATA[<p>alp, that&#8217;s awesome. Glad to hear it!</p>
<p>A few more questions, if I may:</p>
<p>&#8211; how are you handling combobox dropdowns? Are you instantiating a real widget there?</p>
<p>&#8211; how are you handling widget rotation and other transformations? and printing widgets to PDF etc? If you haven&#8217;t discovered it already, you might find cairo-xlib-utils (which I wrote) useful:<br />
<a href="http://mxr.mozilla.org/seamonkey/source/gfx/thebes/src/cairo-xlib-utils.h" rel="nofollow">http://mxr.mozilla.org/seamonkey/source/gfx/thebes/src/cairo-xlib-utils.h</a><br />
<a href="http://mxr.mozilla.org/seamonkey/source/gfx/thebes/src/cairo-xlib-utils.c" rel="nofollow">http://mxr.mozilla.org/seamonkey/source/gfx/thebes/src/cairo-xlib-utils.c</a><br />
Basically it lets you take code that expects an X drawable to draw it into, and makes it draw into an arbitrary cairo_t in an arbitrary state. It uses a temporary X pixmap if necessary. When the widget might draw partly transparent, it has to use two temporary pixmaps and do some calculation to recover the alpha values :-(. That&#8217;s obviously a horrible hack (although corralled inside a decent API IMHO) so&#8230;</p>
<p>&#8211; given that a lot of GTK themes actually use cairo to draw these days, have you talked to anyone about having GTK expose an API so we can just pass a cairo_t into a version of equivalent of gtk_paint_box etc?</p>
<p>There are other things we could talk about, like plugin handling, and the 16-bit-coordinate overflow problem in really tall overflow:auto elements. And if there&#8217;s anything you want to ask me, feel free. Comments in your blog might not be the best venue though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alp</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1313</link>
		<dc:creator>alp</dc:creator>
		<pubDate>Mon, 29 Oct 2007 20:19:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1313</guid>
		<description>Robert: There is still some widget instantiation in a few corner cases, but that isn't unique to WebKit. We call gtk_paint_* for nearly all native themed widgets right now, and we are moving towards direct re-use of gtk2drawing.cpp from the Mozilla code-base.

The authors of gtk2drawing.cpp have put effort into keeping their code portable and independent of the rest of Mozilla, which is much appreciated.

gtk2drawing.cpp handles a lot of quirks that we don't want to have to go through the process of re-discovering and I'm looking forward to sharing this work and contributing back to Mozilla as we make fixes or when the GTK+ style API is improved.</description>
		<content:encoded><![CDATA[<p>Robert: There is still some widget instantiation in a few corner cases, but that isn&#8217;t unique to WebKit. We call gtk_paint_* for nearly all native themed widgets right now, and we are moving towards direct re-use of gtk2drawing.cpp from the Mozilla code-base.</p>
<p>The authors of gtk2drawing.cpp have put effort into keeping their code portable and independent of the rest of Mozilla, which is much appreciated.</p>
<p>gtk2drawing.cpp handles a lot of quirks that we don&#8217;t want to have to go through the process of re-discovering and I&#8217;m looking forward to sharing this work and contributing back to Mozilla as we make fixes or when the GTK+ style API is improved.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert O'Callahan</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1312</link>
		<dc:creator>Robert O'Callahan</dc:creator>
		<pubDate>Mon, 29 Oct 2007 19:02:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1312</guid>
		<description>alp, I never meant to question the validity of your work. "Webkit is a good engine and getting it running in GNOME is a good thing", like I said.

Can we forget that stuff and discuss how you're doing the GTK styling? Are you instantiating one real GTK widget per HTML element and letting them paint themselves, or are you doing something more like what we do and calling gtk_paint_box etc?</description>
		<content:encoded><![CDATA[<p>alp, I never meant to question the validity of your work. &#8220;Webkit is a good engine and getting it running in GNOME is a good thing&#8221;, like I said.</p>
<p>Can we forget that stuff and discuss how you&#8217;re doing the GTK styling? Are you instantiating one real GTK widget per HTML element and letting them paint themselves, or are you doing something more like what we do and calling gtk_paint_box etc?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Karl Lattimer</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1310</link>
		<dc:creator>Karl Lattimer</dc:creator>
		<pubDate>Mon, 29 Oct 2007 14:05:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1310</guid>
		<description>/me is happy to evangelize webkit/GTK+ on behalf of the project :) 

just email me with a list of evangelizing topics and I'll be happy to spread the love, word and plain brilliance :)</description>
		<content:encoded><![CDATA[<p>/me is happy to evangelize webkit/GTK+ on behalf of the project <img src='http://www.atoker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>just email me with a list of evangelizing topics and I&#8217;ll be happy to spread the love, word and plain brilliance <img src='http://www.atoker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ulrik</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1309</link>
		<dc:creator>Ulrik</dc:creator>
		<pubDate>Mon, 29 Oct 2007 13:14:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1309</guid>
		<description>I really don't want to add any Schadenfreude, but I'm thrilled about this: I think WebKit/Gtk+ does a Tour de Force because of what it is: A reusable easy-hackable featureful free-software library (aka "piece of code"), simply attracting attention for what it is and how well that model corresponds to how "pieces of code" on free systems are used and shared. People from all over simply realize they can use it too. 

This is the monolithic mozilla vs lighter firefox comparison again: this time we need something truly library-like. The web is bigger than just the web browser and in some years Firefox will have adapted or been marginalized.</description>
		<content:encoded><![CDATA[<p>I really don&#8217;t want to add any Schadenfreude, but I&#8217;m thrilled about this: I think WebKit/Gtk+ does a Tour de Force because of what it is: A reusable easy-hackable featureful free-software library (aka &#8220;piece of code&#8221;), simply attracting attention for what it is and how well that model corresponds to how &#8220;pieces of code&#8221; on free systems are used and shared. People from all over simply realize they can use it too. </p>
<p>This is the monolithic mozilla vs lighter firefox comparison again: this time we need something truly library-like. The web is bigger than just the web browser and in some years Firefox will have adapted or been marginalized.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eagle Eyes</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1308</link>
		<dc:creator>Eagle Eyes</dc:creator>
		<pubDate>Mon, 29 Oct 2007 12:47:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1308</guid>
		<description>“Apple with too much power over the free desktop...”

-- Mozilla developer, typing into Firefox on his Mac Book Pro</description>
		<content:encoded><![CDATA[<p>“Apple with too much power over the free desktop&#8230;”</p>
<p>&#8211; Mozilla developer, typing into Firefox on his Mac Book Pro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alp</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1307</link>
		<dc:creator>alp</dc:creator>
		<pubDate>Mon, 29 Oct 2007 12:46:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1307</guid>
		<description>Chris: You're quite right. To some extent I think our hands are tied with what we can do given the apparent mismatch between the scrolling models of HTML controls and GTK+ widgets, but there is certainly some room for improvement here.</description>
		<content:encoded><![CDATA[<p>Chris: You&#8217;re quite right. To some extent I think our hands are tied with what we can do given the apparent mismatch between the scrolling models of HTML controls and GTK+ widgets, but there is certainly some room for improvement here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alessandro</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1306</link>
		<dc:creator>Alessandro</dc:creator>
		<pubDate>Mon, 29 Oct 2007 11:50:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1306</guid>
		<description>I really really appreciate your work, go on, you're defenitely on the right path! :-)</description>
		<content:encoded><![CDATA[<p>I really really appreciate your work, go on, you&#8217;re defenitely on the right path! <img src='http://www.atoker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: monk-fan</title>
		<link>http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1305</link>
		<dc:creator>monk-fan</dc:creator>
		<pubDate>Mon, 29 Oct 2007 11:48:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.atoker.com/blog/2007/10/29/gtk-matters/#comment-1305</guid>
		<description>&#62; Give it a few months

I'll give you time till 2.22 ;)

seriously, this is really cool :) hope to get that soon on my desktop</description>
		<content:encoded><![CDATA[<p>&gt; Give it a few months</p>
<p>I&#8217;ll give you time till 2.22 <img src='http://www.atoker.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>seriously, this is really cool <img src='http://www.atoker.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> hope to get that soon on my desktop</p>
]]></content:encoded>
	</item>
</channel>
</rss>
