<?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>Nepherte (dot) be</title>
	<atom:link href="http://www.nepherte.be/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nepherte.be</link>
	<description>About Nepherte, Mosiah and the person behind</description>
	<lastBuildDate>Sun, 30 May 2010 18:20:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>More information on Nepherte&#8217;s Unofficial User Repository</title>
		<link>http://www.nepherte.be/more-information-on-nephertes-unofficial-user-repository/</link>
		<comments>http://www.nepherte.be/more-information-on-nephertes-unofficial-user-repository/#comments</comments>
		<pubDate>Sun, 30 May 2010 18:20:42 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[FFMPEG]]></category>
		<category><![CDATA[libnemesi]]></category>
		<category><![CDATA[mpd]]></category>
		<category><![CDATA[MPlayer]]></category>
		<category><![CDATA[netembryo]]></category>
		<category><![CDATA[PulseAudio]]></category>
		<category><![CDATA[urxvt]]></category>
		<category><![CDATA[x264]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1322</guid>
		<description><![CDATA[As mentioned earlier, I&#8217;ve set up an unofficial arch user repository to share my builds with everybody. Today I will elaborate a little more on the provided packages. If you look at the current package list: x264 ffmpeg mplayer ffmpeg-mt mplayer-mt mpd netembryo rxvt-unicode you might be wondering why I provide these packages. All but [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned <a href="http://www.nepherte.be/nephertes-unofficial-user-repository/">earlier</a>, I&#8217;ve set up an unofficial arch user repository to share my builds with everybody. Today I will elaborate a little more on the provided packages.</p>
<p>If you look at the current package list:</p>
<ul>
<li>x264</li>
<li>ffmpeg</li>
<li>mplayer</li>
<li>ffmpeg-mt</li>
<li>mplayer-mt</li>
<li>mpd</li>
<li>netembryo</li>
<li>rxvt-unicode</li>
</ul>
<p>you might be wondering why I provide these packages. All but three can be found in the official repositories after all. In short: I either upgrade them much more frequently, they differ much from the official packages, they are not available in the official repsitories or all of the above. Now I will go more in depth for each package.</p>
<h5>x264, ffmpeg and mplayer</h5>
<p>These 3 packages are being actively developed. Many new changes are made even in the scope of just a week. Understandably, the arch packagers can&#8217;t rebuild these packages whenever changes are made. I repackage them on a monthly base which makes my packages usually a lot more up to date than the official ones.</p>
<p>This, however, is not the main reason I make these 3 packages available. The official arch mplayer build incorporates its own internal static version of ffmpeg (as recommended by the mplayer devs), ignoring the already available ffmpeg on most systems. This approach results in duplication of code and bigger packages. In the programming community, duplication of code is something that one tries to avoid at all cost, as this usually implies a bad design. I apply the same principle to my packages: compile once and use them everyone else.</p>
<p>Some less commonly used options in mplayer and ffmpeg are also disabled:</p>
<ul>
<li>No image support in mplayer.</li>
<li>Many exotic audio/video ouputs and audio/video codecs are disabled.</li>
<li>No tv or radio support</li>
<li>&#8230;</li>
</ul>
<p>I also include features not available in the official mplayer package such as pulseaudio support. I&#8217;m a huge fan of pulseaudio and support it in all the packages that can handle it.</p>
<h5>ffmpeg-mt and mplayer-mt</h5>
<p>ffmpeg-mt and mplayer-mt are the multithreaded versions of ffmpeg and mplayer respectively. They have the same feature set as mentioned in the topic on their single threaded versions. If you have no graphics card that supports hardware accelerated video playback, then this is what you want to playback high definition movies.</p>
<h5>mpd</h5>
<p>In this package, I mainly strip away less commonly used options and only add 1 new feature:</p>
<ul>
<li>no http output</li>
<li>no last.fm support</li>
<li>no oss output</li>
<li>no ipv6</li>
<li>pulseaudio support</li>
</ul>
<p></p>
<h5>netembryo and libnemesi</h5>
<p>I maintain both netembryo and libnemesi in AUR and might as well just make a binary version available as well.</p>
<h5>rxvt-unicode</h5>
<p>This build contains a particular patch that fixes the resizing of this terminal in tiling window managers. Otherwise there always black borders surrounding each terminal window which is just plain annoying</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/more-information-on-nephertes-unofficial-user-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Added multithreaded ffmpeg and mplayer to Nepherte&#8217;s Unofficial User Repository</title>
		<link>http://www.nepherte.be/added-multithreaded-ffmpeg-and-mplayer-to-nephertes-unofficial-user-repository/</link>
		<comments>http://www.nepherte.be/added-multithreaded-ffmpeg-and-mplayer-to-nephertes-unofficial-user-repository/#comments</comments>
		<pubDate>Fri, 28 May 2010 20:09:54 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[FFMPEG]]></category>
		<category><![CDATA[MPlayer]]></category>
		<category><![CDATA[multithreaded]]></category>
		<category><![CDATA[user repository]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1354</guid>
		<description><![CDATA[I&#8217;ve just packaged and added ffmpeg-mt and mplayer-mt to my arch user repository for all of you out there without hardware accelerated video playback. For more information about my personal repository, including usage instructions, view my repo page. To activate n threads in mplayer, use the following command: mplayer -lavdopts threads=n moviefile Instead of constantly [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just packaged and added ffmpeg-mt and mplayer-mt to my arch user repository for all of you out there without hardware accelerated video playback. For more information about my personal repository, including usage instructions, view my <a href="http://www.nepherte.be/repo">repo page</a>.  To activate n threads in mplayer, use the following command:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mplayer</span> <span style="color: #660033;">-lavdopts</span> <span style="color: #007800;">threads</span>=n moviefile</pre></div></div>

<p>Instead of constantly typing that command, you can also add it to the invaluable mplayer config file located at ~/.mplayer/config:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>default<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #007800;">lavdopts</span>=<span style="color: #007800;">threads</span>=<span style="color: #000000;">2</span></pre></div></div>

<p>Obviously I&#8217;m not one of the happy few that have a graphics card with support for hardware accelerated video playback (vdpau for nvidia). When playing a 1080p high definition movie without vdpau and with the singlethreaded mplayer, the movie becomes pretty much unwatcheable: video stuttering, audio running behind on video or vica versa, fastforwarding crashes mplayer, &#8230; It&#8217;s odd that in a world full of multicore processors, a multithreaded video player isn&#8217;t a commodity and probably never will be. Nonetheless I believe there is actually a market for this. After all, not everyone has a fairly recent graphics card (less than 3 yeard old).</p>
<p>With the multithreaded mplayer all of that changes. I am in the possession of an AMD Athlon64 X2 3800+, the first dual core cpu series of AMD, and playback of a 1080p movie with a video bitrate of 15.5Mbps is smooth. It doesn&#8217;t even use the 2 cores to their full potential. It appears I only needed a little more but o so necessary cpu power to play it. Until I buy a recent graphics card, hopefully in the very near future, this will certainly do the trick.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/added-multithreaded-ffmpeg-and-mplayer-to-nephertes-unofficial-user-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protect yourself from CSRF attacks with CSFire</title>
		<link>http://www.nepherte.be/protect-yourself-from-csrf-attacks-with-csfire/</link>
		<comments>http://www.nepherte.be/protect-yourself-from-csrf-attacks-with-csfire/#comments</comments>
		<pubDate>Wed, 19 May 2010 19:46:16 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[csfire]]></category>
		<category><![CDATA[csrf]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1296</guid>
		<description><![CDATA[For the last decade, there has been a disturbingly major increase in cross site request forgery attacks (csrf). In this kind of attack, an unauthorized request from the user&#8217;s browser is made to a vurnerable website to execute an unwanted action, without the user even noticing. These unauthorized requests can be triggered by mails or [...]]]></description>
			<content:encoded><![CDATA[<p>For the last decade, there has been a disturbingly major increase in <a href="http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)">cross site request forgery</a> attacks (csrf). In this kind of attack, an unauthorized request from the user&#8217;s browser is made to a vurnerable website to execute an unwanted action, without the user even noticing. These unauthorized requests can be triggered by mails or websites containing malicious &lt;img&gt; or &lt;iframe&gt; tags, for example discussion boards that accept html input. Examples of unwanted actions are stealing sensitive data,  wiring money from one account to the other, &#8230;</p>
<p>These csrf attacks are very problematic because it is difficult for a user to protect himself from it without completely degrading the web experience, such as disabling javascript (which is not necessarily a sufficient counter measure). It is mainly up to the developer of a site or web application to prevent these attacks by making sure it is impossible to store code on their site that launches such attacks and by making sure their site is not vurnerable to such attacks. But truth is that most developers are just clueless.</p>
<p>However, <a href="http://distrinet.cs.kuleuven.be/">distrinet</a>, a reseach group of the University of Leuven, has published a firefox addon called <a href="https://addons.mozilla.org/nl/firefox/addon/58189/">csfire</a> that attempts to mitigate csrf attacks. You can find the paper on csfire <a href="http://outgoing.mozilla.org/v1/15d33c40d385064f9cba654013e9a3472d635c61/http%3A//people.cs.kuleuven.be/%7Ephilippe.deryck/papers/csfire.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/protect-yourself-from-csrf-attacks-with-csfire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clickable workspaces in XMonad with dzen2</title>
		<link>http://www.nepherte.be/clickable-workspaces-in-xmonad-with-dzen2/</link>
		<comments>http://www.nepherte.be/clickable-workspaces-in-xmonad-with-dzen2/#comments</comments>
		<pubDate>Tue, 18 May 2010 20:06:48 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[clickable workspaces]]></category>
		<category><![CDATA[dzen2]]></category>
		<category><![CDATA[XMonad]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1297</guid>
		<description><![CDATA[While XMonad can be controlled entirely by the keyboard, it can still be a useful feature to change your workspace with a mouse click. I&#8217;ve been looking for this for quite some time and finally figured out how to get clickable workspaces in XMonad with dzen2. You&#8217;ll need 3 things: xmonad dzen2 &#62;= rev. 267 [...]]]></description>
			<content:encoded><![CDATA[<p>While XMonad can be controlled entirely by the keyboard, it can still be a useful feature to change your workspace with a mouse click. I&#8217;ve been looking for this for quite some time and finally figured out how to get clickable workspaces in XMonad with dzen2.</p>
<p>You&#8217;ll need 3 things:</p>
<ul>
<li>xmonad</li>
<li>dzen2 &gt;= rev. 267</li>
<li>xdotool</li>
</ul>
<p>Here are the things you&#8217;ll need to put in your xmonad.hs config:</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #06c; font-weight: bold;">import</span> Data<span style="color: #339933; font-weight: bold;">.</span>List
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define amount and names of clickable workspaces.</span>
myWorkspaces    <span style="color: #339933; font-weight: bold;">=</span> clickable <span style="color: #339933; font-weight: bold;">.</span> <span style="color: green;">&#40;</span><span style="font-weight: bold;">map</span> dzenEscape<span style="color: green;">&#41;</span> <span style="color: #339933; font-weight: bold;">$</span> nWorkspaces <span style="color: red;">0</span> <span style="color: green;">&#91;</span><span style="background-color: #3cb371;">&quot;main&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;web&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;chat&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;media&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;graph&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;browse&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;dev&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;mail&quot;</span><span style="color: green;">&#93;</span>
    <span style="color: #06c; font-weight: bold;">where</span> nWorkspaces n <span style="color: green;">&#91;</span><span style="color: green;">&#93;</span> <span style="color: #339933; font-weight: bold;">=</span> <span style="font-weight: bold;">map</span> <span style="font-weight: bold;">show</span> <span style="color: green;">&#91;</span><span style="color: red;">1</span> <span style="color: #339933; font-weight: bold;">..</span> n<span style="color: green;">&#93;</span>
          nWorkspaces n l  <span style="color: #339933; font-weight: bold;">=</span> <span style="font-weight: bold;">init</span> l <span style="color: #339933; font-weight: bold;">++</span> <span style="font-weight: bold;">map</span> <span style="font-weight: bold;">show</span> <span style="color: green;">&#91;</span><span style="font-weight: bold;">length</span> l <span style="color: #339933; font-weight: bold;">..</span> n<span style="color: green;">&#93;</span> <span style="color: #339933; font-weight: bold;">++</span> <span style="color: green;">&#91;</span><span style="font-weight: bold;">last</span> l<span style="color: green;">&#93;</span>
          clickable l      <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span> <span style="background-color: #3cb371;">&quot;^ca(1,xdotool key ctrl+F&quot;</span> <span style="color: #339933; font-weight: bold;">++</span> <span style="font-weight: bold;">show</span> <span style="color: green;">&#40;</span>n<span style="color: green;">&#41;</span> <span style="color: #339933; font-weight: bold;">++</span> <span style="background-color: #3cb371;">&quot;)&quot;</span> <span style="color: #339933; font-weight: bold;">++</span> ws <span style="color: #339933; font-weight: bold;">++</span> <span style="background-color: #3cb371;">&quot;^ca()&quot;</span> <span style="color: #339933; font-weight: bold;">|</span> <span style="color: green;">&#40;</span>i<span style="color: #339933; font-weight: bold;">,</span>ws<span style="color: green;">&#41;</span> &amp;lt;<span style="color: #339933; font-weight: bold;">-</span> <span style="font-weight: bold;">zip</span> <span style="color: green;">&#91;</span>1<span style="color: #339933; font-weight: bold;">..</span><span style="color: green;">&#93;</span> l<span style="color: #339933; font-weight: bold;">,</span> <span style="color: #06c; font-weight: bold;">let</span> n <span style="color: #339933; font-weight: bold;">=</span> i <span style="color: green;">&#93;</span></pre></div></div>

<p>These lines will wrap every workspace name with ^ca, a click action available in dzen2 &gt;= rev. 267. Xdotool is a small application that simulates pressed keys. You can alter the names of the workspaces to your likings. You do, however, have to change the key in the xdotool command to the key you use in XMonad to switch to a specific workspace. In my case, keys &lt;ctrl&gt;+F1 to &lt;ctrl&gt;+F8 are used to switch to workspaces 1 to 8.</p>
<p>Throughout your xmonad.hs you will need to replace all direct references to workspace names because now your first workspace for example, is named ^ca(1,xdotool key ctrl+F1)main^ca(). One way to do this is to use the following references instead:</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Workspace variables</span>
mainWs      <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">0</span><span style="color: green;">&#41;</span>
webWs       <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">1</span><span style="color: green;">&#41;</span>
chatWs      <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">2</span><span style="color: green;">&#41;</span>
mediaWs     <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">3</span><span style="color: green;">&#41;</span>
graphWs     <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">4</span><span style="color: green;">&#41;</span>
browseWs    <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">5</span><span style="color: green;">&#41;</span>
devWs       <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">6</span><span style="color: green;">&#41;</span>
mailWs      <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>myWorkspaces <span style="color: #339933; font-weight: bold;">!!</span> <span style="color: red;">7</span><span style="color: green;">&#41;</span></pre></div></div>

<p>Remember to use a dzen2 panel, as this click action is a dzen2 specific thing. Also don&#8217;t forget that if you have an urgent hook in your dzen2 pretty printer, you&#8217;ll have to rewrap the workspace with ^ca. You can find my entire confg file <a href="http://www.nepherte.be/files/config/.xmonad/xmonad.hs">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/clickable-workspaces-in-xmonad-with-dzen2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Disable vimperator input text box focussing</title>
		<link>http://www.nepherte.be/disable-vimperator-input-text-box-focussing/</link>
		<comments>http://www.nepherte.be/disable-vimperator-input-text-box-focussing/#comments</comments>
		<pubDate>Sun, 16 May 2010 14:11:12 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vimperator]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1282</guid>
		<description><![CDATA[I&#8217;m a huge fan of vi and any kind of software that incorporates vi-like behavior (emacs users can safely ignore this article). That&#8217;s why I intensively use the vimperator addon in Firefox. You could say internet browsing wouldn&#8217;t be the same without it. But there&#8217;s this one minor annoyance I always encounter while using vimperator: [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a huge fan of vi and any kind of software that incorporates vi-like behavior (emacs users can safely ignore this article). That&#8217;s why I intensively use the vimperator addon in Firefox. You could say internet browsing wouldn&#8217;t be the same without it. </p>
<p>But there&#8217;s this one minor annoyance I always encounter while using vimperator: vimperator always focusses on the first input text box it comes across on a web site. Some people may like this behavior but I certainly don&#8217;t. I have google&#8217;s search engine set as my home page and the search box always steals the focus. Usually I just want to fire a vimporator command to navigate to another site and entering insert mode because of this focus stealing certainly hinders me. Now I have finally narrowed it down to the setting that controls this behavior: focuscontent. Expanding ~/.vimperatorrc with</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">set</span> focuscontent</pre></div></div>

<p> disables input text box focussing. It certainly is a huge improvement. Yet another annoyance solved. Hop to the next one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/disable-vimperator-input-text-box-focussing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing my sessions with CDM</title>
		<link>http://www.nepherte.be/managing-my-sessions-with-cdm/</link>
		<comments>http://www.nepherte.be/managing-my-sessions-with-cdm/#comments</comments>
		<pubDate>Sat, 15 May 2010 18:41:15 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CDM]]></category>
		<category><![CDATA[GDM]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[XMonad]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1267</guid>
		<description><![CDATA[In my pursuit for a fast and functional workstation environment, I am slowly migrating away from GNOME based applications towards less complex and lightweight applications that work well together with XMonad. An obvious candidate for replacement is GDM, the GNOME Display Manager. It&#8217;s basically a graphical login program that launches the correct desktop environment and/or [...]]]></description>
			<content:encoded><![CDATA[<p>In my pursuit for a fast and functional workstation environment, I am slowly migrating away from GNOME based applications towards less complex and lightweight applications that work well together with XMonad. An obvious candidate for replacement is GDM, the GNOME Display Manager. It&#8217;s basically a graphical login program that launches the correct desktop environment and/or window manager. And while GDM works quite well, there were some minor annoyances. For example, <a href="http://projects.gnome.org/gdm/">GDM</a> overwrites the keyboard layout in GNOME, making keyboard configuration in GNOME useless.</p>
<p>I&#8217;ve considered a few alternatives. <a href="http://en.wikipedia.org/wiki/KDE_Display_Manager">KDM</a> is of course out of the question. It doesn&#8217;t even come close to being lightweight and I&#8217;d rather use Windows than pull in any kind of KDE dependency. Viable alternatives are among others SLIM, Qingy and simply using startx to fire up XMonad. I&#8217;ve tryed out <a href="http://slim.berlios.de/">SLIM</a> briefly in the past but wanted something even more simple and from what I&#8217;ve read, SLIM is not begin further developed. Startx is of course as easy as it can possibly get but is in itself featureless and only works well for a single user/session.</p>
<p>In the end I went with <a href="http://cdm.ghost1227.com/X11/">CDM</a>, the Console Display Manager, developed by <a href="http://ghost1227.com/">Ghost1227</a>, a fellow <a href="http://bbs.archlinux.org/profile.php?id=16081">Arch Linux user</a>. It is a minimimalistic, full featured, dialog-based login manager written in pure bash. It supports multiple users/sessions and can start virtually any window manager or desktop environment. I am impressed that it can fire up multiple X sessions of the same user on different ttys.</p>
<p>One step closer to a GNOMEless system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/managing-my-sessions-with-cdm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desktop, March 2010</title>
		<link>http://www.nepherte.be/desktop-march-2010/</link>
		<comments>http://www.nepherte.be/desktop-march-2010/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 12:52:11 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Screenshots]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[XMonad]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1225</guid>
		<description><![CDATA[It is time again to keep you in the loop on my desktop&#8217;s appearance. This month I&#8217;ve switched back to XMonad after using Gnome the last couple of months. Time and time again I&#8217;m surprised by the paradigm of tiling window managers and how functional you can make it. All in all I put together [...]]]></description>
			<content:encoded><![CDATA[<p>It is time again to keep you in the loop on my desktop&#8217;s appearance. This month I&#8217;ve switched back to XMonad after using Gnome the last couple of months. Time and time again I&#8217;m surprised by the paradigm of tiling window managers and how functional you can make it. All in all I put together a quite useful configuration file, among other things fixing the urgency hook that warns me of windows that need my attention and automatically jumping to the workspace where new windows appear. I also discovered the spacing layout modifier which adds some space between each window to distinguish one window from the other.</p>
<p>Since my last XMonad desktop, I&#8217;ve changed my wallpaper to something brighter to lighten things up (I usually don&#8217;t like dark colors or wallpapers) and adapted the text colors to match with everything else:<br />
<a href="http://www.nepherte.be/wp-content/uploads/desktop_march_2010_1.png"><img title="Desktop, March 2010 (1)" src="http://www.nepherte.be/wp-content/uploads/desktop_march_2010_1.png" alt="Desktop, March 2010 (1)" width="300" height="187" /></a> <a href="http://www.nepherte.be/wp-content/uploads/desktop_march_2010_2.png"><img title="Desktop, March 2010 (2)" src="http://www.nepherte.be/wp-content/uploads/desktop_march_2010_2.png" alt="Desktop, March 2010 (2)" width="300" height="187" /></a></p>
<p>System Info:</p>
<ul>
<li>Operating System: Arch Linux</li>
<li>Window Manager: XMonad</li>
<li>GTK: Customized Ubuntu Human (not visible)</li>
<li>Icons: Human Icon Set (not visible)</li>
<li>Wallpaper: Napke</li>
<li>Various: mpd &amp; ncmpcpp, dzen2, conky, emesene, vim, urxvt</li>
</ul>
<p>If there is anything else you would like to know, feel free to ask.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/desktop-march-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nepherte&#8217;s Unofficial User Repository</title>
		<link>http://www.nepherte.be/nephertes-unofficial-user-repository/</link>
		<comments>http://www.nepherte.be/nephertes-unofficial-user-repository/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 16:56:48 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[user repository]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1204</guid>
		<description><![CDATA[Arch Linux has a very decent system for building packages called ABS or Arch Build System. It basically comes down to one file called the pkgbuild where you put all the necessary information to construct a package. Everything else is taken care by makepkg, the tool that reads, compiles and builds the package accordingly. Because [...]]]></description>
			<content:encoded><![CDATA[<p>Arch Linux has a very decent system for building packages called <a href="http://wiki.archlinux.org/index.php/ABS" target="_self">ABS</a> or Arch Build System. It basically comes down to one file called the pkgbuild where you put all the necessary information to construct a package. Everything else is taken care by makepkg, the tool that reads, compiles and builds the package accordingly. Because of this easy building system, the barrier for users to create their own packages is easily overcome, as demonstrated by <a href="http://aur.archlinux.org" target="_self">AUR</a> or Arch User Repository with over 20000 packages.</p>
<p>Hower, AUR has its limitations. For one, its sole function is to host pkgbuilds. So when you want to install something from AUR, you still have to go through the compile &amp; build process. Depending on the software, this can be very cumbersome and time consuming. Instead you more likely want to install a package that has already been build, much like the regular Arch Linux repositories such as [core], [extra] and [community]. This is where the <a href="http://wiki.archlinux.org/index.php/Unofficial_user_repositories" target="_self">Unofficial User Repositories</a> come in play. A user can easily set<a href="http://wiki.archlinux.org/index.php/Pacman_Tips#Custom_local_repository"> up its own repository</a> with the repo-add script that comes with the package manager pacman. Generally, the user still needs to be very cautious with installing unofficial packages because of the potential dangers it may pose such as malicious software. It is recommended to verify the source of these packages or inspect the packages before installing.</p>
<p>Personally, there a few programs I frequently update myself, i.e. more frequently than then the official repositories, because of new functionality or bug fixes. Therefore I decided to share my efforts and make them available in my own unnoficial user repository. The repository can be accessed at <a href="http://www.nepherte.be/repo" target="_self">http://www.nepherte.be/repo</a>. To use my repository, add the following lines in /etc/pacman.conf:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>nepherte<span style="color: #7a0874; font-weight: bold;">&#93;</span>
Server = http:<span style="color: #000000; font-weight: bold;">//</span>www.nepherte.be<span style="color: #000000; font-weight: bold;">/</span>repo</pre></div></div>

<p>The packages are for 64bit systems only as I don&#8217;t have a 32bit version of Arch installed. All packages are built in a clean chroot environment to avoid library linking problems. If you are interested in the pkgbuilds, you can find them  on my <a href="https://svn.ulyssis.org/repos/nepherte/pkgbuilds" target="_self">svn repo</a>. To access my svn repo, you will have to authenticate yourself with username guest and password guest.</p>
<p>The packages I currently maintain are:</p>
<ul>
<li>x264</li>
<li>ffmpeg</li>
<li>mplayer</li>
<li>netembryo</li>
</ul>
<p>The first three are rebuilt on a monthly base at the very least and whenever there is audio involved, pulseaudio is supported. More packages will be added in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/nephertes-unofficial-user-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mercury Compiler And CSRFTester</title>
		<link>http://www.nepherte.be/mercury-compiler-and-csrftester/</link>
		<comments>http://www.nepherte.be/mercury-compiler-and-csrftester/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 20:23:36 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[aur]]></category>
		<category><![CDATA[csrftester]]></category>
		<category><![CDATA[mercury]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1178</guid>
		<description><![CDATA[Yesterday I added another 2 packages to the Arch User Repository (AUR) which brings up my total to 6. The 2 applications are the mercury compiler and csrftester. I was surprised to see there was no fitting packaged mercury compiler available in any of the Arch Linux repositories. Arch has many compilers available but apparantly [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I added another 2 packages to the Arch User Repository (AUR) which brings up my total to 6. The 2 applications are the <a href="http://aur.archlinux.org/packages.php?ID=32641">mercury compiler</a> and <a href="http://aur.archlinux.org/packages.php?ID=33046">csrftester</a>.</p>
<p>I was surprised to see there was no fitting packaged mercury compiler available in any of the Arch Linux repositories. Arch has many compilers available but apparantly not the mercury compiler. I admit that <a href="http://www.cs.mu.oz.au/research/mercury/">mercury</a> is perhaps not the most popular language, considering it is a) declarative and b) not backed by a major company like Microsoft, but I was suprised nonetheless. It may be worth mentioning that compiling mercury takes a little while (depending on your computer a few hours) so make sure you have the time if you&#8217;re building it.</p>
<p><a href="http://www.owasp.org/index.php/Category:OWASP_CSRFTester_Project">CSRFTester</a> is a whole different application. It is used for testing Cross Site Request Forgeries in web applications. It sits in between your browser and the internet and logs your http requests. Based on those logs, it can generate sample code to exploit possible csrf vurnerabilities. As the name suggests, it&#8217;s just for testing purposes and logging. Don&#8217;t expect any out of the box exploits.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/mercury-compiler-and-csrftester/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVN read access</title>
		<link>http://www.nepherte.be/svn-read-access/</link>
		<comments>http://www.nepherte.be/svn-read-access/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 20:52:09 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Nepherte.be]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1167</guid>
		<description><![CDATA[I&#8217;ve enabled guest read access to my svn repository. For the moment only the directory holding my arch linux&#8217; pkgbuilds is accessible by guests but more subrepositories may come available depending on the free time I have. You can access the svn repository by browsing to https://svn.ulyssis.org/repos/nepherte/pkgbuilds. You will have to authorize yourself with the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve enabled guest read access to my svn repository. For the moment only the directory holding my arch linux&#8217; pkgbuilds is accessible by guests but more subrepositories may come available depending on the free time I have.</p>
<p>You can access the svn repository by browsing to <a href="https://svn.ulyssis.org/repos/nepherte/pkgbuilds">https://svn.ulyssis.org/repos/nepherte/pkgbuilds</a>. You will have to authorize yourself with the credentials: user &#8220;guest&#8221; and password &#8220;guest&#8221;.</p>
<p>You can of course do a plain chechout. Simply run the following command in a console:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">svn</span> checkout https:<span style="color: #000000; font-weight: bold;">//</span>svn.ulyssis.org<span style="color: #000000; font-weight: bold;">/</span>repos<span style="color: #000000; font-weight: bold;">/</span>nepherte<span style="color: #000000; font-weight: bold;">/</span>pkgbuilds pkgbuilds <span style="color: #660033;">--username</span> <span style="color: #ff0000;">&quot;guest&quot;</span> <span style="color: #660033;">--password</span> <span style="color: #ff0000;">&quot;guest&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/svn-read-access/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nepherte.be moved</title>
		<link>http://www.nepherte.be/nepherte-be-moved/</link>
		<comments>http://www.nepherte.be/nepherte-be-moved/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 19:06:55 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Nepherte.be]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1154</guid>
		<description><![CDATA[I&#8217;ve finally moved Nepherte.be to a different host. I&#8217;ve complained about my previous host in the past and acted upon it, albeit a couple months later. The website, domain name included, now resides back on the servers of ulyssis, an it student organization affiliated with K.U. Leuven, my university. I&#8217;ve hosted sites there before and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally moved Nepherte.be to a different host. I&#8217;ve complained about my previous host <a href="http://www.nepherte.be/on-vacation/">in the past</a> and acted upon it, albeit a couple months later. The website, domain name included, now resides back on the servers of <a href="http://www.ulyssis.org">ulyssis</a>, an it student organization affiliated with K.U. Leuven, my university. I&#8217;ve hosted sites there before and the service has been impeccable so far. More interestingly, they also offer ssh access to their servers and a personal svn repository, 2 services I can really use.</p>
<p>It&#8217;s the first time I&#8217;ve actually moved an active, online site to another host and the whole process was surprisingly easy. It doesn&#8217;t take a computer science engineer to do it, though that is exactly what I am studying. I hope visitors didn&#8217;t encounter any problems and I don&#8217;t think they did. I will soon make a couple svn subrepositories available with some of my work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/nepherte-be-moved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dead or Alive?</title>
		<link>http://www.nepherte.be/dead-or-alive/</link>
		<comments>http://www.nepherte.be/dead-or-alive/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 21:37:04 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1128</guid>
		<description><![CDATA[My last post dated from a while back now, October 17 to be exactly. A lot of things have happend and they kept me busy ever since. So no, I&#8217;m not dead. I just happened to have a lot on my mind. Following are my 2 months in a nutshell. Let&#8217;s start with the things [...]]]></description>
			<content:encoded><![CDATA[<p>My last post dated from a while back now, October 17 to be exactly. A lot of things have happend and they kept me busy ever since. So no, I&#8217;m not dead. I just happened to have a lot on my mind. Following are my 2 months in a nutshell.</p>
<p>Let&#8217;s start with the things that didn&#8217;t change. Yes, I still use Arch Linux and it&#8217;s rock solid as ever. I said I would definetely switch from Gnome to XMonad but I reconsidered. Now I&#8217;m using both, depending on the specific task I have in mind. In my experience there simply is no perfect window manager/desktop environment. With Gnome I&#8217;m trying to accomplish a complete desktop setup, an environment a regular user could expect. With XMonad I&#8217;m trying to realize a lightweight, command-line centric desktop. And no, it&#8217;s not for showing off. It leads to funny situations however, having a desktop nobody can use except you.</p>
<p>In my quest for a lightweight XMonad desktop, I went ahead and built a hal-less system. Something that is bound to happen as X Server 1.8 will be without it anyways. This caused a chain of application rebuilds that seemingly relied on hal. I&#8217;m not fully updated on the matter and  it  makes me unqualified to make any bold statement but it makes me wonder as to why they all use hal when they can use udev instead. The again, extracting hal from the system doesn&#8217;t really improve anything, performance wise that is. It merely removes a layer of abstraction.  It&#8217;s more a purist kind of thing.</p>
<p>The best memory usage improvement came from uzbl, a browser that tries to adhere to the unix philosofy:</p>
<blockquote><p>&#8220;Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface&#8221;.</p></blockquote>
<p>I&#8217;m happy to see uzbl uses webkit instead of gecko, whether it is from a development point of view or simply for performance improvements I do not care. It also shows that Firefox uses an insane amount of memory, far beyond what should be necessary to view a plain website.</p>
<p>On a whole different subject, the last weekend of November I accompanied 3 friends on a trip to visit another friend in Barcelona. It was good seeing him again and we had a great time together even though he had an exam that very next monday. I guess studying medicine in a foreign language isn&#8217;t that hard after all :) We stayed in a not too bad and cheap hostel near the Ramblas, unfortunately some English football hooligans seemed to think alike and resided there as well. I&#8217;ll close this topic with a &#8220;cullinary tip&#8221;: try a tripple whopper. Or if you want to freak out the burger king personel, order  four of them at the same time.</p>
<p>Now let&#8217;s get back to the things that really kept me from posting on my site: university assignments. Among other things I had to write a paper on process scheduling in the linux kernel,version 2.6.9. It didn&#8217;t come as a surprise the code itself was not documented at all (usually considered bad practice), even the commonly used  &#8220;what lunatic came up with this shit&#8221;, Torvalds fucked this up&#8221; or &#8220;2,191 lines of complete and utter shit coming up&#8221; were nowhere to be found in sched.c and sched.h, the two files that take care of the scheduling. The assigment itself pretty much came down to reading up about scheduling and rephrasing what was already written on the subject, with a few personal opinions here and there.</p>
<p>To close with, I&#8217;m sorry to say that things aren&#8217;t really looking good for my posting frequency in the next 2 months. Tomorrow I&#8217;ll have to study non-stop for the upcoming exams in January. I also wanted to thank all of you readers for still following this blog. Apparantly I still do have readers after 2 months of no posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/dead-or-alive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My experience with GNOME 2.28</title>
		<link>http://www.nepherte.be/my-experience-with-gnome-2-28/</link>
		<comments>http://www.nepherte.be/my-experience-with-gnome-2-28/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 18:25:05 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[GNOME 2.28]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=1064</guid>
		<description><![CDATA[GNOME 2.28, released on early september 24, has recently hit the Arch Linux repositories and, as an old time GNOME user, I was eager to try it out. First, I&#8217;d like to congratulate JGC for all his excellent work. He did a wonderful job testing and packaging GNOME 2.28 in such a short notice, considering [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://library.gnome.org/misc/release-notes/2.28/">GNOME 2.28</a>, released on early september 24, has recently hit the<a href="http://www.archlinux.org"> Arch Linux</a> repositories and, as an old time GNOME user, I was eager to try it out. First, I&#8217;d like to congratulate <a href="http://bbs.archlinux.org/profile.php?id=581">JGC</a> for all his excellent work. He did a wonderful job testing and packaging GNOME 2.28 in such a short notice, considering he also maintains all the X packages. It truly was one of the smoothest GNOME upgrades so far (others may disagree if you look at some of the topics on the Arch Forum). Every release has its problems, often small ones, other times not so small. This time I only encountered 3. The benefits however far outweigh the few downsides.</p>
<p style="text-align: center;"><a href="http://www.nepherte.be/wp-content/uploads/gnome-2-28.png"><img class="aligncenter size-full wp-image-1085" title="Gnome 2.28" src="http://www.nepherte.be/wp-content/uploads/gnome-2-28.png" alt="Gnome 2.28" width="651" height="407" /></a></p>
<p>The first problem is related to <span>GDM</span> and is not that much of a problem but rather a matter of getting used to it. The GNOME login screen has had a major overhaul compared to 2.20, the version I previously had installed. It now blends in  more with the user&#8217;s desktop and includes a panel with  session, keyboard and language settings. <span>GDM</span> also doesn&#8217;t include a graphical configuration tool. No problem there, I&#8217;m &#8220;Mister Console&#8221; anyways.</p>
<p>The second problem is a little more inconvenient and related to GDM as well. <span>GDM</span> uses its own configuration for the keyboard layout and ignores the hal keyboard layout settings. It always default to the usa keyboard layout. Once you&#8217;ve selected your user, it will remember what layout you may have chosen from the gnome panel widget but in the mean while it will stick to the usa layout in the previous user selection prompt. Luckily there&#8217;s a patch available. A bug report can be found <a href="https://bugs.launchpad.net/bugs/395103">h</a><a href="https://bugs.launchpad.net/bugs/395103">ere</a> and a patch <a href="http://bazaar.launchpad.net/~ubuntu-desktop/gdm/ubuntu/annotate/head%3A/debian/patches/01_default_keyboard_layout_hal.patch">here</a>.</p>
<p>The third problem can be found in gnome-keyring. When logging out of GNOME, there is a 10 to 15 seconds delay before it finally takes effect. This problem was fixed in gnome-keyring 2.28.1.</p>
<p><a href="http://library.gnome.org/misc/release-notes/2.28/figures/rnusers.Bluetooth-Preferences.png.nl"><img class="alignnone" title="Bluetooth Preferences" src="http://library.gnome.org/misc/release-notes/2.28/figures/rnusers.Bluetooth-Preferences.png.nl" alt="" width="300" height="187" /></a><a href="http://library.gnome.org/misc/release-notes/2.28/figures/rnusers.cheese-2.28.0-wide.jpg.nl"><img class="alignnone" title="Cheese 2.28" src="http://library.gnome.org/misc/release-notes/2.28/figures/rnusers.cheese-2.28.0-wide.jpg.nl" alt="" width="300" height="187" /></a></p>
<p>But enough with the problems. What is new in GNOME 2.28? Most of the changes are made behind the scene. Many efforts were made to remove deprecated libraries from GNOME 2.28. For instance, there is no program anymore that depends on esound,  libgnomevfs, 		libgnomeprint, or libgnomeprintui. Further efforts were made to remove depenency of libglade, libbonoboui, libgnome and many more. The most visible changes are annotion support for evince, improved bluetooth integration and extra features in Cheese. Webkit has also finally made it in Epiphany after many false announcements since GNOME 2.24. All in all, it&#8217;s another fine version of GNOME</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/my-experience-with-gnome-2-28/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Howto: Step by Step Configuration of XMonad</title>
		<link>http://www.nepherte.be/howto-step-by-step-configuration-of-xmonad/</link>
		<comments>http://www.nepherte.be/howto-step-by-step-configuration-of-xmonad/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 11:14:30 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=821</guid>
		<description><![CDATA[After months of false announcements on my behalf, I finally finished up writing my XMonad configuration tutorial. Since not everyone uses XMonad, let alone has ever heard of it, Here&#8217;s a brief introduction: XMonad is a dynamically tiling X11 window manager, written and configured in Haskell. Tiling window managers arrange windows in nonoverlapping tiled patterns [...]]]></description>
			<content:encoded><![CDATA[<p>After months of false announcements on my behalf, I finally finished up writing my XMonad configuration tutorial. Since not everyone uses XMonad, let alone has ever heard of it, Here&#8217;s a brief introduction: <a href="http://www.xmonad.org">XMonad</a> is a dynamically tiling X11 window manager, written and configured in <a href="http://www.haskell.org/">Haskell</a>. Tiling window managers arrange windows in nonoverlapping tiled patterns and strive to make it possible for the user to productively manage windows without the use of the mouse.</p>
<p>While many tiling window managers come with a rather simple configuration file, Haskell, a <a href="http://en.wikipedia.org/wiki/Lambda_calculus">λ-calculus</a> based functional programming language, lifts up XMonad up to one of the most extendible and finest window manager around. And therein lies &#8220;the problem&#8221;. Haskell is not what you would call a programming language used by regular folks (if regular folks actually know a programming language) nor does its syntax resemble to Java or C.</p>
<p>This guide will lead you step by step through the process of configuring XMonad. I will take my own config file as example. A lot of this can also be found scattered over the xmonad homepage. I&#8217;v taken the liberty to bundle all the information.</p>
<h5>Table of Contents</h5>
<ul>
<li><a href="#working_directory">1. The working directory</a></li>
<li><a href="#basic_config">2. The basic configuration</a></li>
<li><a href="#default_terminal">3. The default terminal</a></li>
<li><a href="#define_workspaces">4. Workspaces</a></li>
<li><a href="#attach_applications">5. Attaching applications to workspaces</a></li>
<li><a href="#define_floating_windows">6. Floating windows</a></li>
<li><a href="#tiling_layouts">7. Tiling layouts</a></li>
<li><a href="#key_combinations">8. Key combinations</a></li>
<li><a href="#status_bar">9. A status bar</a></li>
</ul>
<h5><a name="working_directory">The working directory</a></h5>
<p>The main working directory, where the configuration is done, where logs are stored and where the compiled binary is placed, is located at /home/&lt;username&gt;/.xmonad. The 2 most important files for this guide are xmonad.hs and xmonad.error. Configuration is done in the first one and errors are spit out in the last one. So if there is problem with compiling the config file, look at xmonad.error first. All the code snippets I&#8217;ll be posting have to be put in xmonad.hs. Mind you, I will only mention the code related to the section it is under. You should be capable of putting it all together or simply use my entire config file.</p>
<h5><a name="basic_config">The basic configuration</a></h5>
<p>A working configuration could be as easy as</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Run XMonad</span>
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> defaultConfig</pre></div></div>

<p>It basically runs xmonad with the default configuration file (<em>defaultConfig</em>), found <a title="XMonad Template Config" href="http://haskell.org/haskellwiki/Xmonad/Config_archive/Template_xmonad.hs_%280.8%29">here</a>. Note that you don&#8217;t have to actually download the template config file I linked to. Everything is already included in the XMonad installation. However, you can use the file as your xmonad.hs and you&#8217;ll end up with the same result.</p>
<p>Xmonad provides a few basic Desktop Environment (DE) integration configurations you could use: Gnome (<em>gnomeConfig</em>), KDE (<em>kdeConfig</em>) and XFCE (<em>xfceConfig</em>). Each DE config file will gracefully handle the panels inherent to the DE, shortcut keys, etc. In short you&#8217;ll be running your DE as always but the window manager is replaced with XMonad. Since I favor Gnome, we&#8217;ll use this instead of the default config. Note that you are not required to use a DE at all, even if you are using a DE specific config.</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Run XMonad</span>
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig</pre></div></div>

<p>From now on, we will override and extend the gnome configuration step by step until we have the setup we want.</p>
<h5><a name="default_terminal">The default terminal</a></h5>
<p>You&#8217;ll probably use the terminal a lot so it is always nice to use the terminal program you prefer. In this example, I use gnome-terminal with a customized profile for XMonad.</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define terminal</span>
myTerminal <span style="color: #339933; font-weight: bold;">=</span> <span style="background-color: #3cb371;">&quot;gnome-terminal --window-with-profile=XMonad&quot;</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Run XMonad</span>
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig <span style="color: green;">&#123;</span>
	  terminal  <span style="color: #339933; font-weight: bold;">=</span> myTerminal
	<span style="color: green;">&#125;</span></pre></div></div>

<p>You can consider the variable <em>terminal</em> as a sort of setting/property which we now have overrided with <em>myTerminal</em>. Feel free to replace <em>myTerminal</em> with the one you prefer.</p>
<h5><a name="define_workspaces">Workspaces</a></h5>
<p>Just as is the case with a desktop environment, XMonad can make use of workspaces and I encourage you to use them extensively. This is how you define workspaces:</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define amount and names of workspaces</span>
myWorkspaces <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span><span style="background-color: #3cb371;">&quot;1:main&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;2:web&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;3:chat&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;4:media&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;5:graph&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;6:browse&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;7:dev&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;8:mail&quot;</span><span style="color: green;">&#93;</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Run XMonad</span>
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig <span style="color: green;">&#123;</span>
	  workspaces  <span style="color: #339933; font-weight: bold;">=</span> myWorkspaces
	<span style="color: green;">&#125;</span></pre></div></div>

<h5><a name="attach_applications">Attaching applications to workspaces</a></h5>
<p>Workspaces are a great way to separate types of programs from one another. As the names of my workspaces suggest, I prefer for example that development, web and multimedia applications don&#8217;t get mixed up with eachother. As opposed to a regular floating window manager, you don&#8217;t have to put the applications on the workspaces yourself. You can tell xmonad to do it for you instead. Here&#8217;s an example for 2 workspaces:</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
<span style="color: #06c; font-weight: bold;">import</span> <span style="color: #06c; font-weight: bold;">qualified</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>StackSet <span style="color: #06c; font-weight: bold;">as</span> W
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define amount and names of workspaces</span>
myWorkspaces <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span><span style="background-color: #3cb371;">&quot;1:main&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;2:web&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;3:chat&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;4:media&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;5:graph&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;6:browse&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;7:dev&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;8:mail&quot;</span><span style="color: green;">&#93;</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define the workspace an application has to go to</span>
myManageHook <span style="color: #339933; font-weight: bold;">=</span> composeAll <span style="color: #339933; font-weight: bold;">.</span> <span style="font-weight: bold;">concat</span> <span style="color: #339933; font-weight: bold;">$</span>
            <span style="color: green;">&#91;</span> <span style="color: #5d478b; font-style: italic;">-- The applications that go to web</span>
              <span style="color: green;">&#91;</span> className <span style="color: #339933; font-weight: bold;">=?</span> b <span style="color: #5d478b; font-style: italic;">--&amp;gt; doF (W.shift &quot;2:web&quot;) | b &amp;lt; - myClassWebShifts]</span>
              <span style="color: #5d478b; font-style: italic;">-- The applications that go to chat</span>
            <span style="color: #339933; font-weight: bold;">,</span> <span style="color: green;">&#91;</span> className <span style="color: #339933; font-weight: bold;">=?</span> c <span style="color: #5d478b; font-style: italic;">--&amp;gt; doF (W.shift &quot;3:chat&quot;) | c &amp;lt; - myClassChatShifts]</span>
            <span style="color: green;">&#93;</span>
		<span style="color: #06c; font-weight: bold;">where</span>
	          myClassWebShifts    <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span><span style="background-color: #3cb371;">&quot;Firefox&quot;</span><span style="color: #339933; font-weight: bold;">,</span> <span style="background-color: #3cb371;">&quot;Filezilla&quot;</span><span style="color: green;">&#93;</span>
		  myClassChatShifts   <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span><span style="background-color: #3cb371;">&quot;emesene&quot;</span><span style="color: #339933; font-weight: bold;">,</span> <span style="background-color: #3cb371;">&quot;Xchat&quot;</span><span style="color: green;">&#93;</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Run XMonad</span>
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig <span style="color: green;">&#123;</span>
	    workspaces  <span style="color: #339933; font-weight: bold;">=</span> myWorkspaces
	  <span style="color: #339933; font-weight: bold;">,</span> manageHook  <span style="color: #339933; font-weight: bold;">=</span> myManageHook
	<span style="color: green;">&#125;</span></pre></div></div>

<p>This will place firefox and filezilla on the &#8220;2:web&#8221; workspace while emesene and xchat are put on the &#8220;3:chat&#8221; workspace. There are a few ways you can catch an application: class names (<em>className</em>) and title names (<em>title</em>). To figure out what the application&#8217;s class or title name is, you can run xprop in a console and click on the app you want to grab the info from.</p>
<p>Due to some encoding issue &lt;- is displayed as &lt; &#8211; near the variables <em>b</em> and <em>c</em>. Make sure to remove the space between them.</p>
<h5><a name="define_floating_windows">Floating windows</a></h5>
<p>By default, XMonad will tile all windows. Occasionally you don&#8217;t want to tile a certain application because it just gets too messy. The classic examples are MPlayer and GIMP. If you let xmonad tile mplayer, the aspect ratio&#8217;s of your movies are ruined and GIMP just has too many tool aid boxes which would normally get tiled just like all other windows. You will need to add them to <em>myManageHook</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define the workspace an application has to go to</span>
myManageHook <span style="color: #339933; font-weight: bold;">=</span> composeAll <span style="color: #339933; font-weight: bold;">.</span> <span style="font-weight: bold;">concat</span> <span style="color: #339933; font-weight: bold;">$</span>
            <span style="color: green;">&#91;</span>  <span style="color: #5d478b; font-style: italic;">-- The applications that float</span>
              <span style="color: green;">&#91;</span> className <span style="color: #339933; font-weight: bold;">=?</span> i <span style="color: #5d478b; font-style: italic;">--&amp;gt; doFloat | i &amp;lt; - myClassFloats]</span>
            <span style="color: green;">&#93;</span>
		<span style="color: #06c; font-weight: bold;">where</span>
		  myClassFloats	      <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span><span style="background-color: #3cb371;">&quot;Gnome-mplayer&quot;</span><span style="color: #339933; font-weight: bold;">,</span><span style="background-color: #3cb371;">&quot;MPlayer&quot;</span><span style="color: green;">&#93;</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Run XMonad</span>
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig <span style="color: green;">&#123;</span>
	    manageHook  <span style="color: #339933; font-weight: bold;">=</span> myManageHook
	<span style="color: green;">&#125;</span></pre></div></div>

<p>In this example, mplayer and gnome-mplayer will not be tiled but floated instead.</p>
<h5><a name="tiling_layouts">Tiling layouts</a></h5>
<p>There are multiple tiling layouts available, or more specifically, the way your windows will be arranged. The 4 most commonly used layouts are Tall, Full, SimpleFloat and Mirror Tall. But first some further explanation about tiling layouts.</p>
<p>Most layouts have a master pane and one or more slave panes. When you start your first application window, it will open up fully maximized. When opening other application windows, the latest launched application will be placed in the master pane. Every other window will be reorganized, resized and placed in the slave pane(s) according to the used tiling algorithm. That&#8217;s the principle of tiling. Now, you can surely think of a few ways how these master and slave panes can be organized and that&#8217;s where the layouts kick in. A possible organization of these panes is called a layout.</p>
<ul>
<li>Tall is a layout with 2 columns of which the size ratio can be defined by the user. You can set the maximum number of windows in the master pane, which occupies the left part of the screen. In each pane, the windows are organized vertically.</li>
<li> Full is the layout where each application window will occupy the whole screen. The most current one will be shown, all the others will be hidden behind the current one.</li>
<li>SimpleFloat is a layout where all windows are put in float mode. Each window also gets a small title bar.</li>
<li>Mirror Tall is similar to Tall but it uses rows instead of columns and windows are organized horizontally in each pane.</li>
</ul>
<p>This is how you set the 4 layouts I&#8217;ve mentioned:</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">--import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Layout<span style="color: #339933; font-weight: bold;">.</span>SimpleFloat
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define default layouts used on most workspaces</span>
defaultLayouts <span style="color: #339933; font-weight: bold;">=</span> tiled <span style="color: #339933; font-weight: bold;">|||</span> Mirror tiled <span style="color: #339933; font-weight: bold;">|||</span> simpleFloat <span style="color: #339933; font-weight: bold;">|||</span> Full
  <span style="color: #06c; font-weight: bold;">where</span>
       <span style="color: #5d478b; font-style: italic;">-- default tiling algorithm partitions the screen into two panes</span>
          tiled   <span style="color: #339933; font-weight: bold;">=</span> Tall nmaster delta ratio
&nbsp;
       <span style="color: #5d478b; font-style: italic;">-- The default number of windows in the master pane</span>
          nmaster <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">1</span>
&nbsp;
       <span style="color: #5d478b; font-style: italic;">-- Default proportion of screen occupied by master pane</span>
          ratio   <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">1</span><span style="color: #339933; font-weight: bold;">/</span><span style="color: red;">2</span>
&nbsp;
       <span style="color: #5d478b; font-style: italic;">-- Percent of screen to increment by when resizing panes</span>
          delta   <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">3</span><span style="color: #339933; font-weight: bold;">/</span><span style="color: red;">100</span>
&nbsp;
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig <span style="color: green;">&#123;</span>
		layoutHook  <span style="color: #339933; font-weight: bold;">=</span> defaultLayouts
	<span style="color: green;">&#125;</span></pre></div></div>

<p>These layouts apply to all your workspaces. You could also set one or more layouts for one specific workspace with <em>onWorkspace</em>. The next example will only set the Full layout for the &#8220;4:media&#8221; workspace. With the <em>noBorders</em> option, we remove the borders around a window (the ones you get when a window is active).</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">--import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Layout<span style="color: #339933; font-weight: bold;">.</span>SimpleFloat
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Layout<span style="color: #339933; font-weight: bold;">.</span>NoBorders <span style="color: green;">&#40;</span>noBorders<span style="color: green;">&#41;</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Layout<span style="color: #339933; font-weight: bold;">.</span>PerWorkspace <span style="color: green;">&#40;</span>onWorkspace<span style="color: green;">&#41;</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define default layouts used on most workspaces</span>
defaultLayouts <span style="color: #339933; font-weight: bold;">=</span> tiled <span style="color: #339933; font-weight: bold;">|||</span> Mirror tiled <span style="color: #339933; font-weight: bold;">|||</span> simpleFloat <span style="color: #339933; font-weight: bold;">|||</span> Full
  <span style="color: #06c; font-weight: bold;">where</span>
       <span style="color: #5d478b; font-style: italic;">-- default tiling algorithm partitions the screen into two panes</span>
          tiled   <span style="color: #339933; font-weight: bold;">=</span> Tall nmaster delta ratio
&nbsp;
       <span style="color: #5d478b; font-style: italic;">-- The default number of windows in the master pane</span>
          nmaster <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">1</span>
&nbsp;
       <span style="color: #5d478b; font-style: italic;">-- Default proportion of screen occupied by master pane</span>
          ratio   <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">1</span><span style="color: #339933; font-weight: bold;">/</span><span style="color: red;">2</span>
&nbsp;
       <span style="color: #5d478b; font-style: italic;">-- Percent of screen to increment by when resizing panes</span>
          delta   <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">3</span><span style="color: #339933; font-weight: bold;">/</span><span style="color: red;">100</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define layout for specific workspaces</span>
mediaLayout <span style="color: #339933; font-weight: bold;">=</span> noBorders <span style="color: #339933; font-weight: bold;">$</span> Full
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Put all layouts together</span>
myLayouts <span style="color: #339933; font-weight: bold;">=</span> onWorkspace <span style="background-color: #3cb371;">&quot;media&quot;</span> mediaLayout <span style="color: #339933; font-weight: bold;">$</span> defaultLayouts
&nbsp;
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig <span style="color: green;">&#123;</span>
		layoutHook  <span style="color: #339933; font-weight: bold;">=</span> myLayouts
	<span style="color: green;">&#125;</span></pre></div></div>

<h5><a name="key_combinations">Key combinations</a></h5>
<p>XMonad can be controlled by the keyboard without the use of a mouse whatsoever. Not only is it very useful to know the most important key combinations in XMonad, but it is also a good idea to create new key combinations to facilitate your work in XMonad.That way you don&#8217;t have to open up a terminal every time you want to do something.</p>
<p>In XMonad you can add new key combinations, redefine and remove existing ones. Let us first define the new keys we want to add. The format in which you define new keys is</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>key<span style="color: #339933; font-weight: bold;">_</span>modifier<span style="color: #339933; font-weight: bold;">,</span> key<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> action<span style="color: green;">&#41;</span></pre></div></div>

<p>If you don&#8217;t want to use a key modifier you can use 0. If you want a combination of key modifiers, you can combine them with .|. You can find an exhaustive list of keys <a href="http://haskell.org/haskellwiki/Xmonad/Key_codes">here</a>. If you are unshure about the value of a key, you can use the xev command that prints all the information of a pressed key in the terminal. Prefix that value witk xK_ or simply use the key code, which can be useful for multimedia keys such as play/volume up &amp; down/mute/media player/&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Util<span style="color: #339933; font-weight: bold;">.</span>Run
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Actions<span style="color: #339933; font-weight: bold;">.</span>CycleWS
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Define keys to add</span>
keysToAdd x     <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span> <span style="color: #5d478b; font-style: italic;">-- Gnome run dialog</span>
                       <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>modMask x<span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>F2<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> spawn <span style="background-color: #3cb371;">&quot;/home/bart/.run/run.py --interface=full&quot;</span><span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Gnome close window</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>modMask x<span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>F4<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> kill<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Shift to previous workspace</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>modMask x <span style="color: #339933; font-weight: bold;">.|.</span> controlMask<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>Left<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> prevWS<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Shift to next workspace</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>modMask x <span style="color: #339933; font-weight: bold;">.|.</span> controlMask<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>Right<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> nextWS<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Shift window to previous workspace</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>modMask x <span style="color: #339933; font-weight: bold;">.|.</span> shiftMask<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>Left<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> shiftToPrev<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Shift window to next workspace</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>modMask x <span style="color: #339933; font-weight: bold;">.|.</span> shiftMask<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>Right<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> shiftToNext<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Mute volume</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span><span style="color: red;">0</span><span style="color: #339933; font-weight: bold;">,</span>0x1008ff12<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> spawn <span style="background-color: #3cb371;">&quot;amixer -Dpulse set Master toggle&quot;</span><span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Launch mpd</span>
                    <span style="color: #339933; font-weight: bold;">,</span> <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span><span style="color: red;">0</span><span style="color: #339933; font-weight: bold;">,</span>0x1008ff32<span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">,</span> spawn <span style="background-color: #3cb371;">&quot;mpd&quot;</span><span style="color: green;">&#41;</span>
                  <span style="color: green;">&#93;</span></pre></div></div>

<p>Next you need to define the keys you want to remove. You only have to specify the key combination and not the action it performs. An example</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;">keysToRemove x  <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#91;</span> <span style="color: #5d478b; font-style: italic;">-- Old run dialog binding</span>
                       <span style="color: green;">&#40;</span>modMask x <span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>p<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Old close window binding</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span>modMask x<span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>c<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Unused gmrun binding</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span>modMask x <span style="color: #339933; font-weight: bold;">.|.</span> shiftMask<span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>p<span style="color: green;">&#41;</span>
                    <span style="color: #5d478b; font-style: italic;">-- Unused gnome session logout dialog</span>
                    <span style="color: #339933; font-weight: bold;">,</span>  <span style="color: green;">&#40;</span>modMask x <span style="color: #339933; font-weight: bold;">.|.</span> shiftMask<span style="color: #339933; font-weight: bold;">,</span> xK<span style="color: #339933; font-weight: bold;">_</span>q<span style="color: green;">&#41;</span>
                  <span style="color: green;">&#93;</span></pre></div></div>

<p>Last thing remaining is putting it all together.</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #5d478b; font-style: italic;">-- Import statements</span>
<span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
<span style="color: #06c; font-weight: bold;">import</span> <span style="color: #06c; font-weight: bold;">qualified</span> Data<span style="color: #339933; font-weight: bold;">.</span>Map <span style="color: #06c; font-weight: bold;">as</span> M
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Merge keys to add and existing keys</span>
newKeys x       <span style="color: #339933; font-weight: bold;">=</span> M<span style="color: #339933; font-weight: bold;">.</span>union <span style="color: green;">&#40;</span>keys gnomeConfig x<span style="color: green;">&#41;</span> <span style="color: green;">&#40;</span>M<span style="color: #339933; font-weight: bold;">.</span>fromList <span style="color: green;">&#40;</span>keysToAdd x<span style="color: green;">&#41;</span><span style="color: green;">&#41;</span>
&nbsp;
<span style="color: #5d478b; font-style: italic;">-- Delete the keys to remove from existing keys</span>
myKeys x        <span style="color: #339933; font-weight: bold;">=</span> <span style="font-weight: bold;">foldr</span> M<span style="color: #339933; font-weight: bold;">.</span>delete <span style="color: green;">&#40;</span>newKeys x<span style="color: green;">&#41;</span> <span style="color: green;">&#40;</span>keysToRemove x<span style="color: green;">&#41;</span>
&nbsp;
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
	xmonad <span style="color: #339933; font-weight: bold;">$</span> gnomeConfig <span style="color: green;">&#123;</span>
		keys <span style="color: #339933; font-weight: bold;">=</span> myKeys
	<span style="color: green;">&#125;</span></pre></div></div>

<h5><a name="status_bar">Status bar</a></h5>
<p>A status bar always comes in handy: to know what workspace you are on, in what workspace there are still windows, to display conky stats, time &amp; date, the current song you are listening too, &#8230; XMonad nicely integrates with xmobar and dzen2. In this tutorial, I&#8217;ll be using 2 dzen2 status bars. Make sure you have dzen2 and conky installed. First we specify the commands that launches the dzen2 status bars.</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;">myStatusBar <span style="color: #339933; font-weight: bold;">=</span> <span style="background-color: #3cb371;">&quot;dzen2 -x '0' -y '0' -h '24' -w '960' -ta 'l' -fg '#FFFFFF' -bg '#000000' -fn '-*-bitstream vera sans-medium-r-normal-*-11-*-*-*-*-*-*-*'&quot;</span>
conkyStatsBar <span style="color: #339933; font-weight: bold;">=</span> <span style="background-color: #3cb371;">&quot;conky -c .conkyrc_console | dzen2 -x '960' -y '0' -h '24' -w '890' -ta 'l' -fg '#3EB5FF' -bg '#000000' -fn '-*-bitstream vera sans-medium-r-normal-*-11-*-*-*-*-*-*-*'&quot;</span></pre></div></div>

<p>You can adapt the commands to suit your needs. Set the horizontal, vertical positions and alignment of the bars with the -x, -y, -ta switches. Use the -c switch in conky to specify the conky file to run. For more information see the dzen2 manual pages.</p>
<p>Now you can format the status bars with the dynamicLogHook XMonad library.</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #06c; font-weight: bold;">import</span> XMonad
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Hooks<span style="color: #339933; font-weight: bold;">.</span>DynamicLog
<span style="color: #06c; font-weight: bold;">import</span> System<span style="color: #339933; font-weight: bold;">.</span><span style="color: #cccc00; font-weight: bold;">IO</span>
&nbsp;
myLogHook <span style="color: #339933; font-weight: bold;">::</span> Handle <span style="color: #339933; font-weight: bold;">-</span>&amp;gt; X <span style="color: green;">&#40;</span><span style="color: green;">&#41;</span>
myLogHook h <span style="color: #339933; font-weight: bold;">=</span> dynamicLogWithPP <span style="color: #339933; font-weight: bold;">$</span> defaultPP
    <span style="color: green;">&#123;</span>
        ppCurrent           <span style="color: #339933; font-weight: bold;">=</span>   dzenColor <span style="background-color: #3cb371;">&quot;#3EB5FF&quot;</span> <span style="background-color: #3cb371;">&quot;black&quot;</span> <span style="color: #339933; font-weight: bold;">.</span> pad
      <span style="color: #339933; font-weight: bold;">,</span> ppVisible           <span style="color: #339933; font-weight: bold;">=</span>   dzenColor <span style="background-color: #3cb371;">&quot;white&quot;</span> <span style="background-color: #3cb371;">&quot;black&quot;</span> <span style="color: #339933; font-weight: bold;">.</span> pad
      <span style="color: #339933; font-weight: bold;">,</span> ppHidden            <span style="color: #339933; font-weight: bold;">=</span>   dzenColor <span style="background-color: #3cb371;">&quot;white&quot;</span> <span style="background-color: #3cb371;">&quot;black&quot;</span> <span style="color: #339933; font-weight: bold;">.</span> pad
      <span style="color: #339933; font-weight: bold;">,</span> ppHiddenNoWindows   <span style="color: #339933; font-weight: bold;">=</span>   dzenColor <span style="background-color: #3cb371;">&quot;#444444&quot;</span> <span style="background-color: #3cb371;">&quot;black&quot;</span> <span style="color: #339933; font-weight: bold;">.</span> pad
      <span style="color: #339933; font-weight: bold;">,</span> ppUrgent            <span style="color: #339933; font-weight: bold;">=</span>   dzenColor <span style="background-color: #3cb371;">&quot;red&quot;</span> <span style="background-color: #3cb371;">&quot;black&quot;</span> <span style="color: #339933; font-weight: bold;">.</span> pad
      <span style="color: #339933; font-weight: bold;">,</span> ppWsSep             <span style="color: #339933; font-weight: bold;">=</span>   <span style="background-color: #3cb371;">&quot; &quot;</span>
      <span style="color: #339933; font-weight: bold;">,</span> ppSep               <span style="color: #339933; font-weight: bold;">=</span>   <span style="background-color: #3cb371;">&quot;  |  &quot;</span>
      <span style="color: #339933; font-weight: bold;">,</span> ppTitle             <span style="color: #339933; font-weight: bold;">=</span>   <span style="color: green;">&#40;</span><span style="background-color: #3cb371;">&quot; &quot;</span> <span style="color: #339933; font-weight: bold;">++</span><span style="color: green;">&#41;</span> <span style="color: #339933; font-weight: bold;">.</span> dzenColor <span style="background-color: #3cb371;">&quot;white&quot;</span> <span style="background-color: #3cb371;">&quot;black&quot;</span> <span style="color: #339933; font-weight: bold;">.</span> dzenEscape
      <span style="color: #339933; font-weight: bold;">,</span> ppOutput            <span style="color: #339933; font-weight: bold;">=</span>   hPutStrLn h
    <span style="color: green;">&#125;</span></pre></div></div>

<p>In a last step, you launch each dzen2 instance</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Hooks<span style="color: #339933; font-weight: bold;">.</span>UrgencyHook
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Hooks<span style="color: #339933; font-weight: bold;">.</span>FadeInactive
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Util<span style="color: #339933; font-weight: bold;">.</span>Run
<span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Config<span style="color: #339933; font-weight: bold;">.</span>Gnome
&nbsp;
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
    workspaceBar &amp;lt; <span style="color: #339933; font-weight: bold;">-</span> spawnPipe myStatusBar
    conkyStats &amp;lt;<span style="color: #339933; font-weight: bold;">-</span> spawnPipe conkyStatsBar
    xmonad <span style="color: #339933; font-weight: bold;">$</span> withUrgencyHook NoUrgencyHook <span style="color: green;">&#123;</span>
        logHook             <span style="color: #339933; font-weight: bold;">=</span> myLogHook workspaceBar &amp;gt;&amp;gt; fadeInactiveLogHook 0xdddddddd
<span style="color: green;">&#125;</span></pre></div></div>

<p>Due to some encoding issue, again there is a space between &lt;- near workspaceBar which shouldn&#8217;t be there. The tiling algorithm however will overlap these status bars so you will have to tell XMonad not to do so.</p>

<div class="wp_syntax"><div class="code"><pre class="haskell" style="font-family:monospace;"><span style="color: #06c; font-weight: bold;">import</span> XMonad<span style="color: #339933; font-weight: bold;">.</span>Hooks<span style="color: #339933; font-weight: bold;">.</span>ManageDocks
&nbsp;
main <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">do</span>
    xmonad <span style="color: green;">&#123;</span>
      manageHook          <span style="color: #339933; font-weight: bold;">=</span> manageDocks &amp;lt; <span style="color: #339933; font-weight: bold;">+</span>&amp;gt; myManageHook
<span style="color: green;">&#125;</span></pre></div></div>

<p>Recall that we have specified myManageHook earlier in this tutorial.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/howto-step-by-step-configuration-of-xmonad/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vdpau Info</title>
		<link>http://www.nepherte.be/vdpau-info/</link>
		<comments>http://www.nepherte.be/vdpau-info/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 15:05:10 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[aur]]></category>
		<category><![CDATA[vdpau]]></category>
		<category><![CDATA[vdpauinfo]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=980</guid>
		<description><![CDATA[Today I&#8217;ve added vdpauinfo to the Arch User Repository (AUR), which makes it my fourth uploaded application to AUR. Vdpauinfo is a useful tool to determine the vdpau capabilities of your graphics card.It is an updated version of Wladimir J. Van der Laan&#8217;s vdpinfo tool. Here&#8217;s the output of my Nvidia Geforce 8400M GS: display: [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;ve added <a href="http://aur.archlinux.org/packages.php?ID=30496">vdpauinfo</a> to the<a href="http://aur.archlinux.org/index.php"> Arch User Repository</a> (AUR), which makes it my fourth uploaded application to AUR. Vdpauinfo is a useful tool to determine the vdpau capabilities of your graphics card.It is an updated version of Wladimir J. Van der Laan&#8217;s vdpinfo tool.</p>
<p>Here&#8217;s the output of my Nvidia Geforce 8400M GS:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">display: :<span style="color: #000000;">0.0</span>   <span style="color: #c20cb9; font-weight: bold;">screen</span>: <span style="color: #000000;">0</span>
API version: <span style="color: #000000;">0</span>
Information string: NVIDIA VDPAU Driver Shared Library  <span style="color: #000000;">190.36</span>  Wed Sep <span style="color: #000000;">23</span> 06:<span style="color: #000000;">55</span>:<span style="color: #000000;">52</span> PDT <span style="color: #000000;">2009</span>
&nbsp;
Video surface:
&nbsp;
name   width height types
<span style="color: #660033;">-------------------------------------------</span>
<span style="color: #000000;">420</span>     <span style="color: #000000;">4096</span>  <span style="color: #000000;">4096</span>  NV12 YV12
<span style="color: #000000;">422</span>     <span style="color: #000000;">4096</span>  <span style="color: #000000;">4096</span>  UYVY YUYV 
&nbsp;
Decoder capabilities:
&nbsp;
name               level macbs width height
<span style="color: #660033;">-------------------------------------------</span>
MPEG1                 <span style="color: #000000;">0</span>  <span style="color: #000000;">8192</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
MPEG2_SIMPLE          <span style="color: #000000;">3</span>  <span style="color: #000000;">8192</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
MPEG2_MAIN            <span style="color: #000000;">3</span>  <span style="color: #000000;">8192</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
H264_MAIN            <span style="color: #000000;">41</span>  <span style="color: #000000;">8192</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
H264_HIGH            <span style="color: #000000;">41</span>  <span style="color: #000000;">8192</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
VC1_SIMPLE            <span style="color: #000000;">1</span>  <span style="color: #000000;">8190</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
VC1_MAIN              <span style="color: #000000;">2</span>  <span style="color: #000000;">8190</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
VC1_ADVANCED          <span style="color: #000000;">4</span>  <span style="color: #000000;">8190</span>  <span style="color: #000000;">2048</span>  <span style="color: #000000;">2048</span>
&nbsp;
Output surface:
&nbsp;
name              width height nat types
<span style="color: #660033;">----------------------------------------------------</span>
B8G8R8A8          <span style="color: #000000;">8192</span>  <span style="color: #000000;">8192</span>    y  Y8U8V8A8 V8U8Y8A8
R10G10B10A2       <span style="color: #000000;">8192</span>  <span style="color: #000000;">8192</span>    y  Y8U8V8A8 V8U8Y8A8 
&nbsp;
Bitmap surface:
&nbsp;
name              width height
<span style="color: #660033;">------------------------------</span>
B8G8R8A8          <span style="color: #000000;">8192</span>  <span style="color: #000000;">8192</span>
R8G8B8A8          <span style="color: #000000;">8192</span>  <span style="color: #000000;">8192</span>
R10G10B10A2       <span style="color: #000000;">8192</span>  <span style="color: #000000;">8192</span>
B10G10R10A2       <span style="color: #000000;">8192</span>  <span style="color: #000000;">8192</span>
A8                <span style="color: #000000;">8192</span>  <span style="color: #000000;">8192</span>
&nbsp;
Video mixer:
&nbsp;
feature name                    sup
<span style="color: #660033;">------------------------------------</span>
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     y
INVERSE_TELECINE                 y
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -
&nbsp;
parameter name                  sup      min      max
<span style="color: #660033;">-----------------------------------------------------</span>
VIDEO_SURFACE_WIDTH              y         <span style="color: #000000;">1</span>     <span style="color: #000000;">4096</span>
VIDEO_SURFACE_HEIGHT             y         <span style="color: #000000;">1</span>     <span style="color: #000000;">4096</span>
CHROMA_TYPE                      y
LAYERS                           y         <span style="color: #000000;">0</span>        <span style="color: #000000;">4</span>
&nbsp;
attribute name                  sup      min      max
<span style="color: #660033;">-----------------------------------------------------</span>
BACKGROUND_COLOR                 y
CSC_MATRIX                       y
NOISE_REDUCTION_LEVEL            y      <span style="color: #000000;">0.00</span>     <span style="color: #000000;">1.00</span>
SHARPNESS_LEVEL                  y     -<span style="color: #000000;">1.00</span>     <span style="color: #000000;">1.00</span>
LUMA_KEY_MIN_LUMA                y
LUMA_KEY_MAX_LUMA                y</pre></div></div>

<p>In case you&#8217;re wondering, vdpau is an api that allows video programs to offload portions of the video decoding process and video post-processing to the GPU video-hardware, resulting in less cpu load.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/vdpau-info/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
