<?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>schmichael&#039;s blog &#187; gnome</title>
	<atom:link href="http://blog.schmichael.com/tag/gnome/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.schmichael.com</link>
	<description>good good study, day day up</description>
	<lastBuildDate>Mon, 02 Aug 2010 17:28:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>My Gnome 3.0: A Real Web Desktop</title>
		<link>http://blog.schmichael.com/2009/06/02/my-gnome-30-a-real-web-desktop/</link>
		<comments>http://blog.schmichael.com/2009/06/02/my-gnome-30-a-real-web-desktop/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 01:53:51 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[gnome]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=648</guid>
		<description><![CDATA[So I missed the stream of What I Want for Christmas Gnome 3.0 by &#8230; a while, but better late than never!* The Win Essentially what I want for Gnome 3.0 is what Tomboy just got: a web interface called &#8230; <a href="http://blog.schmichael.com/2009/06/02/my-gnome-30-a-real-web-desktop/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So I missed the <a href="http://www.google.com/cse?cx=007525575524326405779%3Ac0gv0y410u0&#038;q=gnome+3.0&#038;cof=FORID%3A0">stream of What I Want for <strike>Christmas</strike> Gnome 3.0</a> by &#8230; a while, but better late than never!*</p>
<p><strong>The Win</strong></p>
<p>Essentially what I want for Gnome 3.0 is what <a href="http://automorphic.blogspot.com/2009/05/tomboy-0151-release-brings-new-online.html">Tomboy just got: a web interface</a> called <a href="http://live.gnome.org/Snowy">Snowy</a>.  Part synchronization, part collaboration, all &#8220;cloud&#8221; for those buzzword minded among us.</p>
<p><strong>The Fail</strong></p>
<p>Luckily there&#8217;s already Conduit which I think does the synchronization bit&#8230;  I say &#8220;I think&#8221; because I&#8217;ve never actually gotten Conduit to work.  I drag &#038; drop F-Spot onto the canvas**, neat.  I drag &#038; drop Network to the right of F-Spot, neat.  Now what?  There&#8217;s no configure option for Network.  Heck, there&#8217;s not even a Remove*** for Network.  I right click and select Synchronize in hopes it will prompt me for details, but instead it happily reports synchronization is finished.  <em>Huh?!</em></p>
<p>I poke around in Preferences hoping for guidance on how to sync to another computer over a network.  Wow.  The first tab is fine, but the other 2 tabs are just long lists of text.  Wait a second, if you scroll <em>horizontally</em> to the right in the Data Providers tab you can see a checkbox to load/unload them!  Why you&#8217;d want this option other than for development, I&#8217;m not sure, but its there if you know where to look.</p>
<p>At this point <em>Conduit has failed to gain my trust, so I give up.</em>  I&#8217;m fine with Pidgin being crash happy or Eclipse being ridiculously complex to configure.  The former isn&#8217;t mission critical and the latter is intended for developers.</p>
<p>However, I&#8217;m expected to entrust all of my files to Conduit.  Files and account information for network resources if I could figure out how to get that to work.  I have pretty high expectations for anything I&#8217;m entrusting my files and passwords too.  Right now Conduit seems more like a demo of GTK+&#8217;s canvas drawing abilities (it is pretty looking) than a powerful synchronization tool.</p>
<p><strong>The Dream</strong></p>
<p><em>My expectations for web enabling Gnome are <strong>insanely</strong> high.</em>  Synchronization isn&#8217;t enough (although it&#8217;d be an excellent start).  I need web enabled collaboration features as well.  I need it to Just Work&trade; as well as be Secure By Default&trade;.</p>
<p>This means:</p>
<ul>
<li>All applications can synchronize their <em>settings</em> and <em>data</em>.</li>
<li>All data has some sort of web viewable format and ideally a way to interact with it on the web as well.</li>
<li>By default all settings and data should be <em>private</em>.</li>
<li>Fine-grained <abbr title="Create Read Update Delete">CRUD</abbr> permissions for all settings and data.  The C<small>reate</small> and U<small>pdate</small> are key here: not only should I be able to give other users the ability to edit my files but Grandma should be able to upload photos to my photo album.</li>
<li>While I&#8217;m dreaming can I add versioning support (<a href="https://www.getdropbox.com/referrals/NTE2ODkwNDk">like Dropbox</a>)?  Cool, thanks. <img src='http://blog.schmichael.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p><strong>The Implementation</strong></p>
<p>Unfortunately I think Conduit is the wrong way to go.  The concept is sound, but <a href="http://www.jwz.org/doc/worse-is-better.html">Worse Is Better&trade;</a>:  each application needs to be allowed to implement their own integration with the cloud synchronization and collaboration system.  There&#8217;s too many application specific tasks to accomplish intuitive synchronization and collaboration features outside the main application.</p>
<p>Tomboy has had pretty good synchronization for a while now.  <a href="https://labs.mozilla.com/projects/weave/">Firefox is getting it with Weave</a>.</p>
<p>In a way F-Spot and Banshee support 1-way synchronization and collaboration.  F-Spot can upload photos to a variety of services which have all (or at least most) of the features I&#8217;m pining for.  Banshee&#8217;s ability to download Podcasts and music synchronize to iPods (note: I&#8217;ve never used that feature) is a sort of primordial synchronization.  If only <a href="http://idea.opensuse.org/content/ideas/web-interface-to-banshee-library">Banshee Web</a> had survived (and wasn&#8217;t written in ASP.NET, the ickiest of all webdev platforms).  <a href="http://www.abisource.com/wiki/AbiCollab">Abiword has been toying with cloud services for a little while as well.</a></p>
<p>Perhaps Evolution is the poster child for this: I currently use it as a Gmail and Gcal interface sometimes because there are certain use cases for which I prefer it (shocking I know!).  Despite its past reputation for being bloated and buggy, it Just Works&tm; these days and integrates beautifully with the rest of the Gnome desktop (are those calendar events in my system tray calendar?!  amazing!  Pidgin integration?!  <3 Evolution).  Evolution lives completely in the cloud and synchronizes everything locally beautifully (after years and years of effort).</p>
<p><strong>Why Gnome Can Do It</strong></p>
<p>Gimp is actually the first Gnome app to really make me realize working on the web <em>can</em> and <em>should</em> be as easy as working locally.  All it did was utilize Gnome&#8217;s VFS to edit and save images via FTP or SSH.  With Gnome&#8217;s screenshot tool, I can save a screenshot to a web accessible location in 1 keypress and 2 clicks.  Amazing!  Thats almost as fast and easy as using a pastebin tool on the command line for sharing text.</p>
<p>Snowy seems like an excellent poster child for the web interface I&#8217;m whining about.  I haven&#8217;t used it yet, but the very idea that Tomboy already has an open source reference implementation is an excellent start.  3rd parties could implement the protocols and offer competing services.</p>
<p>In an ideal world this would create a revenue stream for open source applications: services like Dropbox could support the synchronization and collaboration protocols and in return support development of the projects.  The more people who use apps that integrate seamlessly with Dropbox, the more people who pay for Dropbox&#8230; or box.net or Amazon or&#8230; you get the idea.</p>
<p><strong>FreeDesktop.org Does What?!</strong></p>
<p>That&#8217;s right, FreeDesktop.org needs to lead the charge here.  Its not enough that the protocols are open, application developers need libraries to make synchronization and collaboration <em>easy</em>.  In that way Conduit is right: each application should not completely reinvent the wheel.</p>
<p>FreeDesktop.org needs to follow Mozilla&#8217;s lead.  Mozilla realized early on that in order for their browser business to succeed, they needed <em>open standards to succeed</em>.  FreeDesktop.org needs to do the same.  A KDE application should be able to synchronize to the same service as a Gnome app (this is where Conduit&#8217;s monolithic-master-synchronization-app model seems too optimistic to succeed).  OSX and Windows apps should be able to use the base synchronization libraries as well, even if they don&#8217;t use GTK+ or QT.</p>
<p>At the end of the day I should be able to sync my photos, documents, and mp3s between my laptop, desktop, cell phone, Kindle, etc as well as any relevant application settings (Tomboy for Kindle?!  yes please!).  &#8230;and so much more.</p>
<p><small>* Not always true.  For example: posting opinions on a piece of software long after the roadmap has been made.</small><br />
<small>** Strike 1 against Conduit: &#8220;Canvas&#8221; isn&#8217;t a very end user friendly term <abbr title="in my humble opinion">IMHO</abbr>.  A minor complaint, but as confusing as the UI already is, it needs all the help it can get.  Perhaps the problem isn&#8217;t the name &#8220;Canvas&#8221; but rather that the fact that it doesn&#8217;t even need to be said.  Remove all references to it and just put a textbox that says &#8220;Drop data providers here.&#8221; when the canvas is empty.  The &#8220;Clear canvas&#8221; option can just be &#8220;Clear&#8221; as there&#8217;s really only 1 thing that can be cleared.</small><br />
<small>*** Strike 1.5: &#8220;Remove&#8221; would be better than &#8220;Delete&#8221;.  Delete makes me wonder if its going to erase my files!  Remove seems more descriptive and precise.  Also, drop &#8220;item&#8221; from the end of each right click menu option.  Its redundant when every option operates on the item you clicked.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2009/06/02/my-gnome-30-a-real-web-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping all your notes in sync with Dropbox and Tomboy</title>
		<link>http://blog.schmichael.com/2009/04/17/in-sync-with-dropbox-and-tomboy/</link>
		<comments>http://blog.schmichael.com/2009/04/17/in-sync-with-dropbox-and-tomboy/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 00:35:47 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Mono/.Net]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[tomboy]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=630</guid>
		<description><![CDATA[Tomboy is a wonderful note taking program for Gnome. It has some synchronization features built-in, but not everyone has a server to store their notes for synchronizing between multiple computers. Enter Dropbox: a service for synchronizing files between computers. It &#8230; <a href="http://blog.schmichael.com/2009/04/17/in-sync-with-dropbox-and-tomboy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://projects.gnome.org/tomboy/">Tomboy</a> is a wonderful note taking program for Gnome.  It has some synchronization features built-in, but not everyone has a server to store their notes for synchronizing between multiple computers.</p>
<p>Enter <a href="https://www.getdropbox.com/referrals/NTE2ODkwNDk">Dropbox</a>: a service for synchronizing files between computers.  It works great in Gnome (Windows and Mac OSX as well).</p>
<p>I use Dropbox for synchronizing my Tomboy notes by telling Tomboy to synchronize to a Local Folder: <code>~/Dropbox/Tomboy</code></p>
<p>My one gripe is that you have to go into a note to synchronize.  <a href="http://bugzilla.gnome.org/show_bug.cgi?id=468459">Someone has filed a bug and submitted a patch</a>, so hopefully it will be fixed soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2009/04/17/in-sync-with-dropbox-and-tomboy/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Why not Subversion + DVCS of Choice?</title>
		<link>http://blog.schmichael.com/2009/01/06/why-not-subversion-dvcs-of-choice/</link>
		<comments>http://blog.schmichael.com/2009/01/06/why-not-subversion-dvcs-of-choice/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 00:56:02 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[hg]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=511</guid>
		<description><![CDATA[A follow-up to my last post on DVCSes&#8230; Gnomers have been discussing DVCSes a lot lately, and at least one seems to prefer bzr as the repository format and git as the protocol it speaks. If this sounds like madness &#8230; <a href="http://blog.schmichael.com/2009/01/06/why-not-subversion-dvcs-of-choice/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://michael.susens-schurter.com/blog/2009/01/04/time-to-learn-git/">A follow-up to my last post on DVCSes&#8230;</a></p>
<p><a href="http://planet.gnome.org/">Gnomers</a> have been <a href="http://wingolog.org/archives/2009/01/06/git-and-bzr">discussing DVCSes a lot lately</a>, and at least one seems to prefer <a href="http://blogs.gnome.org/johncarr/2008/12/11/dvcs-for-gnome/">bzr as the repository format and git as the protocol it speaks.</a>  <small>If this sounds like madness to you, you&#8217;re not alone.</small></p>
<p><em>What I don&#8217;t understand is why more people don&#8217;t choose to keep Subversion as their repository and just use the $DVCS-svn of your choice?</em></p>
<p>Granted I&#8217;ve only used <a href="http://bazaar-vcs.org/BzrForeignBranches/Subversion">bzr-svn</a> a bit, but it worked quite well and seems to only be getting better.  I hear <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html">git-svn</a> is quite good as well (but <abbrev title="if I remember correctly">iirc</abbrev> hg lags behind the competition).</p>
<p>The benefits of this seem pretty nice:</p>
<ul>
<li>Repository and Project management tools could get by with only first class Subversion support.</li>
<li>Directing inexperienced users to download code would be standardized.</li>
<li>Linux distributions wouldn&#8217;t have to ship 5 different VCSes (cvs, svn, git, bzr, hg), although the VCSes don&#8217;t take up much space.</li>
<li>Developers could use whichever tool they preferred, publish branches to any one of the zillions of free hosts for their DVCS of choice, and get on with their life.</li>
</ul>
<p><strong>Answering my own question&#8230;</strong></p>
<p>The obvious counter argument is that in order to share code you either:</p>
<ul>
<li>&#8230;force everyone who cares to use your DVCS.</li>
<li>&#8230;or lose some of the benefits of your chosen DVCS and share code via a SVN branch.</li>
</ul>
<p>Lets face it, both options are a pretty big hassle for <em>developers</em>.  Comprises always are.</p>
<p>For smaller single projects the overhead associated with going this route probably isn&#8217;t worth it.  You&#8217;ll probably either end up losing 75% of what makes a DVCS handy or just use SVN.</p>
<p><strong>Why is Gnome not considering this option though?</strong></p>
<p>This option seems ideal for projects like Gnome.  Individual modules will probably adopt a preferred DVCS, and thats fine.  None of them are so different that a competent developer couldn&#8217;t yank some revisions from an unfamiliar DVCS.</p>
<p>The project as a whole (and individual modules) would continue to remain uniformly easily available through a single svn checkout.</p>
<p>At the very least isn&#8217;t this better (at least saner) than bolting git onto bzr&#8217;s repository format?</p>
<p><strong>Audience Participation</strong></p>
<p>I&#8217;m not a Gnome developer though.  Just a curious user.  However, as a fellow developer I am left wondering: why isn&#8217;t this a good option?  Are $DVCS-svn connectors just not good enough?  Are the comprises too great?  Or the most likely: am I just missing some obvious showstopper?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2009/01/06/why-not-subversion-dvcs-of-choice/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fixing Gnome Notification&#8217;s Popup Location</title>
		<link>http://blog.schmichael.com/2008/12/01/fixing-gnome-notifications-popup-location/</link>
		<comments>http://blog.schmichael.com/2008/12/01/fixing-gnome-notifications-popup-location/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 06:32:52 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=458</guid>
		<description><![CDATA[Gnome notifications popup in the lower left corner of your desktop by default* which constantly annoys me. I usually have a terminal open in the lower left corner, and having my work covered by notifications is quite annoying. Luckily the &#8230; <a href="http://blog.schmichael.com/2008/12/01/fixing-gnome-notifications-popup-location/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Gnome notifications popup in the lower left corner of your desktop by default* which constantly annoys me.  I usually have a terminal open in the lower left corner, and having my work covered by notifications is quite annoying.</p>
<p>Luckily the fix is easy:</p>
<ol>
<li>Open Applications > System Tools > Configuration Editor**</li>
<li>Navigate to <code>apps</code> > <code>notification-daemon</code></li>
<li>Edit the <code>popup_location</code> to be something less annoying.  I prefer <strong><code>top_right</code></strong>.</li>
<li>Close Configuration Editor.  Changes will take effect next time you login <em>or</em> just restart the notification-daemon:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">~$ <span style="color: #c20cb9; font-weight: bold;">killall</span> notification-daemon
~$ <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>notification-daemon<span style="color: #000000; font-weight: bold;">/</span>notification-daemon <span style="color: #000000; font-weight: bold;">&amp;</span></pre></div></div>

</li>
</ol>
<p>Note that the notifications will actually show up over the top of your panel which seems a bit strange.  However, I&#8217;d rather the notification covered the panel than take up any more precious application space than is necessary.</p>
<p>Luckily you can easily test notifications if you have Python and python-notify installed:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #66cc66;">&gt;&gt;&gt;</span> <span style="color: #ff7700;font-weight:bold;">import</span> pynotify
<span style="color: #66cc66;">&gt;&gt;&gt;</span> pynotify.<span style="color: black;">init</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'foo'</span><span style="color: black;">&#41;</span>
<span style="color: #008000;">True</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span> pynotify.<span style="color: black;">Notification</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'foo'</span>, <span style="color: #483d8b;">'bar'</span><span style="color: black;">&#41;</span>.<span style="color: black;">show</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #008000;">True</span></pre></div></div>

<p><img src="/files/notification-top_right.png" alt="Notification in the upper right."/></p>
<p>* at least on Gnome 2.22.3 on Debian Sid with notification-daemon 0.3.7-1+b1<br />
** aka <a href="http://projects.gnome.org/gconf/">gconf-editor</a> from the <a href="http://packages.debian.org/search?keywords=gconf-editor&#038;searchon=names&#038;suite=all&#038;section=all&#038;sourceid=mozilla-search">gconf-editor package</a> which should be installed with Gnome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2008/12/01/fixing-gnome-notifications-popup-location/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Listing All Passwords Stored in Gnome Keyring</title>
		<link>http://blog.schmichael.com/2008/10/30/listing-all-passwords-stored-in-gnome-keyring/</link>
		<comments>http://blog.schmichael.com/2008/10/30/listing-all-passwords-stored-in-gnome-keyring/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 03:13:19 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[1337]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=429</guid>
		<description><![CDATA[I was toying with writing my first desktop application in years and got distracted by how cool Gnome Keyring is. Of course storing and retrieving passwords is pretty mundane, so here&#8217;s a fun example that dumps all of the current &#8230; <a href="http://blog.schmichael.com/2008/10/30/listing-all-passwords-stored-in-gnome-keyring/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was toying with writing my first desktop application in years and got distracted by how cool <a href="http://live.gnome.org/GnomeKeyring">Gnome Keyring</a> is.  Of course storing and retrieving passwords is pretty mundane, so here&#8217;s a fun example that dumps all of the current user&#8217;s passwords:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> pygtk
pygtk.<span style="color: black;">require</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'2.0'</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">import</span> gtk <span style="color: #808080; font-style: italic;"># sets app name</span>
<span style="color: #ff7700;font-weight:bold;">import</span> gnomekeyring
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> hack<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">for</span> keyring <span style="color: #ff7700;font-weight:bold;">in</span> gnomekeyring.<span style="color: black;">list_keyring_names_sync</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">id</span> <span style="color: #ff7700;font-weight:bold;">in</span> gnomekeyring.<span style="color: black;">list_item_ids_sync</span><span style="color: black;">&#40;</span>keyring<span style="color: black;">&#41;</span>:
            item = gnomekeyring.<span style="color: black;">item_get_info_sync</span><span style="color: black;">&#40;</span>keyring, <span style="color: #008000;">id</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'[%s] %s = %s'</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>
                    keyring, item.<span style="color: black;">get_display_name</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, item.<span style="color: black;">get_secret</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">else</span>:
            <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>gnomekeyring.<span style="color: black;">list_item_ids_sync</span><span style="color: black;">&#40;</span>keyring<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> == <span style="color: #ff4500;">0</span>:
                <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'[%s] --empty--'</span> <span style="color: #66cc66;">%</span> keyring
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">'__main__'</span>:
    hack<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Sample output with the interesting bits removed:</p>
<pre>
[default] Local password for user root = *******
[login] michael.schurter@Work = *******
[login] Google Account = *******
[login] Passphrase for wireless network 2WIRE939 = *******
[login] Unlock password for default keyring = *******
[login] schmichael@twitter.com = *******
[session] --empty--
</pre>
<p>Its not meant to be any sort of real hacking tool.  After all you can view all of this information via <a href="http://live.gnome.org/Seahorse">Seahorse</a> anyway.</p>
<p>But what fun is a <em>GUI</em> tool?  <img src='http://blog.schmichael.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2008/10/30/listing-all-passwords-stored-in-gnome-keyring/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
