<?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/"
	>

<channel>
	<title>Sense Egbert Hofstede &#187; transmission</title>
	<atom:link href="http://www.sehofstede.nl/tag/transmission/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sehofstede.nl</link>
	<description>Personal site of a tech enthusiast</description>
	<lastBuildDate>Fri, 10 Feb 2012 10:15:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Giving Transmission the Indicator Application</title>
		<link>http://www.sehofstede.nl/giving-transmission-the-indicator-application</link>
		<comments>http://www.sehofstede.nl/giving-transmission-the-indicator-application#comments</comments>
		<pubDate>Mon, 15 Feb 2010 08:00:28 +0000</pubDate>
		<dc:creator>Sense Egbert Hofstede</dc:creator>
				<category><![CDATA[English Posts]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[transmission]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://qense.nl/?p=430</guid>
		<description><![CDATA[Have got an application? Add an Application Indicator to it! Jorge explains why. We keep track of applications that need support for Indicator Application on Launchpad with the bug tag &#8216;indicator-application&#8216;: the list of bugs against applications that need Indicator &#8230; <a href="http://www.sehofstede.nl/giving-transmission-the-indicator-application">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Have got an application? Add an <a title="Application Indicators defined on the Ubuntu Wiki (with code examples)" href="https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators">Application Indicator</a> to it! <a title="Application Indicator Update «  jorge’s stompbox" href="http://castrojo.wordpress.com/2010/02/06/application-indicator-update/">Jorge explains why.</a></p>
<p>We keep track of applications that need support for <a title="Indicator Application on Launchpad" href="https://launchpad.net/indicator-application">Indicator Application</a> on Launchpad with the bug tag &#8216;<em>indicator-application</em>&#8216;: <a title="'indicator-application' Bugs in Ubuntu : Bugs : Ubuntu" href="https://bugs.launchpad.net/ubuntu/+bugs?field.tag=indicator-application">the list of bugs against applications that need Indicator Application support</a>. There are code snippets on <a title="Application Indicators defined on the Ubuntu Wiki (with code examples)" href="https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators">the wiki page of Application Indicator</a> but in this blog post for those who would like to use it in their application.</p>
<p><a href="http://www.facebook.com/photo.php?pid=1071124&amp;l=929ac801ca&amp;id=1138835413"><img class="alignright" title="Transmission with Indicator Application support" src="http://qense.nl/wp-content/uploads/2010/02/18044_1349766421077_1138835413_1071124_6665985_n.jpg" alt="" width="360" height="225" /></a>I recently added support for Indicator Application to <a title="appindicator-integration : Branches : Lernid" href="https://code.launchpad.net/~qense/lernid/appindicator-integration">Lernid</a>, <a title="Bug #518179 in Bazaar GTK+ Frontends: “ Support Application Indicators”" href="https://launchpad.net/bugs/518179">Bzr-Gtk</a> and <a title="Bug #497882 in transmission (Ubuntu): “Support Application Indicators”" href="https://launchpad.net/bugs/497882">Transmission</a> and am now working on getting it into <a title="Bug #518171 in banshee (Ubuntu): “Support Application Indicators”" href="https://launchpad.net/bugs/518171">Banshee</a>. How do you help Ubuntu with adding support to existing applications? I&#8217;ll try to make that clear in this blog post.<br />
<span id="more-430"></span><br />
<strong>#1.</strong> Find something to work on. <a title="'indicator-application' Bugs in Ubuntu : Bugs : Ubuntu" href="https://bugs.launchpad.net/ubuntu/+bugs?field.tag=indicator-application">That list of bugs against applications that need Indicator Application support</a> is a great place to start looking. Don&#8217;t forget to mark a bug as <em>&#8216;In Progress&#8217;</em> when you&#8217;re <span style="text-decoration: underline;">actively</span> working on it!</p>
<p><strong>#2.</strong> We&#8217;re adding support to an application that is most likely used on more places than just Ubuntu. Therefore you should keep in mind that not only enabling Indicator Application support should be easy, but also disabling it. This means you&#8217;ll have to do some Autotools magic in order to make sure libappindicator is present and it is wanted. At the AppIndicator wiki page there is <a title="DesktopExperienceTeam/ApplicationIndicators #Automake fu - Ubuntu Wiki" href="https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Automake%20fu">an example autotools macro</a>. This should be added to the <em>./configure.ac</em>, which can mostly be found in the project&#8217;s source code root directory.You may have to adapt this in order to make it fit in the existing makefiles.<br />
<strong>NOTICE:</strong> The previously mentioned autotools example was written with the programming language C in mind. When you&#8217;re writing in C# you can reuse the code, but please keep in mind that you should check for <em>&#8216;appindicator-sharp-0.1&#8242;</em> rather than <em>&#8216;appindicator-0.1&#8242;</em>. The whole check isn&#8217;t necessary for Python.</p>
<p><strong>#3.</strong> Now we can start writing the code. Finally! I&#8217;m afraid I have to disappoint you, because the code itself is the least work of the whole procedure. Again, there is a <a title="DesktopExperienceTeam/ApplicationIndicators #Porting Guide for Applications - Ubuntu Wiki" href="https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Porting%20Guide%20for%20Applications">Porting Guide</a> at the wiki page with examples for all supported languages. Those are pretty straightforward, so I won&#8217;t repeat them here, but if you still have questions, don&#8217;t hesitate to leave a comment. Important is that you should use the previously defined autotools variable <em>HAVE_APPINDICATOR</em> (when programming in C) to allow the application to be compiled with a GtkStatusIcon as well, on other systems. You can do that like this:</p>
<pre>
<blockquote>

#ifdef HAVE_APPINDICATOR
 #include &lt;libappindicator/app-indicator.h&gt;
#endif

(other code)

#ifdef HAVE_APPINDICATOR
(Indicator Application code here)
#else
(leave the old GtkStatusIcon code here)
#endif</blockquote>
</pre>
<p><strong>#4.</strong> Now that the code and build macros have been written &#8212; and the <em>configure</em> script and the makefiles regenerated &#8212; and you&#8217;ve tested it (naturally), it&#8217;s time to submit your wonderful patch. Of course you do this on the bug report we&#8217;ve got in Launchpad, but we also would like you to forward the patch upstream. If there was not yet a bug report in the bug tracker of the application you ported, report one and link it to the Launchpad bug report. In the upstream bug report, leave a comment with your patch.</p>
<p>After that you&#8217;re done. Congratulations, you&#8217;ve helped with making the systray cleaner and prettier and more consistent. This makes us happy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sehofstede.nl/giving-transmission-the-indicator-application/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

