<?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 &#187; Linux</title>
	<atom:link href="http://www.nepherte.be/category/linux/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>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>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>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>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>
		<item>
		<title>Tested Skype on my laptop</title>
		<link>http://www.nepherte.be/skype-on-my-laptop/</link>
		<comments>http://www.nepherte.be/skype-on-my-laptop/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 19:26:37 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[PulseAudio]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[Sony]]></category>
		<category><![CDATA[SZ]]></category>
		<category><![CDATA[Vaio]]></category>
		<category><![CDATA[Webcam]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=962</guid>
		<description><![CDATA[After various requests and personal interest in the matter, I finally tryed to get skype working on my Sony Vaio SZ6 with Arch Linux 64bit and pulseaudio installed. Skype and linux never mingled all that well. Supporting linux was never high on their todo list and they surely acted upon it. Skype has never gotten [...]]]></description>
			<content:encoded><![CDATA[<p>After various requests and personal interest in the matter, I finally tryed to get skype working on my Sony Vaio SZ6 with Arch Linux 64bit and pulseaudio installed. Skype and linux never mingled all that well. Supporting linux was never high on their todo list and they surely acted upon it. Skype has never gotten past the beta stage and they released a new version only once in a while. To give you an idea, Skype is at version 2.1.0.47 for linux while it is already at 4.1 for windows. There were many things that held me back in the past to try out Skype but this latest release did put some thing in motion though.</p>
<p>Skype is strictly 32bit and my Arch Linux installation is 64bit. While this should only be a matter of installing the necessary 32bit libraries, I&#8217;m not very keen on doing so because I just don&#8217;t like mixing 32bit and 64bit on a single installation. Why would I otherwise want 64bit, right? This once, for testing purposes, I figured I could put my personal considerations aside.</p>
<p>Another conflict is pulseaudio, which, until this latest release, was not supported by Skype. I&#8217;m glad they did as pulseaudio will be used a lot more now that gnome uses it by default. Oddly enough, they dropped oss support. This doesn&#8217;t affect me but certainly a lot of other people.</p>
<p>Video (webcam) support is also a usual area of conflict. Handling webcams is not done in a unified way on linux and hence causes a lot of conflicts. Luckily for me, I didn&#8217;t have to do a thing other than installing the driver for my webcam.</p>
<p>So after installing the necessary 32bit libraries (including pulseaudio) and installing the driver for my webcam, Skype worked without any problem for the first time. Now it is simply a matter of crowding my skype contact list.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/skype-on-my-laptop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clearing up some misconceptions on Arch&#8217;s kernel26-lts</title>
		<link>http://www.nepherte.be/clearing-up-some-misconceptions-on-archs-kernel26-lts/</link>
		<comments>http://www.nepherte.be/clearing-up-some-misconceptions-on-archs-kernel26-lts/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 13:36:08 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Long Term Support]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=888</guid>
		<description><![CDATA[I&#8217;ve read numerous misconceptions on Arch Linux&#8217;  new kernel package, especially on the UbuntuForums, which I&#8217;m about to clear up rightaway. Everyone seems to think they&#8217;re dumping the latest kernel for the &#8220;stable ubuntu kernel&#8221;, also implying the current kernel is unstable. They couldn&#8217;t have been more wrong. To begin with, they&#8217;re not replacing the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve read numerous misconceptions on Arch Linux&#8217;  new kernel package, especially on the UbuntuForums, which I&#8217;m about to clear up rightaway. Everyone <em>seems</em> to think they&#8217;re dumping the latest kernel for the <em>&#8220;stable ubuntu kernel&#8221;</em>, also implying the current kernel is unstable. They couldn&#8217;t have been more wrong.</p>
<p>To begin with, they&#8217;re not replacing the current kernel (2.6.31.5). They&#8217;re only adding an extra kernel to the repositories.  Why? Because they want to give users a second choice for the kernel package that suits better in certain situations (servers in particular) and because it can server as a fallback kernel when something is wrong with the primary one.</p>
<p>Second, it&#8217;s not <em>&#8220;ubuntu&#8217;s kernel&#8221;</em> they&#8217;re adding, it&#8217;s the officially supported long time support (lts) kernel from kernel.org, which is currently at version 2.6.27.31. Perhaps they think it&#8217;s ubuntu&#8217;s because of the term lts, something canonical uses itself, but obviously the term already existed long time before canonical introduced it for their os. This lts kernel that Arch Linux is about to add, doesn&#8217;t use any of ubuntu&#8217;s patches either as you can see in the pkgbuild for kernel26-lts:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Maintainer: Andreas Radke </span>
&nbsp;
<span style="color: #007800;">pkgname</span>=kernel26-lts
<span style="color: #007800;">_kernelname</span>=<span style="color: #800000;">${pkgname#kernel26}</span>
<span style="color: #007800;">_basekernel</span>=2.6.27
<span style="color: #007800;">pkgver</span>=<span style="color: #800000;">${_basekernel}</span>.31
<span style="color: #007800;">pkgrel</span>=<span style="color: #000000;">2</span>
<span style="color: #007800;">pkgdesc</span>=<span style="color: #ff0000;">&quot;The Linux Kernel and modules - stable longtime supported kernel package suitable for servers&quot;</span>
<span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">arch</span></span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'i686'</span> <span style="color: #ff0000;">'x86_64'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">license</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'GPL2'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">url</span>=<span style="color: #ff0000;">&quot;http://www.kernel.org&quot;</span>
<span style="color: #007800;">backup</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span>etc<span style="color: #000000; font-weight: bold;">/</span>mkinitcpio.d<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${pkgname}</span>.preset<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">depends</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'coreutils'</span> <span style="color: #ff0000;">'kernel26-firmware&amp;gt;=2.6.27'</span> <span style="color: #ff0000;">'module-init-tools'</span> <span style="color: #ff0000;">'mkinitcpio&amp;gt;=0.5.20'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">install</span></span>=<span style="color: #800000;">${pkgname}</span>.install
<span style="color: #007800;"><span style="color: #7a0874; font-weight: bold;">source</span></span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>ftp.kernel.org<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>kernel<span style="color: #000000; font-weight: bold;">/</span>v2.6<span style="color: #000000; font-weight: bold;">/</span>linux-<span style="color: #007800;">$_basekernel</span>.tar.bz2
        <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>ftp.kernel.org<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>kernel<span style="color: #000000; font-weight: bold;">/</span>v2.6<span style="color: #000000; font-weight: bold;">/</span>patch-<span style="color: #007800;">$pkgver</span>.bz2
	<span style="color: #666666; font-style: italic;"># the main kernel config files</span>
        config config.x86_64
        <span style="color: #666666; font-style: italic;"># standard config files for mkinitcpio ramdisk</span>
        <span style="color: #800000;">${pkgname}</span>.preset
	<span style="color: #666666; font-style: italic;"># ext4 patches from Fedora</span>
	<span style="color: #666666; font-style: italic;">#http://cvs.fedoraproject.org/viewvc/rpms/kernel/F-10/?pathrev=kernel-2_6_27_29-170_2_79_fc10</span>
	linux-2.6.27-ext4-rename-ext4dev-to-ext4.patch
	linux-2.6.27.9-ext4-cap-check-delay.patch<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">md5sums</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'b3e78977aa79d3754cb7f8143d7ddabd'</span>
         <span style="color: #ff0000;">'adfb289efee5dce61e532678317c0b4c'</span>
         <span style="color: #ff0000;">'04ed4c213100a20056dc8180a8bc7627'</span>
         <span style="color: #ff0000;">'2d90dc4f3541c7fdbc2802b7c6be7bdc'</span>
         <span style="color: #ff0000;">'a13338958d1b241f8dfd4c6014cad3d4'</span>
         <span style="color: #ff0000;">'659953c9c437d311bf93eff505ef8e67'</span>
         <span style="color: #ff0000;">'8cd12e9727d9221aacfa52ad9b9a42f9'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
build<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
...
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>The only 2 patches they use are from the fedora project to backport the ext4 filesystem, which was only introduced after kernel 2.6.27.x.</p>
<p>And last but not least, the current kernel (which remains the main kernel for Arch Linux by the way) is considered stable, as indicated on the official kernel.org site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/clearing-up-some-misconceptions-on-archs-kernel26-lts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Power Management on Sony Vaio SZ 61</title>
		<link>http://www.nepherte.be/power-management-on-sony-vaio-sz-61/</link>
		<comments>http://www.nepherte.be/power-management-on-sony-vaio-sz-61/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 18:06:43 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[2.26]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Sony]]></category>
		<category><![CDATA[Vaio]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=871</guid>
		<description><![CDATA[After upgrading to the recently released gnome power manager 2.6.26.4, suspending and hibernating my Sony Vaio SZ 61 after a period of inactivity finally works. Note that suspension and hibernation already worked as is. Linux has always lacked decent power management in comparison with Windows, but now this option finally works, it can save a [...]]]></description>
			<content:encoded><![CDATA[<p>After upgrading to the recently released gnome power manager 2.6.26.4, suspending and hibernating my Sony Vaio SZ 61 after a period of inactivity finally works. Note that suspension and hibernation already worked as is. Linux has always lacked decent power management in comparison with Windows, but now this option finally works, it can save a lot of battery time while working on battery. The update also fixed the broken turning off the screen display.</p>
<p>I can easily squeeze a respectable 3 hours out of my battery with 100% brightness. This can be increased to at least 4 hours when working on a lower, but still workable brightness. I hope developers will continue to work on power management so that I can get to work 5 hours without plugging in the cord as in Windows. I believe work points are automation of powering down/off usb devices, hard disks, sound card and wireless network card, things that can be done manually in the console if you have the expertise.</p>
<p>Looking forward to the next stable gnome release 2.28 with hopefully some new power management features.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/power-management-on-sony-vaio-sz-61/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Add PulseAudio to GNOME 2.26 in Arch Linux</title>
		<link>http://www.nepherte.be/howto-add-pulseaudio-to-gnome-2-26-in-arch-linux/</link>
		<comments>http://www.nepherte.be/howto-add-pulseaudio-to-gnome-2-26-in-arch-linux/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 12:06:46 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[2.26]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[PulseAudio]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=788</guid>
		<description><![CDATA[As a follow up on my article about PulseAudio in Gnome 2.26, I&#8217;ll briefly explain how you can install PulseAudio integrated with Gnome in Arch Linux. As mentioned before, the Gnome maintainer in Arch Linux has patched Gnome to the way it was before version 2.26, at least the audio part. It is however very [...]]]></description>
			<content:encoded><![CDATA[<p>As a follow up on my article about PulseAudio in Gnome 2.26, I&#8217;ll briefly explain how you can install PulseAudio integrated with Gnome in Arch Linux. As mentioned before, the Gnome maintainer in Arch Linux has patched Gnome to the way it was before version 2.26, at least the audio part. It is however very easy to undo this with ABS. I suggest you read up on ABS if you&#8217;re not familiar with it.</p>
<h5>Install &amp; configure ABS</h5>
<p>First you will need to install the The Arch Build System (ABS) and the basic development tools:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pacman <span style="color: #660033;">-Sy</span> abs base-devel</pre></div></div>

<p>Make sure the core, extra and community repository are enabled in /etc/abs.conf:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">REPOS</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span>core extra community <span style="color: #000000; font-weight: bold;">!</span>testing<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Now grab all the PKGBUILDS with:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">abs</pre></div></div>

<h5>Install &amp; configure PulseAudio</h5>
<p>Install pulseaudio with:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pacman <span style="color: #660033;">-S</span> pulseaudio</pre></div></div>

<p>There&#8217;s a lot to say about configuring pulseaudio, things I&#8217;m not going put here. More info on configuring pulseaudio can be found at <a href="http://wiki.archlinux.org/index.php/Pulseaudio">The Arch Wiki</a> and <a href="http://www.pulseaudio.org/wiki/PerfectSetup">The Official PulseAudio site</a>. The <em>must do</em> things are installing alsa-plugins to maintain alsa compatibility, configuring .asoundrc, adding yourself to the pulse-rt and pulse-access groups and configuring gstreamer to use pulse. I also <em>don&#8217;t</em> recommend using PulseAudio as a system-wide daemon. Just use the per-user daemon.</p>
<h5>Rebuild related Gnome packages</h5>
<p>There are a few gnome packages that need to be rebuilt against pulseaudio in this order:</p>
<ol>
<li>gnome-settings-daemon</li>
<li>gnome-applets</li>
<li>gnome-media</li>
</ol>
<p>Grab the build files from abs one at the time. They are all located under /var/abs/abs/&lt;packagename&gt;. You can build and install the package with:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">makepkg <span style="color: #660033;">-si</span></pre></div></div>

<p><em>gnome-settings-daemon &#8211; </em>Remove the patch line (2nd line right after build) in the PKGBUILD.<br />
<em>gnome-applets &#8211; </em>Just needs a rebuild, no need to change anything.<br />
<em>gnome-media &#8211; </em>Add &#8211;enable-pulse to the ./configure line in the PKGBUILD.</p>
<p>That&#8217;s pretty much it. Next time you login using gnome, it will use pulseaudio. By default it adds a rather ugly volume slider to the panel (you can prevent it from starting by removing it under system &gt; preferences &gt; startup applications. You can add a better one by right clicking on the panel and adding the volume applet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/howto-add-pulseaudio-to-gnome-2-26-in-arch-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Make ufw allow you to browse your network</title>
		<link>http://www.nepherte.be/make-ufw-allow-you-to-browse-your-network/</link>
		<comments>http://www.nepherte.be/make-ufw-allow-you-to-browse-your-network/#comments</comments>
		<pubDate>Mon, 18 May 2009 20:37:57 +0000</pubDate>
		<dc:creator>Nepherte</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[ufw]]></category>

		<guid isPermaLink="false">http://www.nepherte.be/?p=769</guid>
		<description><![CDATA[A lot of people find they can&#8217;t browse their network. Instead they manually have to manually enter the IP address of the host they want to visit, that is if they ever figure out the IP address of the host they want to access. A truly incovenient process. The reason is because you probably activated [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of people find they can&#8217;t browse their network. Instead they manually have to manually enter the IP address of the host they want to visit, that is if they ever figure out the IP address of the host they want to access. A truly incovenient process.</p>
<p>The reason is because you probably activated the firewall (iptables). It&#8217;s even more likely you enabled the firewall with a front-end tool like ufw or firestarter, which doesn&#8217;t create a set of iptables rules to process netbios traffic (the network traffic). Now how do you allow such traffic? First of all, if you&#8217;re using firestarter, replace it with ufw as firestarter is an old application that is not developed any more. Now that you are usinf ufw, you&#8217;ll need to edit a ufw configuration file. Add nf_conntrack_netbios_ns to the list IPT_MODULES at the end of the file /etc/default/ufw. Restart ufw and have fun browsing your network.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nepherte.be/make-ufw-allow-you-to-browse-your-network/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
