<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Richard Hult</title>
      <link>http://people.imendio.com/richard/</link>
      <description></description>
      <language>en</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Mon, 07 Jul 2008 14:33:53 +0100</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.2</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Totem on GTK+ OS X</title>
         <description><![CDATA[<p>It's too hot in Istanbul to have the energy to write something useful right now, but since I promised Bastien a screenshot, here it is: </p>

<p><a href="http://people.imendio.com/richard/screenshots/totem-gtk-osx.png"><img width="400px" src="http://people.imendio.com/richard/screenshots/totem-gtk-osx.png"/></a></p>

<p>This is Totem running on GTK+ OS X, but without any nice integration with the global menubar and there is no clean patch that can be committed. (The changes are mostly commenting out some X11 and GNOME dependencies.)</p>

<p>It's using a video sink that renders into a GdkWindow (actually it's backing NSView) through OpenGL, based on the Cocoa video sink that comes with GStreamer.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2008/07/totem_on_gtk_os.html</link>
         <guid>http://people.imendio.com/richard/archives/2008/07/totem_on_gtk_os.html</guid>
         <category></category>
         <pubDate>Mon, 07 Jul 2008 14:33:53 +0100</pubDate>
      </item>
            <item>
         <title>GTK+ and GStreamer on Mac</title>
         <description><![CDATA[<p>I've used Gossip and Giggle in the past as examples of creating Mac bundles of GTK+ apps. Now I have another example that is a bit more complex, in that it uses GStreamer. The test case this time is the good old...</p>

<p> Jamboree music player!</p>

<p>I dug it up from the GNOME SVN archive and it worked pretty much out of the box after cleaning up the makefiles a bit and adding support for the <a href="http://developer.imendio.com/projects/gtk-macosx/integration">Mac integration</a> library to hook up the menubar.</p>

<p>The latest version of the Mac <a href="http://people.imendio.com/richard/archives/2008/07/new_version_of.html">bundler</a> and the bundle file <a href="http://git.imendio.com/?p=richard/jamboree.git;a=blob;f=data/packaging/mac/jamboree.bundle;h=b336261b7ad04deeebd30158bbbf0c12bab25c57;hb=HEAD"> here</a> results in a nice little bundle.</p>

<p>It looks like this:<br />
<a href="http://people.imendio.com/richard/screenshots/jamboree-gtk-osx.png"><img width="400px" src="http://people.imendio.com/richard/screenshots/jamboree-gtk-osx.png"/></a></p>

<p>GStreamer works nicely, and using the QuickTime wrapper element gives access to all formats supported by the platform.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2008/07/gstreamer_and_g.html</link>
         <guid>http://people.imendio.com/richard/archives/2008/07/gstreamer_and_g.html</guid>
         <category></category>
         <pubDate>Thu, 03 Jul 2008 11:49:17 +0100</pubDate>
      </item>
            <item>
         <title>New version of GTK+ Mac app bundler</title>
         <description><![CDATA[<p>I've released a new version of the Mac <a href="http://developer.imendio.com/projects/gtk-macosx/creating-app-bundles">bundler</a>, 0.5. The changes are:</p>

<ul>
<li>Correct the GTK_DATA_PREFIX variable</li>
<li>Add beginnings of framework support</li>
<li>Clarifications in README and example bundle file</li>
<li>Remove support for non-included Pango font module</li>
<li>Fix locale in the launcher script</li>
</ul>

<p>Download <a href="http://ftp.imendio.com/pub/imendio/ige-mac-bundler/">here</a>.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2008/07/new_version_of.html</link>
         <guid>http://people.imendio.com/richard/archives/2008/07/new_version_of.html</guid>
         <category></category>
         <pubDate>Thu, 03 Jul 2008 11:40:08 +0100</pubDate>
      </item>
            <item>
         <title>GTK+ Application bundles on Mac</title>
         <description><![CDATA[<p>I previously wrote about <a href="http://people.imendio.com/richard/archives/2008/02/mac_integration.html">Mac integration for GTK+ applications</a>, and another important part of that is to create <i>app bundles</i>. An app bundle is a self-contained packaged up version of your application that can be distributed easily and put wherever the user wants by using simple drag and drop. This is a very common way of distributing applications on Mac.</p>

<p>To make it easier to create such packages of GTK+ applications, we have created a <a href="http://developer.imendio.com/projects/gtk-macosx/creating-app-bundles">tool that does most of the work</a>. All you have to do is to setup a small configuration file that points the tool to your binary and any data files that you want to ship. All dependent libraries are sucked in automatically. The application must be able to find its data files dynamically of course, since there is no hard coded path where it will end up.</p>

<p>You can take a look at the <a href="http://svn.gnome.org/viewvc/gossip/trunk/data/packaging/mac/gossip.bundle?revision=2732&view=markup">bundle file for Gossip</a> for a quite simple example.</p>

<p>I have some plans to add support for dragging in frameworks and not just libraries, and to add better support for translations and other specific resources.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2008/03/gtk_application.html</link>
         <guid>http://people.imendio.com/richard/archives/2008/03/gtk_application.html</guid>
         <category></category>
         <pubDate>Thu, 27 Mar 2008 19:49:31 +0100</pubDate>
      </item>
            <item>
         <title>Native Mac theme</title>
         <description><![CDATA[<p>A frequent comment I get is that the GTK+ OS X screenshots look like... GTK+. As opposed to native Mac applications, of course. I started a native theme engine quite a while ago but got sidetracked with other things, so it's been sitting around in a git repo for some time now. It could be a fun hack if someone wants to get involved in GTK+ OS X hacking, and there is plenty of low hanging fruit to take care of. It's  quite rewarding to play around with, as the result of the work is so immediately visible.</p>

<p>You can check it out here:</p>

<pre>
  svn co svn.gnome.org/svn/gtk-quartz-engine/trunk gtk-quartz-engine
</pre>

<p>Here's an example of what it looks like on 10.5:</p>

<p><a href="http://people.imendio.com/richard/screenshots/gossip-quartz-theme.png"><img width="400px" src="http://people.imendio.com/richard/screenshots/gossip-quartz-theme.png"/></a></p>

<p><b>Update</b></p>

<p>The repo was moved to GNOME subversion, I've updated the info above to reflect that.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2008/02/native_mac_them_1.html</link>
         <guid>http://people.imendio.com/richard/archives/2008/02/native_mac_them_1.html</guid>
         <category></category>
         <pubDate>Wed, 20 Feb 2008 21:34:07 +0100</pubDate>
      </item>
            <item>
         <title>Mac integration</title>
         <description><![CDATA[<p>If you've followed the development of Gimp, Gossip or Giggle, you've probably noticed that they can be built on Mac OS X, using the GTK+ OS X <a href="http://developer.imendio.com/projects/gtk-macosx">port</a> and that they can use the global menu bar on that system. The code to do that has been floating around for a while as a cut-and-paste file you could use in your app, but after copying it one time too many I went ahead and made a real package of it instead. It's available <a href="http://developer.imendio.com/projects/gtk-macosx/integration">here</a>.</p>

<p>It also has the beginnings of integration with some other parts like the dock and bundle APIs.</p>

<p>The mandatory screenshot of it in action:<br><br />
<a href="http://people.imendio.com/richard/screenshots/gossip-mac-menu.png"><img width="200px" src="http://people.imendio.com/richard/screenshots/gossip-mac-menu.png"></a></p>]]></description>
         <link>http://people.imendio.com/richard/archives/2008/02/mac_integration.html</link>
         <guid>http://people.imendio.com/richard/archives/2008/02/mac_integration.html</guid>
         <category></category>
         <pubDate>Fri, 01 Feb 2008 17:07:01 +0100</pubDate>
      </item>
            <item>
         <title>Post-GUADEC</title>
         <description><![CDATA[<p>Time for my yearly blog entry!</p>

<p>I had a really good GUADEC this year, despite the weather (it was just like home, in rainy Gothenburg). There was a lot of interesting discussions going on about the future of our toolkit and platform. It's good to see the activity increasing, like it seems to have done over the last year or so, and the whole platform from X to Cairo to GTK+ moving forward.</p>

<p>During GUADEC, when working on a test case for the Mac OS port of GTK+ I somehow ended up doing a hack with animated reordering of a GtkBox, I don't really remember how I got that side-tracked ;) Anyway, after some more tinkering I came up with the idea that the same trick could be used to implement a Fifteen game using a GtkTable. Micke was quick to bribe^Wencourage me into actually doing it. Here it is:</p>

<center><a href="http://people.imendio.com/richard/screencasts/fifteen.ogg"><img src="http://people.imendio.com/richard/screencasts/fifteen-thumbnail.png"></a></center>

<p>The hack subclasses GtkTable, and as you can see when the window is resized, the table manages its children just like it normally does.<br />
</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2007/07/postguadec.html</link>
         <guid>http://people.imendio.com/richard/archives/2007/07/postguadec.html</guid>
         <category></category>
         <pubDate>Wed, 25 Jul 2007 23:06:34 +0100</pubDate>
      </item>
            <item>
         <title>Gossip with GTK+/OS X</title>
         <description><![CDATA[<p>I've been spending some time working on the <a href="http://developer.imendio.com/wiki/Gtk_Mac_OS_X">quartz backend for GTK+</a> recently. It's pretty rewarding since you can fix a few small bugs and suddenly a lot of things are improved as a result. I decided to use <a href="http://developer.imendio.com/wiki/Gossip">Gossip</a> as a test case and try to use it instead of Adium for chatting, to help me find problems in the port.</p>

<p>Gossip already works fairly well, and has helped me spot many missing things or problems in GTK+, which I've fixed in the process. It even looks nice, but a native looking theme would be better of course:</p>

<p><img src="http://people.imendio.com/richard/screenshots/gossip-osx-chat.png"></p>

<p>I still have some mysterious problems to solve with the text view before Gossip is fully usable (it seems to be related to that the view assumes that events are delivered in a particular order/fashion when the widget's size changes. I'm not sure though). Other than that, there are some pieces missing in the drawing code, like background pixmaps, and also some "interesting" issues in the event code that handles grabs and crossing events.</p>

<p>If I manage to finish my Gossip.app bundle, I'll put it somewhere for other people to try.</p>

<p>My plans for the GTK+ port for now are to update the build instructions a bit since the requirements have changed slightly since it was last updated, and to continue improving the port as time allows.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2006/07/gossip_with_gtk.html</link>
         <guid>http://people.imendio.com/richard/archives/2006/07/gossip_with_gtk.html</guid>
         <category></category>
         <pubDate>Tue, 25 Jul 2006 17:34:18 +0100</pubDate>
      </item>
            <item>
         <title>Long live Planner</title>
         <description><![CDATA[<p>A new Planner version has just been <a href="http://lists.imendio.com/pipermail/planner/2006-June/001385.html">released</a>! It's good to see your children grow up ;) Many thanks to Kurt for picking up the maintanence duties.</p>

<p><b>Summer</b><br />
Inspired by Ross' nice picture of his <a href="http://www.burtonini.com/blog//life/summer-2006-06-12-13-15">office</a>, I'm thinking about working outside today too. Unfortunately my laptop screen doesn't have a very bright backlight so I'm not sure it's really doable.</p>

<p><b>GNOMEy stuff</b><br />
I wish I had more energy for hacking on various GNOME related things. Recently I have been able to do some Gossip hacking, which has been a lot of fun. Hopefully there will be some more of that in the future. I would also like to do some typing-monitor hacking for 2.15, or maybe talk someone else into doing it. I want to rework it a bit so that it doesn't take up valuable space in the notification area all the time, and use a notification bubble to notify of an upcoming break, instead of the ever-so-annoying flashing icon.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2006/06/long_live_plann_1.html</link>
         <guid>http://people.imendio.com/richard/archives/2006/06/long_live_plann_1.html</guid>
         <category></category>
         <pubDate>Tue, 13 Jun 2006 09:41:27 +0100</pubDate>
      </item>
            <item>
         <title>Python niceties</title>
         <description><![CDATA[<p>I recently discovered how nice GEdit has become with the latest GNOME release! It has a cool plugin system that supports C and Python plugins, and comes with a bunch of nice plugins. I played around with it a bit and wrote a very simple Devhelp plugin so that I can press F7 to perform a search in Devhelp with the word at the cursor, just like I can do in emacs. I've committed it to Devhelp if anyone wants to try it out.</p>

<p>In other Python related news, I tried, mostly for the fun of it, to build and run pygtk on the Mac with the GTK+ Quartz backend. After implementing some missing stubs in the backend, I got pygtk-demo  working :) The really nice part was that pygtk worked right out of the box.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2006/03/python_niceties.html</link>
         <guid>http://people.imendio.com/richard/archives/2006/03/python_niceties.html</guid>
         <category></category>
         <pubDate>Wed, 29 Mar 2006 22:38:42 +0100</pubDate>
      </item>
            <item>
         <title>Fry and frob</title>
         <description><![CDATA[<p>I was looking at glibc's string.h today and found some funny-looking functions in there that I have never seen before. Have you ever used <a href="http://www.gnu.org/software/libc/manual/html_node/strfry.html">strfry()</a> or <a href="http://www.gnu.org/software/libc/manual/html_node/Trivial-Encryption.html">memfrob()</a> in any of your code? :)</p>

<p>On another note, I just released a new <a href="http://developer.imendio.com/wiki/Devhelp">Devhelp</a> which has a fair number of new features. I have some things that I would like to work on next, including taking advantage of the new information in gtk-doc output, and getting typeahead search working a bit better in the HTML view. Hopefully I'll get some more Devhelp hacking done during the holidays.</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2005/12/fry_and_frob.html</link>
         <guid>http://people.imendio.com/richard/archives/2005/12/fry_and_frob.html</guid>
         <category></category>
         <pubDate>Mon, 19 Dec 2005 20:27:41 +0100</pubDate>
      </item>
            <item>
         <title>Devhelp (and weaseling)</title>
         <description><![CDATA[<p>I don't have anything to say about <a href="http://www.burtonini.com/blog/life/changes-2005-09-28-14-35">houses, dogs or chickens</a>, but I've been doing some small improvements to <a href="http://developer.imendio.com/wiki/Devhelp">Devhelp</a> over the last couple of days. Since it's one of the programs I'm using most when working, it's quite rewarding to make it work better. I have a few things that I'd like to get done, like typeahead search in pages and some kind of bookmark or keyword support so that I can get to my most used parts easily. Some great news: Stefan Kost is looking into fixing up gtk-doc to mark up the generated devhelp files a bit better so that we can make use of more information when searching and displaying the docs.</p>

<p><b>And especially for Micke</b><br />
Homer: <i>Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel.</i> </p>]]></description>
         <link>http://people.imendio.com/richard/archives/2005/09/devhelp_and_wea.html</link>
         <guid>http://people.imendio.com/richard/archives/2005/09/devhelp_and_wea.html</guid>
         <category></category>
         <pubDate>Wed, 28 Sep 2005 23:13:34 +0100</pubDate>
      </item>
            <item>
         <title>Rails</title>
         <description><![CDATA[<p>I wanted to try out <a href="http://www.rubyonrails.com/">Ruby on Rails</a> so I hacked together a simple web frontend for iTunes using AppleScript and Rails. Even though web development isn't exatly the most exciting thing to do, it was pretty fun. Ruby was a nice surprise, I think I might actually use it again for small hacks in the future. The downside of the whole adventure was that it's quite depressing to see how nicely everything works in OSX compared to Linux, being able to quickly hack together something like that and just have it work.</p>

<p><b>Boston</b><br />
I'm going to the summit this year! It will be the first time overseas for me, hopefully I will be let in being one of those foreigners and all. I'm looking forward to meeting everyone :)</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2005/09/rails.html</link>
         <guid>http://people.imendio.com/richard/archives/2005/09/rails.html</guid>
         <category></category>
         <pubDate>Mon, 26 Sep 2005 21:52:00 +0100</pubDate>
      </item>
            <item>
         <title>The end of a dream</title>
         <description><![CDATA[<p>Long time no entry. I just sent a mail I've been meaning to do for a while, about stepping down from <a href="http://lists.imendio.com/pipermail/planner/2005-August/000648.html">Planner maintainership</a>. Hopefully people will keep working on it, but 5 years is enough for me, there was no joy left in it at all at this point. Now I just need a new project to hack on for fun :)</p>

<p><b>Summer</b><br />
I had a nice vacation during July, where I basically didn't do anything, just read some books, spent time outside in the sun and other lazy things. It was great! Now I'm actually looking forward to the fall with a bit lower temperatures and darker evenings. I'm most likely going to regret saying that in about a month when the rain starts pouring down and never stops, but for now I'm enjoying it.</p>

<p>Oh, and sorry about the title, but I simply had no choice ;)<br />
</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2005/08/the_end_of_a_dr.html</link>
         <guid>http://people.imendio.com/richard/archives/2005/08/the_end_of_a_dr.html</guid>
         <category></category>
         <pubDate>Wed, 10 Aug 2005 23:14:04 +0100</pubDate>
      </item>
            <item>
         <title>GUADEC!</title>
         <description><![CDATA[<p>Yay, tomorrow it's off to Stuttgart and GUADEC! I wasn't that excited about it a few weeks ago, but now I'm really looking forward to meeting everyone and just having a good time with all the GNOME people.</p>

<p>Adding to the excitement of course is Nokia's launch of their new device and the <a href="http://www.maemo.org/">Maemo</a> site. It's nice to finally being able to tell people what we've been working on over the last year or so.</p>

<p>Time to pack, see you all in Stuttgart!</p>]]></description>
         <link>http://people.imendio.com/richard/archives/2005/05/guadec.html</link>
         <guid>http://people.imendio.com/richard/archives/2005/05/guadec.html</guid>
         <category></category>
         <pubDate>Thu, 26 May 2005 21:25:33 +0100</pubDate>
      </item>
      
   </channel>
</rss>
