<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Aurélien's room</title>
	<atom:link href="http://agateau.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://agateau.wordpress.com</link>
	<description>Random bits and things of interest</description>
	<lastBuildDate>Thu, 05 Nov 2009 23:24:59 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='agateau.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/b339505eb9886e9a0f63047b0c0c8f32?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Aurélien's room</title>
		<link>http://agateau.wordpress.com</link>
	</image>
			<item>
		<title>Gwenview Importer</title>
		<link>http://agateau.wordpress.com/2009/11/06/gwenview-importer/</link>
		<comments>http://agateau.wordpress.com/2009/11/06/gwenview-importer/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 23:24:59 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[Gwenview]]></category>
		<category><![CDATA[importer]]></category>
		<category><![CDATA[pictures]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=278</guid>
		<description><![CDATA[I have been quite quiet on Gwenview front lately, getting a job which does not involve two hours in a train everyday and becoming a father for the second time apparently does not help to find free time to hack (how surprising!)
Still I managed to get some work done on the start page and fixed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=278&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have been quite quiet on Gwenview front lately, getting a job which does not involve two hours in a train everyday and becoming a father for the second time apparently does not help to find free time to hack (how surprising!)</p>
<p>Still I managed to get some work done on the start page and fixed a few bugs here and there. The main improvement though is the implementation of an importer for Gwenview, based on some <a href="http://agateau.wordpress.com/2009/06/02/back-from-all-hands-uds-karmic/">previous experiment</a>.</p>
<p>Its aim is to require as little manipulation as possible to get your pictures and video imported from your camera. It integrates with Solid so starting the import is just a matter of plugging in your camera/inserting your memory card, and selecting &#8220;Download Photos with Gwenview&#8221; from the popup which opens. You are then presented with a thumbnail view like the following, where you can select the documents to import as well as the import destination (destination is remembered across imports and defaults to ~/Pictures or whatever xdg defines):</p>
<p><a href="http://agateau.files.wordpress.com/2009/11/20091105-1-thumbnails.png"><img class="aligncenter size-medium wp-image-279" title="20091105-1-thumbnails" src="http://agateau.files.wordpress.com/2009/11/20091105-1-thumbnails.png?w=300&#038;h=216" alt="Thumbnails" width="300" height="216" /></a></p>
<p>Clicking &#8220;Import Selected&#8221; or &#8220;Import All&#8221; imports the documents to your destination folder. When it is done, the import asks you what to do with the documents on the device.</p>
<p><a href="http://agateau.files.wordpress.com/2009/11/20091105-2-imported.png"><img class="aligncenter size-medium wp-image-280" title="20091105-2-imported" src="http://agateau.files.wordpress.com/2009/11/20091105-2-imported.png?w=300&#038;h=216" alt="Documents have been imported" width="300" height="216" /></a></p>
<p>Once you clicked either &#8220;Delete&#8221; or &#8220;Keep&#8221;, you get this final page:</p>
<p><a href="http://agateau.files.wordpress.com/2009/11/20091105-3-what-next.png"><img class="aligncenter size-medium wp-image-281" title="20091105-3-what-next" src="http://agateau.files.wordpress.com/2009/11/20091105-3-what-next.png?w=300&#038;h=216" alt="What's next?" width="300" height="216" /></a></p>
<p>Whenever possible, the importer tries to be smart. For example it automatically goes inside folders as long as they are alone in the hierarchy, so if your pictures are all in /DCIM/FOOBAR/, it will go into this folder directly instead of showing you a single DCIM folder, then a FOOBAR folder. On the other hand, it won&#8217;t scan the whole device recursively, which could be quite painful if you just plugged a large external hard drive&#8230;</p>
<p>Another example is handling of already imported documents. Gwenview Importer will tell you if it skipped documents which have already been imported or if it renamed documents to avoid overwriting existing ones. For example if I select &#8220;Keep&#8221; in the &#8220;Delete or Keep&#8221; dialog and in a next import select the 3 imported documents as well as 2 new documents, I get this message (The wording can probably be improved, please send suggestions&#8230;):</p>
<p><a href="http://agateau.files.wordpress.com/2009/11/20091105-4-imported2.png"><img class="aligncenter size-medium wp-image-282" title="20091105-4-imported2" src="http://agateau.files.wordpress.com/2009/11/20091105-4-imported2.png?w=300&#038;h=216" alt="Skipped some documents during import" width="300" height="216" /></a></p>
<p>Yet another point where the importer tries to be smart is on the name of the imported documents. Nothing is less useful than a series of pictures named PICT0001.JPG, PICT0002.JPG&#8230; so by default Gwenview Importer renames your pictures using the shooting date. This can be configured by clicking on the &#8220;Settings&#8221; button from the thumbnail page, which brings this configuration dialog:</p>
<p><a href="http://agateau.files.wordpress.com/2009/11/20091105-5-settings.png"><img class="aligncenter size-medium wp-image-283" title="20091105-5-settings" src="http://agateau.files.wordpress.com/2009/11/20091105-5-settings.png?w=300&#038;h=216" alt="Settings" width="300" height="216" /></a></p>
<p>I spent quite some time working on this formating thing. I tried to make it easy to customize the rename format by:</p>
<ul>
<li> providing a preview of the output,</li>
<li>using words instead of single letter variables (ie {date} instead of %d),</li>
<li>making the list of available variables with their description always visible,</li>
<li>making the variable names clickable, so that you can easily insert them</li>
</ul>
<p>It&#8217;s not as good as what <a href="http://www.layt.net/john/blog/odysseus/a_challenge">Mac OS X can do</a>, but I hope it is easy enough nevertheless. If I get the time to work a bit more on this (read: unlikely to happen :/), I think  highlighting the variables in the line edit would be nice.</p>
<p>That&#8217;s all for now. Tell me what you think of this.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/278/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=278&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/11/06/gwenview-importer/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/11/20091105-1-thumbnails.png?w=300" medium="image">
			<media:title type="html">20091105-1-thumbnails</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/11/20091105-2-imported.png?w=300" medium="image">
			<media:title type="html">20091105-2-imported</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/11/20091105-3-what-next.png?w=300" medium="image">
			<media:title type="html">20091105-3-what-next</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/11/20091105-4-imported2.png?w=300" medium="image">
			<media:title type="html">20091105-4-imported2</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/11/20091105-5-settings.png?w=300" medium="image">
			<media:title type="html">20091105-5-settings</media:title>
		</media:content>
	</item>
		<item>
		<title>Yokadi 0.11.0, err 0.11.1 is out!</title>
		<link>http://agateau.wordpress.com/2009/11/03/yokadi-0-11-0-err-0-11-1-is-out/</link>
		<comments>http://agateau.wordpress.com/2009/11/03/yokadi-0-11-0-err-0-11-1-is-out/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 17:00:29 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[yokadi]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=275</guid>
		<description><![CDATA[After quite some work, we are proud to announce a new release of Yokadi, the command-line driven, geek friendly, sqlite backed TODO list. This new release brings quite a few changes compared to 0.10. Quoting the announcement:
Version 0.11.0 brings you a much nicer t_list output:

The width of the title column now adjusts itself to fit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=275&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After quite some work, we are proud to announce a new release of Yokadi, the command-line driven, geek friendly, sqlite backed TODO list. This new release brings quite a few changes compared to 0.10. Quoting <a href="http://yokadi.github.com/2009/11/01/version-0.11.0-has-been-released.html">the announcement</a>:</p>
<blockquote><p>Version 0.11.0 brings you a much nicer t_list output:</p>
<ul>
<li>The width of the title column now adjusts itself to fit your terminal width and the content to display.</li>
<li>Task keywords are now printed in the title column.</li>
<li>Using the new -k switch, you can group tasks by keywords instead of grouping them by project.</li>
</ul>
<p>0.11.0 also brings you a few handy shortcuts:</p>
<ul>
<li>Special character ‘_’ can be used to represent last task id in all task commands: handy to add a due date after adding a task: just type “t_due _ tomorrow” to set the last used task due date to tomorrow.</li>
<li>Custom aliases can be defined for all commands with a_add.</li>
</ul>
<p>Other changes:</p>
<ul>
<li>Bugs keywords are prefixed with a ‘_’ to distinguish them from user keywords.</li>
<li>YOKADI_DB environment variable can be defined to set default yokadi database path.</li>
<li>Switch from “GPL v3” to “GPL v3 or newer” license.</li>
</ul>
</blockquote>
<p>Version 0.11.0 also contained a silly <a href="http://yokadi.github.com/2009/11/02/0.11.1-brown-bag-release.html">last-minute mistake</a>, hence the blog title, but it&#8217;s all fixed now, <a href="http://yokadi.github.com/download.html">get it</a>!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/275/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=275&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/11/03/yokadi-0-11-0-err-0-11-1-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>
	</item>
		<item>
		<title>New addition to my life: Antonin</title>
		<link>http://agateau.wordpress.com/2009/10/02/new-addition-to-my-life-antonin/</link>
		<comments>http://agateau.wordpress.com/2009/10/02/new-addition-to-my-life-antonin/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 19:29:22 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[Misc.]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=266</guid>
		<description><![CDATA[Yesterday evening, at 21:21, Antonin realized staying inside his mother was no longer possible and decided to explore a new world, ours.
Everything went very well. Baby and mother are OK. Antonin&#8217;s sister is eagerly waiting for them to come back home and his father better hurry up assembling his wardrobe and bed (he was expected [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=266&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yesterday evening, at 21:21, Antonin realized staying inside his mother was no longer possible and decided to explore a new world, ours.</p>
<p>Everything went very well. Baby and mother are OK. Antonin&#8217;s sister is eagerly waiting for them to come back home and his father better hurry up assembling his wardrobe and bed (he was expected to arrive at the end of the month, not the beginning!).</p>
<p>As a father of a new born baby, I think you can trust my words when I tell you he is the cutest baby on earth (even if I may have already <a title="Clara, 8th wonder of the world" href="http://www.kdedevelopers.org/node/1898">written something similar</a>, 3 and a half years ago). But should you doubt it, here is the proof:</p>
<p><a href="http://agateau.files.wordpress.com/2009/10/antonin.jpeg"><img class="aligncenter size-medium wp-image-265" title="Antonin, 1 day old" src="http://agateau.files.wordpress.com/2009/10/antonin.jpeg?w=300&#038;h=225" alt="Antonin, 1 day old" width="300" height="225" /></a></p>
<p><em>Yes, his hat is a bit large <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/266/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=266&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/10/02/new-addition-to-my-life-antonin/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/10/antonin.jpeg?w=300" medium="image">
			<media:title type="html">Antonin, 1 day old</media:title>
		</media:content>
	</item>
		<item>
		<title>Indicators, notifications and co</title>
		<link>http://agateau.wordpress.com/2009/09/18/indicators-notifications-and-co/</link>
		<comments>http://agateau.wordpress.com/2009/09/18/indicators-notifications-and-co/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 08:49:02 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Other projects]]></category>
		<category><![CDATA[ayatana]]></category>
		<category><![CDATA[faq]]></category>
		<category><![CDATA[indicators]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[plasmoid]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=259</guid>
		<description><![CDATA[Introduction
Jonathan post about indicators has been received with various feelings, ranging from interest to questioning or plain hostility. Since I get more and more people asking about this indicator thing, I figured I should try to explain what indicators are, how they are different from notifications and answer a few other frequently asked questions.
Disclaimer: The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=259&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2>Introduction</h2>
<p><a href="http://www.kdedevelopers.org/node/4043">Jonathan post about indicators</a> has been received with various feelings, ranging from interest to questioning or plain hostility. Since I get more and more people asking about this indicator thing, I figured I should try to explain what indicators are, how they are different from notifications and answer a few other frequently asked questions.</p>
<p>Disclaimer: The opinions of this post are my own, they do not necessarily reflect Canonical position.</p>
<h2>Indicators for the user</h2>
<p>Indicators are a way to get permanent informations, rather than ephemeral ones like notifications. I find it easier to explain the difference with use cases.</p>
<p>Imagine you receive an incoming message from your IM client while you are away from your machine. A notification gets shown, but this notification goes away after a few seconds. You just missed it.</p>
<p>Since the IM client supports indicators, it also created an indicator for this incoming message. When you come back to your desk, you notice the spark on the indicator plasmoid. Clicking on the plasmoid popups a menu listing all indicator-enabled running applications. Below your IM application entry, there is an entry for this incoming message you received. You click the entry and the chat window is brought to the front.</p>
<p>You would also like to know if you have any unread message in this &#8220;From Boss&#8221; mail folder. So you look at the mail client entries, and notice that &#8220;From Boss&#8221; appears, with a count of 2. You click the &#8220;From Boss&#8221; entry and your mail client is brought to the front, showing the first unread message in the &#8220;From Boss&#8221; folder.</p>
<p><img class="size-full wp-image-260" title="The &quot;Indicator Display&quot; plasmoid showing indicators from Kopete and KMail" src="http://agateau.files.wordpress.com/2009/09/indicator.png?w=183&#038;h=137" alt="The &quot;Indicator Display&quot; plasmoid showing indicators from Kopete and KMail" width="183" height="137" /></p>
<p>You are now busy working on this report due to your boss for yesterday. You turned your status to &#8220;Busy, Do not Disturb, Will Bite&#8221;, but that does not stop people from sending messages to you. If your IM client is smart enough, it can disable notifications and only create indicators. When your report is finally done, you can relax, click the indicator plasmoid and start chatting with the people who tried to reach you before.</p>
<p>Back home, you decide to spend the evening watching a movie on your laptop. Since you are running a fullscreen application, notifications are disabled: you do not want to get interrupted by this IRC message from your friend while Bruce Willis is busy saving the world. When world has been saved, you can click the indicator and catch-up with your friend.</p>
<h2>Indicators for the application developer</h2>
<p>libindicate-qt provides two objects for the application developer: <code>QIndicate::Server</code> and <code>QIndicate::Indicator</code>.</p>
<p>The application typically starts with instantiating a server, declaring its desktop file and &#8220;server type&#8221; (a way to group applications, for now the plasmoid only shows servers with the &#8220;messaging&#8221; type), then calling the <code>show()</code> method. As soon as this is done, an entry for the application appears in the indicator menu. When the user clicks on this entry, <code>QIndicate::Server</code> emits the <code>serverDisplay()</code> signal. All you have to do is to connect to this signal and bring your main window to front.</p>
<p>When an event worth mentioning to the user happens, you instantiate a <code>QIndicate::Indicator</code> for it. An indicator can have a few properties:</p>
<ul>
<li>name: the text to display</li>
<li>icon: a QImage for your indicator</li>
<li>time: a QDateTime describing the time of the event, if relevant</li>
<li>count: an int representing a count, if relevant</li>
<li>draw_attention: a bool which must be set to true for the plasmoid to display its spark</li>
</ul>
<p>&#8220;time&#8221; and &#8220;draw_attention&#8221; are useful for indicators representing events like IM messages, while &#8220;count&#8221; can be used for example by mail clients to create indicators for their folders.</p>
<p>When the user clicks on the indicator entry, <code>QIndicate::Indicator</code> emits a <code>display(QIndicate::Indicator*)</code> signal. Connect to this signal to perform the action relevant to this indicator.</p>
<p>(Note: the properties listed here are those used in the case of messaging communication, but the Indicator API is flexible enough to let you define other indicator properties)</p>
<h2>FAQ</h2>
<h3>Couldn&#8217;t this be implemented within KDE notification system?</h3>
<p>The KDE notification system can represent notifications in a few ways: showing popups, playing sounds, writing to log files, running programs&#8230;</p>
<p>I tried to implement support for indicators as a new way for the notification system to represent notifications, but it did not work because the notification system lacks the server/indicator structure. For example to implement the feature which brings the application to front when you click its entry, I ended up having to remember the window id of the first notification I received so that I could bring back this window. It was unreliable (what if the first window was gone by that time, or even not specified?) and it was not possible to do things like showing a count of unread emails in a folder for example.</p>
<h3>Couldn&#8217;t this be implemented with KNotificationItem?</h3>
<p>KNotificationItem is a new xdg specification which aims at replacing the SystemTray specification. Quoting the specification itself: &#8220;It is intended to be complementary but not directly related with the Freedesktop&#8217;s Desktop Notifications specification and is aimed as a replacement to the Freedestop System tray specification.&#8221;</p>
<p>In short, it is system tray done right. It is a huge step forward as it makes it easier for the application/toolkit to implement system tray support and it makes it easier for the system tray host to display these icons in a way which is consistent with the rest of the desktop interface.</p>
<p>It expands on the system tray spec by introducing a notion of status (Passive, Active and NeedsAttention), a possible icon overlay and a category (ApplicationStatus, Communications, SystemServices and Hardware).</p>
<p>It has a few features indicators do not have, such as tooltips and support for right-click, middle-click and mouse wheel events.</p>
<p>It does not however provide an equivalent to the server/indicator structure, or to the &#8220;count&#8221; and &#8220;time&#8221; properties. This makes it impossible to implement indicators on top of KNotificationItem.</p>
<p>Still, the two systems have quite a few commonalities, so it may make sense to merge them in the future.</p>
<h3>Where does it come from?</h3>
<p>libindicate has been developed by Canonical Desktop Experience team, as part of the Ayatana initiative. Ubuntu 9.04 (Jaunty) was the first version of Ubuntu to feature it on the GNOME desktop.</p>
<p>The upcoming Ubuntu 9.10 (Karmic) expands on this by providing a Qt binding for libindicate, adding support for indicators to a few Qt and KDE applications and a plasmoid to display indicators on the KDE desktop.</p>
<h3>Is it Ubuntu specific?</h3>
<p>No. The Canonical Desktop Experience team considers itself as an upstream developer team. As such we release source tarballs, which are then packaged by Ubuntu, but can be packaged by other distributions as well.</p>
<p>Here are the links to download them:</p>
<ul>
<li><a href="https://launchpad.net/libindicate/+download">libindicate</a></li>
<li><a href="https://launchpad.net/libindicate-qt/+download">libindicate-qt</a></li>
</ul>
<h3>Does it depend on GTK+?</h3>
<p>libindicate-qt depends on libindicate. libindicate used to depend on GTK+ at runtime, but it&#8217;s not the case anymore.</p>
<p>It still depends on GTK+ at build time because compiling libindicate from source produces libindicate.so and libindicate-gtk.so. libindicate.so depends on GLib, but does not depend on GTK+. I recon depending on GTK+ to build the library is a problem for source-based distribution like Arch Linux or Gentoo, patches from autotools masters are welcome. A <a href="http://bugs.launchpad.net/bugs/431311">bug has been filled</a> to track that issue.</p>
<p>It is a cross-desktop system: indicators from KDE applications show up in GNOME indicator applet, indicators from GNOME applications show up in KDE plasmoid.</p>
<h3>What applications support it?</h3>
<p>On the KDE side:</p>
<ul>
<li>Quassel</li>
<li>KMail</li>
<li>Konversation</li>
<li>Kopete</li>
</ul>
<p>Upstream processes for these patches are in various states. Quassel patch is already in their git repository, Konversation patch has been submitted but needs some work, KMail and Kopete patches have not been submitted yet.</p>
<p>You can find all the patches <a href="http://people.canonical.com/~agateau/indicate">here</a>.</p>
<p>On the GNOME side:</p>
<ul>
<li>Evolution</li>
<li>Gajim</li>
<li>Gwibber</li>
<li>Pidgin</li>
</ul>
<h3>What is the difference between the &#8220;Indicator Display&#8221; plasmoid and the &#8220;Incoming Message&#8221; plasmoid from kdeplasma-addons?</h3>
<p>Both plasmoids have the same goal, but the &#8220;Incoming Message&#8221; plasmoid tries to implement this goal with application-specific code: it has specific code for Evolution, KMail, Pidgin, Kopete and XChat.<br />
The &#8220;Indicator Display&#8221; plasmoid on the other hand relies on applications to use libindicate and does not contain any application-specific code.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/259/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=259&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/09/18/indicators-notifications-and-co/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/09/indicator.png" medium="image">
			<media:title type="html">The &#34;Indicator Display&#34; plasmoid showing indicators from Kopete and KMail</media:title>
		</media:content>
	</item>
		<item>
		<title>CMake and &#8220;make dist&#8221;, the simpler version</title>
		<link>http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist-the-simple-version/</link>
		<comments>http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist-the-simple-version/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 21:13:34 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[make dist]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=251</guid>
		<description><![CDATA[I wrote about using CPack to create a make dist target earlier today, but it turns out there is a much simpler way to do this, thanks to Christophe Fergeau for pointing me to it.
Note that this won&#8217;t work if your project is not using a version control system (but if you are not, then [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=251&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I wrote about <a href="http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist/">using CPack to create a make dist target</a> earlier today, but it turns out there is a much simpler way to do this, thanks to Christophe Fergeau for pointing me to it.</p>
<p>Note that this won&#8217;t work if your project is not using a version control system (but if you are not, then you are asking for trouble!).</p>
<p>Here are the necessary lines to add to your CMakeLists.txt file if your project is using Git:</p>
<pre>set(PROJECT_VERSION "0.2.3")
set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${PROJECT_VERSION})
add_custom_target(dist
    COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD
        | bzip2 &gt; ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})</pre>
<p>If your project uses Bazaar, replace the &#8220;add_custom_target&#8221; line with:</p>
<pre>add_custom_target(dist
    COMMAND bzr export --root=${ARCHIVE_NAME}
        ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})</pre>
<p>If you know how to do this with another version control system, please add a comment!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=251&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist-the-simple-version/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>
	</item>
		<item>
		<title>CMake and &#8220;make dist&#8221;</title>
		<link>http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist/</link>
		<comments>http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 15:38:26 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[Other projects]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[make dist]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=247</guid>
		<description><![CDATA[Update: Here is a simpler way to create a &#8220;make dist&#8221; target.
Creating a source archive
The other day at work I needed to create a release for some packages I have been working on (more on that later). Since I am using CMake for these projects, I looked around at how it could help me generate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=247&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><b>Update:</b> Here is a <a href="http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist-the-simple-version/">simpler way to create a &#8220;make dist&#8221; target</a>.</p>
<h1>Creating a source archive</h1>
<p>The other day at work I needed to create a release for some packages I have been working on (more on that later). Since I am using <a href="http://www.cmake.org">CMake</a> for these projects, I looked around at how it could help me generate my source archives.  CMake has a tool called <a href="http://www.vtk.org/Wiki/CMake:Packaging_With_CPack">CPack</a>, which can generate cross-platform binary packages (.msi for Windows, .dmg for Mac OS, .rpm, .deb or binary tarballs for Unix) as well as source archives.</p>
<p>I found little documentation on how to tweak the way CPack generate source archives, so I am going to describe how I solved my problem. Maybe it can help others, or you can point me to smarter ways.</p>
<p>Here is a short extract of what I ended up with:</p>
<pre><code>set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "3")
set(CPACK_SOURCE_GENERATOR "TBZ2")
set(CPACK_SOURCE_PACKAGE_FILE_NAME
  "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_SOURCE_IGNORE_FILES
  "/build/;/.bzr/;~$;${CPACK_SOURCE_IGNORE_FILES}")
include(CPack)
</code></pre>
<p>Once you add this to your project, running <code>make package_source</code> will create an archive named &#8220;foo-0.2.3.tar.bz2&#8243; (assuming your CMakeLists.txt file contains a <code>project(foo)</code> line).</p>
<p>Let&#8217;s detail these lines:</p>
<pre><code>set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "3")
</code></pre>
<p>Nothing fancy here, we just define the version number of our package.</p>
<pre><code>set(CPACK_SOURCE_GENERATOR "TBZ2")
</code></pre>
<p>By default CPack generates .tar.Z, .tar.gz and .tar.bz2 archives. Set this variable to only generate .tar.bz2 archives.</p>
<pre><code>set(CPACK_SOURCE_PACKAGE_FILE_NAME
  "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
</code></pre>
<p>By default CPack creates an archive named &#8220;foo-0.2.3-Source.tar.bz2&#8243;. The only way I found to get rid of the &#8220;-Source&#8221; suffix was to redefine the <code>CPACK_SOURCE_PACKAGE_FILE_NAME</code> variable.</p>
<pre><code>set(CPACK_SOURCE_IGNORE_FILES
  "/build/;/.bzr/;~$;${CPACK_SOURCE_IGNORE_FILES}")
</code></pre>
<p>If you create your build dir inside the source dir, CPack will do stupid things such as including the content of the build dir in the archive. Fortunately you can tell it to ignore files with <code>CPACK_SOURCE_IGNORE_FILES</code>. I added my build and .bzr dirs (my work projects are managed with Bazaar).</p>
<pre><code>include(CPack)
</code></pre>
<p>This is where the magic happen. Including &#8220;CPack&#8221; creates the <code>package</code> and <code>package_source</code> targets. It is important to add this line <em>after</em> the various &#8220;set(CPACK&#8230;&#8221; lines, otherwise they will be ignored.</p>
<h1>Creating a &#8220;dist&#8221; target</h1>
<p>This setup is nice, but it has two problems:</p>
<ol>
<li>Running <code>make package_source</code> do not update CMake cache, which is painful when you are adjusting the various <code>CPACK_</code> vars</li>
<li><code>make dist</code> is more natural than <code>make package_source</code></li>
</ol>
<p>To fix both of those, I created a <code>dist</code> target like this:</p>
<pre><code>add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
</code></pre>
<p>This line creates a <code>dist</code> target, and ensures the CMake cache is updated if you run <code>make dist</code> after changing the CMakeLists.txt (not sure why&#8230; Can somebody explain?)</p>
<h1>Be careful&#8230;</h1>
<p>CPack puts everything from the source tree inside the archive, including any file lying around. This is probably not what you want&#8230; To ensure you create clean archives, always run <code>make dist</code> from a clean source tree. A nice way to do this with git or bzr is to create a local clone of your working tree. The procedure is thus the following:</p>
<pre><code>{bzr,git} clone &lt;path/to/source/tree&gt; tmp
cd tmp
mkdir build
cd build
cmake ..
make dist
</code></pre>
<p>You just have to make sure the &#8220;build&#8221;, &#8220;.bzr&#8221; or &#8220;.git&#8221; dirs are ignored in <code>CPACK_SOURCE_IGNORE_FILES</code>.</p>
<p>Hope this helps! Maybe I&#8217;ll come back later with a recipe for <code>make distcheck</code>, if I find the time to setup such a target.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/247/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=247&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/08/09/cmake-and-make-dist/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>
	</item>
		<item>
		<title>Yokadi 0.10.0 is out!</title>
		<link>http://agateau.wordpress.com/2009/07/18/yokadi-0-10-0-is-out/</link>
		<comments>http://agateau.wordpress.com/2009/07/18/yokadi-0-10-0-is-out/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 22:33:08 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[yokadi]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=242</guid>
		<description><![CDATA[Last week Sébastien Renard and me decided to do an Akademy release of Yokadi, our command-line-based, sqlite-powered TODO list. Quite a few changes, among which:

Ability to assign keywords to a project.
Shortened some commands (old ones are still available but are considered deprecated):

t_set_due =&#62; t_due
t_set_project =&#62; t_project
t_set_urgency =&#62; t_urgency


Changed keyword syntax: use @foo instead of -k [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=242&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Last week Sébastien Renard and me decided to do an Akademy release of <a title="Yokadi" href="http://yokadi.github.com">Yokadi</a>, our command-line-based, sqlite-powered TODO list. Quite a few changes, among which:</p>
<ul>
<li>Ability to assign keywords to a project.</li>
<li>Shortened some commands (old ones are still available but are considered deprecated):
<ul>
<li>t_set_due =&gt; t_due</li>
<li>t_set_project =&gt; t_project</li>
<li>t_set_urgency =&gt; t_urgency</li>
</ul>
</li>
<li>Changed keyword syntax: use @foo instead of -k foo.</li>
<li>Added t_recurs command to define task recursion (weekly, monthly, yearly…)</li>
<li>Added full text search with t_list -s foo.</li>
<li>Enhanced t_list display.</li>
<li>Added purge command (t_purge) to remove old tasks.</li>
<li>Added Windows support.</li>
<li>Fixed install script to be more friendly to users and packagers.</li>
</ul>
<p>Most of these changes are the result of hard work from Sébastien, while I mainly played the anti-bloat gatekeeper and polished a few things here and there.</p>
<p>Yokadi is getting more and more powerful, but we try hard to keep it simple and usable. Give it a try, you may like it! (It has been <a href="http://kdedevelopers.org/node/4017">recommended by David Faure</a>, one of the most productive KDE hacker on earth, so there must be something about it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/242/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=242&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/07/18/yokadi-0-10-0-is-out/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>
	</item>
		<item>
		<title>New features of Gwenview in KDE 4.3 I haven&#8217;t blogged about</title>
		<link>http://agateau.wordpress.com/2009/07/07/new-features-of-gwenview-in-kde-4-3-i-havent-blogged-about/</link>
		<comments>http://agateau.wordpress.com/2009/07/07/new-features-of-gwenview-in-kde-4-3-i-havent-blogged-about/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 10:37:16 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[Gwenview]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[thumbnails]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=229</guid>
		<description><![CDATA[I have been lagging quite a bit as far as blogging about Gwenview is concerned. In this post I present the most important new features introduced in the KDE 4.3 version of Gwenview which I haven&#8217;t blogged about yet.
Vertical Thumbnail Bar
Quite a few people have been asking for the ability to orient the thumbnail bar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=229&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have been lagging quite a bit as far as blogging about Gwenview is concerned. In this post I present the most important new features introduced in the KDE 4.3 version of Gwenview which I haven&#8217;t blogged about yet.</p>
<h1>Vertical Thumbnail Bar</h1>
<p>Quite a few people have been asking for the ability to orient the thumbnail bar vertically. This is now possible, as well as defining how many rows/columns should be displayed:</p>
<p style="text-align:center;"><a href="http://agateau.files.wordpress.com/2009/07/20090705-vertical-thumbnailbar.png"><img class="size-medium wp-image-231 aligncenter" title="Vertical thumbnail bar" src="http://agateau.files.wordpress.com/2009/07/20090705-vertical-thumbnailbar.png?w=300&#038;h=206" alt="Vertical thumbnail bar" width="300" height="206" /></a></p>
<h1>Video Support</h1>
<p>Gwenview 1.4 was able to playback videos. This is nice when you occasionally record a video together with your photos. Thanks to Phonon, video playback is back:</p>
<p style="text-align:center;"><a href="http://agateau.files.wordpress.com/2009/07/20090705-video.png"><img class="size-medium wp-image-232 aligncenter" title="Video support" src="http://agateau.files.wordpress.com/2009/07/20090705-video.png?w=300&#038;h=234" alt="Video support" width="300" height="234" /></a></p>
<p>The thin progress bar at the bottom of the view goes away when you move the mouse out of it. I wanted to make it transparent, but could not find out how to have transparent widgets on top of a video. If you know something about this, please enlighten me!</p>
<h1>Crop</h1>
<p>In Gwenview 2.2, starting a crop turned the sidebar into a crop sidebar. This was a bit inconvenient if the sidebar was off when you started the crop because in this case the sidebar would pop up, reducing the zoom level if the zoom was in zoom-to-fit mode.</p>
<p style="text-align:center;"><a href="http://agateau.files.wordpress.com/2009/07/20090705-crop-2-2.png"><img class="size-medium wp-image-230 aligncenter" title="Crop in Gwenview 2.2" src="http://agateau.files.wordpress.com/2009/07/20090705-crop-2-2.png?w=300&#038;h=235" alt="Crop in Gwenview 2.2" width="300" height="235" /></a></p>
<p>The crop in Gwenview 2.3 now uses a nice crop hud widget. The crop widget tries hard to stay out of the way, as can be seen in this short screencast:</p>
<p style="text-align:center;"><span style='text-align:center; display: block;'>
<object type="application/x-shockwave-flash" width="400" height="300" data="http://www.vimeo.com/moogaloop.swf?clip_id=5481087&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA">
	<param name="quality" value="best" />
	<param name="allowfullscreen" value="true" />
	<param name="scale" value="showAll" />
	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=5481087&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=01AAEA" />
</object>
</span><br />
<a href="http://www.vimeo.com/download/video:4268914?v=2&amp;e=1246971702&amp;h=1f4bd34b6a47858c76049fb4da4b73cd&amp;uh=1c5594dcbf2762112c26cd3281ad61fc">Original video</a></p>
<p>Additionally, the crop ratio gained the ability to use the ratio of your monitor, so that you can easily crop photos to create a wallpaper or a slideshow screensaver.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/229/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=229&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/07/07/new-features-of-gwenview-in-kde-4-3-i-havent-blogged-about/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/07/20090705-vertical-thumbnailbar.png?w=300" medium="image">
			<media:title type="html">Vertical thumbnail bar</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/07/20090705-video.png?w=300" medium="image">
			<media:title type="html">Video support</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/07/20090705-crop-2-2.png?w=300" medium="image">
			<media:title type="html">Crop in Gwenview 2.2</media:title>
		</media:content>
	</item>
		<item>
		<title>Annot8</title>
		<link>http://agateau.wordpress.com/2009/06/21/annot8/</link>
		<comments>http://agateau.wordpress.com/2009/06/21/annot8/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 09:10:27 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Other projects]]></category>
		<category><![CDATA[annot8]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=222</guid>
		<description><![CDATA[Have you ever felt frustrated trying to describe a problem you see on your screen over IRC? Or ever needed to quickly highlight a part of a screenshot to attach to a bug report? I have&#8230; These last weeks I have been hacking on and off on a little tool to help with this. It&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=222&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Have you ever felt frustrated trying to describe a problem you see on your screen over IRC? Or ever needed to quickly highlight a part of a screenshot to attach to a bug report? I have&#8230; These last weeks I have been hacking on and off on a little tool to help with this. It&#8217;s called Annot8 and make it easy to load an image, take a screenshot (not yet), add a few text annotations and share it.</p>
<div id="attachment_224" class="wp-caption alignnone" style="width: 310px"><a href="http://agateau.files.wordpress.com/2009/06/200906211.png"><img class="size-medium wp-image-224" title="Annot8" src="http://agateau.files.wordpress.com/2009/06/200906211.png?w=300&#038;h=217" alt="Annotating Dolphin main window" width="300" height="217" /></a><p class="wp-caption-text">Annotating Dolphin main window</p></div>
<p>Here is a screenshot&#8230; still very basic so far, but as you can see it can add text bubbles and lines. Of particular interest is the &#8220;Drag Me&#8221; rounded rectangle in the toolbar: drag this rectangle to the wonderful Pastebin applet to upload your annotated image! Ideally I would like to just have to press a key to invoke Annot8 with a screenshot of the current window, add a few annotations and drag the image to the Pastebin applet. I can&#8217;t think of anything simpler.</p>
<p>I just uploaded the source to github. If you want to give it a try, you can grab it with:</p>
<pre>git clone git://github.com/agateau/annot8.git</pre>
<p>Oh and by the way:<br />
<a href="http://agateau.files.wordpress.com/2009/06/goingtoakademy.png"><img class="alignnone size-full wp-image-225" title="I am going to Gran Canaria Desktop Summit" src="http://agateau.files.wordpress.com/2009/06/goingtoakademy.png?w=300&#038;h=154" alt="I am going to Gran Canaria Desktop Summit" width="300" height="154" /></a><br />
But note that I fly back in the early morning of the 9th, so if you want to talk with me about Gwenview, notifications, or anything else, be sure to catch me before I leave.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/222/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=222&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/06/21/annot8/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/06/200906211.png?w=300" medium="image">
			<media:title type="html">Annot8</media:title>
		</media:content>

		<media:content url="http://agateau.files.wordpress.com/2009/06/goingtoakademy.png" medium="image">
			<media:title type="html">I am going to Gran Canaria Desktop Summit</media:title>
		</media:content>
	</item>
		<item>
		<title>Back from All-hands + UDS Karmic</title>
		<link>http://agateau.wordpress.com/2009/06/02/back-from-all-hands-uds-karmic/</link>
		<comments>http://agateau.wordpress.com/2009/06/02/back-from-all-hands-uds-karmic/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 16:56:44 +0000</pubDate>
		<dc:creator>Aurélien</dc:creator>
				<category><![CDATA[Gwenview]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[canonical]]></category>
		<category><![CDATA[uds]]></category>

		<guid isPermaLink="false">http://agateau.wordpress.com/?p=214</guid>
		<description><![CDATA[Except for some (now considered) minor issue, All-hands and UDS Karmic were both amazing!
I came back exhausted, but I feel like I really know the company much better now. I am also very happy with the progress we made concerning the cooperation between Canonical Desktop Experience Team and the Kubuntu community. More on this soon [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=214&subd=agateau&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Except for some (now considered) <a href="http://agateau.wordpress.com/2009/05/21/pissed-off-deeply-pissed-off/">minor issue</a>, All-hands and <a href="https://wiki.ubuntu.com/UDSKarmic">UDS Karmic</a> were both amazing!</p>
<p>I came back exhausted, but I feel like I really know the company much better now. I am also very happy with the progress we made concerning the cooperation between Canonical Desktop Experience Team and the Kubuntu community. More on this soon hopefully&#8230;</p>
<p>Social events were great as well&#8230; my favorite moment is probably sebas, rgreening and me performing an interpretation of Barbie Girl at the karaoke&#8230; hopefully this was not recorded (I do not dare visiting youtube anymore)</p>
<p>I hacked a bit on some cool stuff too&#8230; First, I experimented with Solid to create a picture importer for Gwenview. You can find a proof of concept of this on <a href="http://github.com/agateau/gwenview-importer/tree/master">github</a>.</p>
<p>It&#8217;s very simple: it asks you for an event name, and then proceed to import all pictures to <code>~/photos/&lt;year&gt;/&lt;event&gt;/</code>, renaming them according to the exif shoot date. When done it asks you whether you want to remove the pictures from the device. The final version will probably also give you the choice between importing all pictures or only a selection. This will be useful when you have pictures from multiple events.</p>
<p>It&#8217;s written with PyKDE right now, but I will probably have to rewrite it in C++ before integrating it in KDE.</p>
<p>I also hacked on another tool, but I&#8217;ll blog about this later&#8230;</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agateau.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agateau.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agateau.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agateau.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agateau.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agateau.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agateau.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agateau.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agateau.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agateau.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agateau.wordpress.com&blog=1300737&post=214&subd=agateau&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://agateau.wordpress.com/2009/06/02/back-from-all-hands-uds-karmic/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6300af216639777da5f4150c2886e95f?s=96&#38;d=http%3A%2F%2Fa.wordpress.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">agateau</media:title>
		</media:content>
	</item>
	</channel>
</rss>