<?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>stick&#039;s corner &#187; appeal</title>
	<atom:link href="http://stick.gk2.sk/blog/tag/appeal/feed/" rel="self" type="application/rss+xml" />
	<link>http://stick.gk2.sk</link>
	<description>All composite phenomena are impermanent. All contaminated things and events are unsatisfactory.</description>
	<lastBuildDate>Sun, 05 Feb 2012 14:03:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>The Ugly Duckling called $XDG_CONFIG_HOME</title>
		<link>http://stick.gk2.sk/blog/2009/03/the-ugly-duckling-called-xdg_config_home/</link>
		<comments>http://stick.gk2.sk/blog/2009/03/the-ugly-duckling-called-xdg_config_home/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 12:09:02 +0000</pubDate>
		<dc:creator>Pavol Rusnak</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[appeal]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips+tricks]]></category>

		<guid isPermaLink="false">http://stick.gk2.sk/blog/?p=228</guid>
		<description><![CDATA[Let&#8217;s take a look into my home directory: [stick@spectra 0 ~] ls -F Applications/ Documents/ google.txt reverse-ssh* Desktop/ Downloads/ public_html/ work/ [stick@spectra 0 ~] ls -AF .0verkill google.txt public_html/ .adobe/ .grails/ .pulse/ .android/ .gstreamer-0.10/ .pulse-cookie Applications/ .gtk-bookmarks .pyhistory .AtomicWorm/ .gtkrc-2.0-kde4 .qt/ .bash_history .gvfs/ .rawstudio/ .bashrc .hplip/ .recently-used .bouml .htoprc .recently-used.xbel .boumlrc .hugin .repoconfig/ .bzr.log .icedteaplugin/ [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Let&#8217;s take a look into my home directory:</p>
<pre>[stick@spectra 0 ~] ls -F
Applications/  Documents/  google.txt    reverse-ssh*
Desktop/       Downloads/  public_html/  work/       

[stick@spectra 0 ~] ls -AF
.0verkill             google.txt              public_html/
.adobe/               .grails/                .pulse/
.android/             .gstreamer-0.10/        .pulse-cookie
Applications/         .gtk-bookmarks          .pyhistory
.AtomicWorm/          .gtkrc-2.0-kde4         .qt/
.bash_history         .gvfs/                  .rawstudio/
.bashrc               .hplip/                 .recently-used
.bouml                .htoprc                 .recently-used.xbel
.boumlrc              .hugin                  .repoconfig/
.bzr.log              .icedteaplugin/         reverse-ssh*
.cache/               .inkscape/              .rnd
.cddb/                .inputrc                .rpmpatch_macros
.cedega/              .IntelliJIdea80/        .rpmpatch_rpmrc
.civclientrc          .IntelliJIdea8x/        .scummvmrc
.civserver_history    .irssi/                 .signature-gk2
.config/              .java/                  .signature-gmail
.crack-attack/        .JxBrowser/             .signature-suse
.cxgames/             .kde/                   .skel/
.darkplaces/          .kde4/                  .Skype/
.dbus/                .kderc                  .smc/
.designer/            .kinorc                 .springrc
Desktop/              .ktorrent.lock          .sqlite_history
.directory            .lbrc.conf              .ssh/
.dmrc                 .lesshst                .strigi/
Documents/            .links/                 .subversion/
Downloads/            .liquidwarrc            .teeworlds/
.dvdcss/              .local/                 .thumbnails/
.eclipse/             .loki/                  .thunderbird/
.emacs                .macromedia/            .ufrawrc
.esd_auth             .mc/                    .ultramixer/
.fbhighlevelshistory  .mcop/                  .vendetta/
.fbhighscores         .miro/                  .viminfo
.fblevels/            .mixxxbpmscheme.xml     .vimrc
.fbrc                 .mixxx.cfg              .VirtualBox/
.fontconfig/          .mixxxmacros/           .vlc/
.fonts/               .MixxxMIDIBindings.xml  .vnc/
.fonts.conf           .mixxxtrack.xml         .w3m/
.gajim/               .mozilla/               .Wammu
.gconf/               .mplayer/               .wapi/
.gconfd/              .mysql_history          .windows-label
.gegl-0.0/            .mysticmine             .wine/
.gem/                 .netxrc                 .winetrickscache/
.gimp-2.6/            .nexuiz/                work/
.gitconfig            .ooo3/                  .Xauthority
.gnome/               .opera/                 .xim.template
.gnome2/              .osc_cookiejar          .xine/
.gnome2_private/      .oscrc                  .xsession-errors
.gnupg/               .profile                .y2usersettings
.google/              .psi/
.googleearth/         .psql_history</pre>
<p style="text-align: justify;">Out of 148 entries in my $HOME, there are only 12 of them I really want to see! How much nicer would it be, if it looked like this:</p>
<pre>[stick@spectra 0 ~] ls -AF
Applications/  Documents/  public_html/    .signature-gmail
.config/       Downloads/  reverse-ssh*    .signature-suse
Desktop/       google.txt  .signature-gk2  work/</pre>
<p style="text-align: justify;">This is very simple to achieve, if only applications followed the <a href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG Base Directory Specification</a>. Unfortunately, lots of them don&#8217;t. When you start using the following piece of code in your new awesome applications:</p>
<pre>config = getenv("XDG_CONFIG_HOME")
if (!config) config = getenv("HOME") + "/.config"
config = config + "/my_awesome_app"</pre>
<p style="text-align: justify;">instead of the old-school one:</p>
<pre>config = getenv("HOME") + "/.my_awesome_app"</pre>
<p style="text-align: justify;">users will gain two great advantages with nearly no extra effort:</p>
<ul>
<li>trying application without overwriting the existing configuration
<pre>XDG_CONFIG_HOME=/tmp/ my_awesome_app</pre>
</li>
<li>maintaining multiple configurations of the same application
<pre>XDG_CONFIG_HOME=~/.config/awesome3 my_awesome_app</pre>
</li>
</ul>
<p style="text-align: justify;">So, please, don&#8217;t ignore the ugly duckling called <code>$XDG_CONFIG_HOME</code>, I&#8217;m sure it will mature into a beautiful swan. <img src='http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://stick.gk2.sk/blog/2009/03/the-ugly-duckling-called-xdg_config_home/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

