<?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>Pontus Östlund</title>
	<atom:link href="http://www.poppa.se/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.poppa.se/blog</link>
	<description>My blog about web development and such</description>
	<lastBuildDate>Mon, 16 Jan 2012 00:38:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Building the accessible web</title>
		<link>http://www.poppa.se/blog/building-the-accessible-web/</link>
		<comments>http://www.poppa.se/blog/building-the-accessible-web/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 00:38:45 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[User Science]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google IO]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=565</guid>
		<description><![CDATA[As a web developer for a relatively large company that provide basic societal services with a wide ranged target group, accessibility has always interested me. I&#8217;ve been to a few workshops regarding web accessibility and I try to, at least to a lesser degree, make our web sites accessible to visitors using various types of [...]]]></description>
			<content:encoded><![CDATA[<p>As a web developer for a relatively large company that provide basic societal services with a wide ranged target group, accessibility has always interested me. I&#8217;ve been to a few workshops regarding web accessibility and I try to, at least to a lesser degree, make our web sites accessible to visitors using various types of accessibility tools like screen readers and so on.</p>
<p>Creating accessible web sites isn&#8217;t that hard as long as they are static. But the web isn&#8217;t static any more! As the web technology evolves we tend to make more dynamic web sites that are becoming more and more state full than the old and boring state less web. We do this with the help of JavaScript and <a href="http://en.wikipedia.org/wiki/AJAX">AJAX</a> to update a part or section of the page if the user clicks this or that button or what ever. And this makes it way harder to create accessible web sites for visitors not using a mouse to navigate or who can&#8217;t see the actual page.</p>
<p>But as the &#8220;regular&#8221; web technology evolves with <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a> and such, so does the accessibility part of the web as well. I just stumbled upon this great talk from <a href="http://www.google.com/events/io/2011/">Google IO 2011</a>, and I think this is something that every web developer who likes to call her or him self a web developer should see. At least I know what I will do the next couple of weeks! With some really small efforts we can make the web much more accessible for people with various impairities.</p>
<div><iframe width="680" height="376" src="http://www.youtube.com/embed/lMrkCoqgoxw" frameborder="0" allowfullscreen></iframe></div>
<p>And I encourage every web developer to follow the <a href="http://www.youtube.com/user/GoogleDevelopers/">Google Developer Channel</a> at <a href="http://youtube.com">Youtube</a>. There&#8217;s a lot of good stuff there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/building-the-accessible-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roxen Application Launcher 1.2.1</title>
		<link>http://www.poppa.se/blog/roxen-application-launcher-1-2-1/</link>
		<comments>http://www.poppa.se/blog/roxen-application-launcher-1-2-1/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 20:46:56 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Roxen]]></category>
		<category><![CDATA[gsettings]]></category>
		<category><![CDATA[GTK3]]></category>
		<category><![CDATA[RAL]]></category>
		<category><![CDATA[SOUP]]></category>
		<category><![CDATA[Vala]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=548</guid>
		<description><![CDATA[
There&#8217;s a new release of Roxen Application Launcher (come again?) for Linux. 
Although the previous release, using GTK3, came quite recently this release has some new things.
GSettings
I dumped the &#8220;keyfile&#8221; solution for the application settings in favour to GSettings. So the settings is no longer stored in a file in the application directory but rather [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/data/images/ral-121.png"><img src="/blog/data/images/ral-121.png/680" alt="Roxen Application Launcher 1.2.1" /></a></p>
<p>There&#8217;s a new release of <a href="http://www.roxen.com">Roxen</a> Application Launcher (<a href="/blog/stuff/#roxen-applauncher">come again?</a>) for <a href="http://www.linux.com/">Linux</a>. </p>
<p>Although the previous release, using <code>GTK3</code>, came quite recently this release has some new things.</p>
<h2>GSettings</h2>
<p>I dumped the &#8220;keyfile&#8221; solution for the application settings in favour to <a href="http://developer.gnome.org/gio/2.30/GSettings.html">GSettings</a>. So the settings is no longer stored in a file in the application directory but rather in the system&#8217;s application settings backend. GSettings is part of GIO &#8211; the GNOME networking library &#8211; and since RAL depends on GIO no new dependency is needed. The upside is that I could put a file of source code in the bin! Plus, it&#8217;s fun learning new stuff!</p>
<h2>Editors and content types</h2>
<p>Previously I have kept an editor &#8211; name and command line &#8211; for every content type. Anders at <a href="http://roxen.com">Roxen</a> thought it&#8217;d be better if editors and content types were separated. I&#8217;ve thought about that before but never bothered to do anything about it.</p>
<p>But now, along with GTK3, there&#8217;s a new (I think) <code>AppInfo</code> class and the new <code>AppChooserButton</code> and <code>AppChooserDialog</code> widgets so I thought it&#8217;d be cool to use those. So selecting an editor for a new content type is way more simple now, and it also looks nicer. Plus we get the icon for the editor in the content type list under the &#8220;Applications&#8221; tab <img src='http://www.poppa.se/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Simple logging</h2>
<p>I also implemented some simple logging which can be viewed under the new &#8220;Logging&#8221; tab. This will be worked upon and at the moment not very useful information is written to the log, but at least it&#8217;s a start.</p>
<h2>Default icons</h2>
<p>The icons in the notification popup &#8211; which only are three to the number &#8211; is now fetched from the user&#8217;s default icon theme. They we&#8217;re bundled before.</p>
<h2>SOUP all the way</h2>
<p>Previously I have used a little hack for saving downloaded files to disk. The problem was that the Vapi bindings for <code>libsoup</code> casted the data to a string which totally scrambled binary content like images and such. My solution was to write a simple C-function which took a <code>SoupMessageBody</code> struct as argument and then wrote that to diskt always keeping the <code>uint8[]</code> type of the content.</p>
<p>I bug reported this way back and it&#8217;s now fixed in Vala so I dumped my solution and am now using Vala all the way. Gone is one C and one Vapi file.</p>
<p>While at it I changed from using <em>blocking</em> functions in <code>libsoup</code> to the <em>async</em> ones. You never really noticed blocking calls was used before, but right is right. Right?</p>
<p><strong>And that&#8217;s that for this time I think!</strong></p>
<p><a class="download" title="Download from Github" href="https://github.com/downloads/poppa/Roxen-Application-Launcher/roxenlauncher-1.2.1.tar.bz2"><span>Roxen Application Launcher 1.2.1</span></a></p>
<p>Sources is available at the Roxen Application Launcher <a href="https://github.com/poppa/Roxen-Application-Launcher">Github repository</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/roxen-application-launcher-1-2-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GTK TreeViewColumn with icon and text</title>
		<link>http://www.poppa.se/blog/gtk-treeviewcolumn-with-both-icon-and-text-in-the-same-column/</link>
		<comments>http://www.poppa.se/blog/gtk-treeviewcolumn-with-both-icon-and-text-in-the-same-column/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 20:18:51 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[CellRenderer]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[GTK3]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[TreeViewColumn]]></category>
		<category><![CDATA[Vala]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=534</guid>
		<description><![CDATA[
The other day I wanted to put both an icon and text in the same GTK+ TreeViewColumn, and I had absolutely no idea how to do that. So I Google&#8217;d and Google&#8217;d but had trouble finding any examples. I even downloaded the source code of the Gnome System Monitor &#8211; where exactly what I wanted [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/data/images/gtk-tvcol.png"><img src="/blog/data/images/gtk-tvcol.png/680" alt="TreeViewColumn with icon and text" /></a></p>
<p>The other day I wanted to put both an icon and text in the same <a href="http://www.gtk.org/">GTK+</a> <code>TreeViewColumn</code>, and I had absolutely no idea how to do that. So I Google&#8217;d and Google&#8217;d but had trouble finding any examples. I even downloaded the <a href="https://code.launchpad.net/gnome-system-monitor">source code</a> of the <a href="http://library.gnome.org/users/gnome-system-monitor/stable/">Gnome System Monitor</a> &#8211; where exactly what I wanted exist &#8211; but that was mostly written in C++ which I know very little of. </p>
<p>But I&#8217;m stubborn, and after a while I found and example in <a href="http://python.org/">Python</a> which I managed to interpret. Even though I know very little Python it&#8217;s not that hard to follow, and the example was short.</p>
<p>In short what&#8217;s needed is packing two <code>CellRenderer</code>s in the same <code>TreeViewColumn</code>. Quite logical when you know about it. The example below is in <a href="http://live.gnome.org/Vala">Vala</a>:</p>
<pre><code lang="vala">
var tree_view = new TreeView ();

var col = new TreeViewColumn ();
col.title = title;
col.resizable = true;

var crp = new CellRendererPixbuf ();
col.pack_start (crp, false);
col.add_attribute (crp, "pixbuf", 0);

var crt = new CellRendererText ();
col.pack_start (crt, false);
col.add_attribute (crt, "text", 1);

tree_view.insert_column (col, -1);
</code></pre>
<p>I hacked up a simple application that shows all installed programs &#8211; that has a <code>.desktop</code> entry I guess &#8211; in a list (the screenshot above). The sources is available at my <a href="https://github.com/poppa/PlayStation/tree/master/Vala/Gtk3/treeview-with-pixbuf">Github repository</a>.</p>
<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/gtk-treeviewcolumn-with-both-icon-and-text-in-the-same-column/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roxen Application Launcher 1.1</title>
		<link>http://www.poppa.se/blog/roxen-application-launcher-1-1/</link>
		<comments>http://www.poppa.se/blog/roxen-application-launcher-1-1/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 22:28:34 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roxen]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[GTK3]]></category>
		<category><![CDATA[RAL]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vala]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=519</guid>
		<description><![CDATA[
There&#8217;s a new release of Roxen Application Launcher (come again?) for Linux. 
I have updated the application launcher to use GTK3 so that it builds on Ubuntu 11.10 and any other Linux distribution using GTK3. This also made it possible to drop the dependency for libunique since Gtk.Application can handle single instance applications.
I also fixed [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/data/images/ral-1.1.png" class="no-file"><img src="/blog/data/images/ral-1.1.png/680" alt="Screenshot of Roxen Application Launcher" /></a></p>
<p>There&#8217;s a new release of <a href="http://www.roxen.com">Roxen</a> Application Launcher (<a href="/blog/stuff/#roxen-applauncher">come again?</a>) for <a href="http://www.linux.com/">Linux</a>. </p>
<p>I have updated the application launcher to use <code>GTK3</code> so that it builds on Ubuntu 11.10 and any other Linux distribution using <code>GTK3</code>. This also made it possible to drop the dependency for <code>libunique</code> since <code>Gtk.Application</code> can handle single instance applications.</p>
<p>I also fixed a bug which made it impossible to use the appliction launcher on sites not running on port <code>80</code> or <code>443</code>.</p>
<p>So there&#8217;s no new features in this release.</p>
<p><a class="download" title="Download from Github" href="https://github.com/downloads/poppa/Roxen-Application-Launcher/roxenlauncher-1.1.tar.bz2"><span>Roxen Application Launcher 1.1</span></a></p>
<p>Sources is available at the Roxen Application Launcher <a href="https://github.com/poppa/Roxen-Application-Launcher">Github repository</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/roxen-application-launcher-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roxen Application Launcher 1.0.10</title>
		<link>http://www.poppa.se/blog/roxen-application-launcher-1-0-10/</link>
		<comments>http://www.poppa.se/blog/roxen-application-launcher-1-0-10/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 19:24:59 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roxen]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[RAL]]></category>
		<category><![CDATA[Vala]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=505</guid>
		<description><![CDATA[There&#8217;s a new release of Roxen Application Launcher (come again?) for Linux. 
No big news, but the GTK+ tree view of files is now sortable. The &#8220;minimize to tray&#8221; function is now actually invoked when the window is minimized rather than closed. A right click in the file list now also let you go the [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a new release of <a href="http://www.roxen.com">Roxen</a> Application Launcher (<a href="/blog/stuff/#roxen-applauncher">come again?</a>) for <a href="http://www.linux.com/">Linux</a>. </p>
<p>No big news, but the GTK+ tree view of files is now sortable. The &#8220;minimize to tray&#8221; function is now actually invoked when the window is minimized rather than closed. A right click in the file list now also let you go the the file&#8217;s directory in the Sitebuilder.</p>
<p>Also fixed a bug where the locales didn&#8217;t get installed correctly and also fixed a bug which scrambled the configuration file a bit.</p>
<p><a class="download" title="Download from Github" href="https://github.com/downloads/poppa/Roxen-Application-Launcher/roxenlauncher-1.0.10.tar.bz2"><span>Roxen Application Launcher 1.0.10</span></a></p>
<p>Sources is available at the Roxen Application Launcher <a href="https://github.com/poppa/Roxen-Application-Launcher">Github repository</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/roxen-application-launcher-1-0-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notification area icons in Ubuntu 11.04</title>
		<link>http://www.poppa.se/blog/notification-area-icons-in-ubuntu-11-04/</link>
		<comments>http://www.poppa.se/blog/notification-area-icons-in-ubuntu-11-04/#comments</comments>
		<pubDate>Tue, 03 May 2011 21:46:19 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[gsettings]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Share]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=486</guid>
		<description><![CDATA[If you&#8217;r an Ubuntu user and have upgraded to 11.04 and use the new desktop environment Unity, you might have noticed that some applications that implement the GTK status icon doesn&#8217;t show up in the notification area &#8211; or tray or systray as it also may be called.
The reason for this is that Ubuntu now [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;r an Ubuntu user and have upgraded to 11.04 and use the new desktop environment Unity, you might have noticed that some applications that implement the GTK status icon doesn&#8217;t show up in the notification area &#8211; or tray or systray as it also may be called.</p>
<p>The reason for this is that Ubuntu now utilise a &#8220;whitelist&#8221; for which applications can be displayed in the notification area. You can (maybe not that) easily add any application to the whitelist by invoking the command <code>gsettings</code> in the following way:</p>
<pre><code lang="shell">
gsettings set com.canonical.Unity.Panel systray-whitelist ['app-1', 'app-2', 'app-3']
</code></pre>
<p>Now, this can be quite a difficult command to remember and since you will need to first grab the whitelist, alter it, and then put it back. Since I&#8217;m lame at Bash I thought it would be a nice misson to create a Bash script that makes this interference simpler, just to pick up some more Bash knowledge. So I did!</p>
<p>The script can be used like this:</p>
<pre><code lang="shell">
# Add MyApplication to whitelist
systray-whitelist add MyApplication

# Remove MyApplication from whitelist
systray-whitelist remove MyApplication

# Show applications in whitelist
systray-whitelist show
</code></pre>
<p>And that&#8217;s that.</p>
<p><a href="/blog/data/scripts/systray-whitelist" class="download">Download systray-whitelist</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/notification-area-icons-in-ubuntu-11-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Variable length argument segfaults valac</title>
		<link>http://www.poppa.se/blog/variable-length-argument-segfaults-valac/</link>
		<comments>http://www.poppa.se/blog/variable-length-argument-segfaults-valac/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 20:53:41 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Vala]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=482</guid>
		<description><![CDATA[Hm, found a bug in valac (the Vala compiler) today. If an abstract or virtual method contains a variable length argument (va_list) valac will segmentation fault.

// valac -o test sample.vala

int main(string[] args)
{
  return 0;
}

public abstract class Base : Object
{
  public abstract int query(string query, ... );
}

public class Child : Base
{
  public override [...]]]></description>
			<content:encoded><![CDATA[<p>Hm, found a bug in <code>valac</code> (the <a href="http://live.gnome.org/Vala/">Vala</a> compiler) today. If an abstract or virtual method contains a variable length argument (<code>va_list</code>) valac will segmentation fault.</p>
<pre><code lang="vala">
// valac -o test sample.vala

int main(string[] args)
{
  return 0;
}

public abstract class Base : Object
{
  public abstract int query(string query, ... );
}

public class Child : Base
{
  public override int query(string query, ... )
  {
    return 1;
  }
}
</code></pre>
<p>I&#8217;ve filed a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=633218">bug</a> about it so we&#8217;ll see what the problem is and if it can be fixed rapidly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/variable-length-argument-segfaults-valac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roxen Application Launcher 1.0.3</title>
		<link>http://www.poppa.se/blog/roxen-application-launcher-1-0-3/</link>
		<comments>http://www.poppa.se/blog/roxen-application-launcher-1-0-3/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 23:35:49 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roxen]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Pike]]></category>
		<category><![CDATA[RAL]]></category>
		<category><![CDATA[Vala]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=473</guid>
		<description><![CDATA[
In this release of Roxen Application Launcher (come again?) for Linux I&#8217;ve gotten rid of a few dependencies, namely: gconf, libgee and libgnome. The reason I dumped gconf and libgnome was to make it easier to install in KDE. I&#8217;ve verified it installs in KDE, although I noticed the translation doesn&#8217;t work and the Roxen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/data/images/ral-103.png" class="no-file"><img src="/blog/data/images/ral-103.png/680" alt="Screenshot of Roxen Application Launcher" /></a></p>
<p>In this release of <a href="http://www.roxen.com">Roxen</a> Application Launcher (<a href="/blog/stuff/#roxen-applauncher">come again?</a>) for <a href="http://www.linux.com/">Linux</a> I&#8217;ve gotten rid of a few dependencies, namely: gconf, libgee and libgnome. The reason I dumped gconf and libgnome was to make it easier to install in KDE. I&#8217;ve verified it installs in KDE, although I noticed the translation doesn&#8217;t work and the Roxen SVG logo doesn&#8217;t show up in the window top border. </p>
<p><a href="/blog/data/images/ral-kde.png" class="no-file"><img src="/blog/data/images/ral-kde.png/680" alt="Screenshot of Roxen Application Launcher" /></a><br />
<em>Roxen Application Launcher in KDE</em></p>
<p>Libgee is a collections API written in Vala and since I used a newer version than what is available in most package managers, and I&#8217;m not sure all Linux distros provide libgee, I decided to dump it and implement the same functionality with the generic collection classes in Vala. And since the collections used in RAL is quite simple that worked out just fine. </p>
<p>I have also tried to implement bundled download, which is only used in Roxen Editorial Portal. Since I don&#8217;t have access to such an installation I haven&#8217;t been able to verify it works as expected. I re-implemented the same behavior as in the launcher written in Pike by the Roxen guys.</p>
<p>Oh, and if you already have an installation of my RAL your previously downloaded files and settings will not be available to the new install. Since I dumped gconf I now store the settings in a plain text file and I have put the RAL application directory in <code>~/.conf/roxenlauncher</code> since <code>~/.conf</code> is where you should put application specific data according to <a href="http://freedesktop.org">freedesktop.org</a>. In previous versions of RAL I stored application data in <code>~/.roxenlauncher</code> so if you want your previously downloaded files copy <code>~/.roxenlauncher/files</code> to <code>~/.conf/roxenlauncher/files</code>.</p>
<p>The sources is available at <a href="http://github.com/poppa/Roxen-Application-Launcher">Github</a>.</p>
<p><a href="/blog/data/roxenlauncher-1.0.3.tar.gz">Roxen Appliction Launcher 1.0.3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/roxen-application-launcher-1-0-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roxen Application Launcher 1.0</title>
		<link>http://www.poppa.se/blog/roxen-application-launcher-1-0/</link>
		<comments>http://www.poppa.se/blog/roxen-application-launcher-1-0/#comments</comments>
		<pubDate>Sun, 12 Sep 2010 09:16:30 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roxen]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[RAL]]></category>
		<category><![CDATA[Vala]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=467</guid>
		<description><![CDATA[
So I had a go at the Roxen Application Launcher (come again?) for Linux. I added a context menu &#8211; when you right click &#8211; to the file list. When you right click a file in the list you get the option to view that file in the Sitebuilder, edit it or remove it.
Other than [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/data/images/ral-1.0.png" class="no-file"><img src="/blog/data/images/ral-1.0.png/680" alt="Screenshot of Roxen Application Launcher with context menu" /></a></p>
<p>So I had a go at the <a href="http://www.roxen.com">Roxen</a> Application Launcher (<a href="/blog/stuff/#roxen-applauncher">come again?</a>) for <a href="http://www.linux.com/">Linux</a>. I added a context menu &#8211; when you right click &#8211; to the file list. When you right click a file in the list you get the option to view that file in the Sitebuilder, edit it or remove it.</p>
<p>Other than that there&#8217;s nothing new. And since the application seems to be very stable I decided to bump the version number to 1.0.</p>
<p>The sources is available at <a href="http://github.com/poppa/Roxen-Application-Launcher">Github</a>.</p>
<p><a href="/blog/data/roxenlauncher-1.0.tar.gz">Roxen Appliction Launcher 1.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/roxen-application-launcher-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pike project &#8211; module stub creator</title>
		<link>http://www.poppa.se/blog/pike-project-module-stub-creator/</link>
		<comments>http://www.poppa.se/blog/pike-project-module-stub-creator/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 22:06:31 +0000</pubDate>
		<dc:creator>Pontus</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Pike]]></category>

		<guid isPermaLink="false">http://www.poppa.se/blog/?p=455</guid>
		<description><![CDATA[
I recently began learning how to create Pike modules in C. The Pike module C API seems great and once you&#8217;ve sorted things out the modules are easy to build and install. Non the less, when creating a C module from scratch there&#8217;s a couple of files you need and some configurations of those before [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/data/images/pike-project.png" class="no-file"><img src="/blog/data/images/pike-project.png/680" alt="Screenshot of Pike project" /></a></p>
<p>I recently began learning how to create <a href='http://pike.ida.liu.se/'>Pike</a> modules in C. The Pike module C API seems great and once you&#8217;ve sorted things out the modules are easy to build and install. Non the less, when creating a C module from scratch there&#8217;s a couple of files you need and some configurations of those before everything is set for go. And here comes &#8220;pike-project&#8221; into play.</p>
<p>Pike-project is a simple <a href='http://www.gtk.org/'>GTK</a> program (works as command line tool also) written in Pike it self. The program will create the basics for a running Pike C module, or a plain installable Pike module. Then it&#8217;s just starting programming.</p>
<p>The program is available at my <a href='http://github.com/poppa/Pike-Modules/blob/master/tools/pike-project'>Github repository</a>.</p>
<p>BTW! At the moment it only works on Linux I suppose.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poppa.se/blog/pike-project-module-stub-creator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

