<?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>Lindoze.net &#187; Software</title>
	<atom:link href="http://blog.lindoze.net/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lindoze.net</link>
	<description>Lindoze.net Weblog</description>
	<lastBuildDate>Sat, 02 Aug 2008 12:15:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Convert Your VYM Mindmap to PGF/TikZ</title>
		<link>http://blog.lindoze.net/software/convert-vym-mindmap-pgftikz/</link>
		<comments>http://blog.lindoze.net/software/convert-vym-mindmap-pgftikz/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 14:46:15 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[PGF/TikZ]]></category>

		<guid isPermaLink="false">http://blog.lindoze.net/?p=60</guid>
		<description><![CDATA[PGF/TikZ is able to produce really eye-candy mind maps (see example). However it might be impractical to create the TikZ structure for larger amount of nodes.
I&#8217;ve written a small C program that creates a PGF/TikZ LaTeX file out of a VYM (View Your Mind) XML export. So far this tool has only very basic functionality. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/08/vym2tikz_testmm.png" rel="lightbox[60]"><img class="ngg-singlepic ngg-left" title="Vym2TikZ Example Mind Map - PDFLaTeX Result" src="http://blog.lindoze.net/wp-content/uploads/2008/08/vym2tikz_testmm-80x80.png" alt="" width="80" height="80" /></a><a title="PGF/TikZ" href="http://sourceforge.net/projects/pgf/">PGF/TikZ</a> is able to produce really eye-candy mind maps (see <a title="PGF/TikZ mind mapping example" href="http://www.fauskes.net/pgftikzexamples/computer-science-mindmap/" target="_blank">example</a>). However it might be impractical to create the TikZ structure for larger amount of nodes.</p>
<p>I&#8217;ve written a small C program that creates a PGF/TikZ LaTeX file out of a <a title="VYM View Your Mind - Mind Mapping Software" href="http://www.insilmaril.de/vym/">VYM</a> (View Your Mind) XML export. So far this tool has only very basic functionality. Neither it handles UTF-8 explicitly, nor XLinks. Also it doesn&#8217;t add any alignment code to the LaTeX file yet, so you have to do some manual editing.</p>
<h3>Download</h3>
<ul>
<li><a href="http://blog.lindoze.net/wp-content/uploads/2008/08/vym2tikz-source.tbz2">Vym2TikZ source tbz2</a> (2.4 KiB, 2008/08/01, cc-by-nc-sa, requires libxml2)</li>
<li><a href="http://blog.lindoze.net/wp-content/uploads/2008/08/vym2tikz.c">Vym2TikZ c source code only</a> (5.0 KiB, 2008/08/01, cc-by-nc-sa, requires libxml2)</li>
<li><a href="http://blog.lindoze.net/wp-content/uploads/2008/08/vym2tikz.tbz2">Vym2TikZ binary</a> (3.1 KiB, Linux, 2008/08/01, IA32, dynamically linked against libxml2, compiled under Ubuntu 8.04)</li>
</ul>
<p><span id="more-60"></span></p>
<h3>Example Usage</h3>
<ol>
<li>Create a mind map with VYM and save it as *.vym. (example: <a href="http://blog.lindoze.net/wp-content/uploads/2008/08/test.vym">test.vym</a>)</li>
<li>Select <em>Map &gt; Export &gt; XML&#8230;</em> and export your mind map. (example: <a href="http://blog.lindoze.net/wp-content/uploads/2008/08/test.xml">test.xml</a>)</li>
<li>Call <em>Vym2TikZ</em>: <em>./vym2tikz test.xml test.tex</em> (result: <a href="http://blog.lindoze.net/wp-content/uploads/2008/08/test.tex">test.tex</a>)</li>
<li>If you want to run PDFLaTeX directly (and don&#8217;t include the tex file) you have to add an additional header to <em>test.tex</em>. Also you might have to add alignment commands like <em>[clockwise from=0]</em>. (edited file: <a href="http://blog.lindoze.net/wp-content/uploads/2008/08/test_edit.tex">test_edit.tex</a>)</li>
<li>Finally call PDFLaTeX and view the PDF file. (see image on top)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.lindoze.net/software/convert-vym-mindmap-pgftikz/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Simplify usage of DocumentWeb for Firefox</title>
		<link>http://blog.lindoze.net/software/simplify-usage-of-documentweb-for-firefox/</link>
		<comments>http://blog.lindoze.net/software/simplify-usage-of-documentweb-for-firefox/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 18:33:59 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Studies]]></category>
		<category><![CDATA[TUM]]></category>

		<guid isPermaLink="false">http://blog.lindoze.net/?p=46</guid>
		<description><![CDATA[The Technical University of Munich (TUM) and the Ludwig-Maximilian-University Munich (LMU) offers free access to lots of journals. If you want to use this service from outside the university network, you have to use the DocumentWeb. This services is a kind of a proxy provided by the LRZ (computing center).
All you have to do is [...]]]></description>
			<content:encoded><![CDATA[<p>The Technical University of Munich (TUM) and the Ludwig-Maximilian-University Munich (LMU) offers free access to lots of journals. If you want to use this service from outside the university network, you have to use the <a href="http://www.lrz-muenchen.de/services/netzdienste/proxy/documentweb/">DocumentWeb</a>. This services is a kind of a proxy provided by the LRZ (computing center).</p>
<p>All you have to do is to <em>Drag And Drop</em> this button: <a title="Drag and Drop me to you Firefox Bookmarks Toolbar" href="javascript:{url=location.href;location.href=&quot;https://docweb.lrz-muenchen.de/cgi-bin/doc/nph-webdoc.cgi/000000A/&quot;+url.replace(/http:\/\//,&quot;http/&quot;);}"><img class="inline" title="DocWeb" src="http://blog.lindoze.net/wp-content/uploads/2008/07/docweb.png" alt="DocWeb" width="76" height="30" /></a> to you Firefox Bookmarks Toolbar. Lets say you visit the page <a href="http://prola.aps.org/">http://prola.aps.org/</a> and want to view certain publications. Just click on you new bookmark and you&#8217;ll (hopefully) will be redirected to the corresponding DocWeb-proxy page. That&#8217;s all. You will need to enter your MyTum account info once per session (user: <em>YourName</em>@mytum.de, password: <em>YourPassword</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lindoze.net/software/simplify-usage-of-documentweb-for-firefox/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Libiap: interactive plotting/fitting using Gnuplot</title>
		<link>http://blog.lindoze.net/software/gnuplot-libiap-fit-lorentzsum/</link>
		<comments>http://blog.lindoze.net/software/gnuplot-libiap-fit-lorentzsum/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 19:47:38 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Gnuplot]]></category>
		<category><![CDATA[Physics]]></category>

		<guid isPermaLink="false">http://blog.lindoze.net/?p=32</guid>
		<description><![CDATA[Libiap is a set of Gnuplot (&#62;=4.2) scripts to provide a simple library to handle mouse input in Gnuplot. So far interactive fitting of a sum of several Lorentzian curves to some data has been implemented. But it can be easily adopted to fit e.g. Gaussians, exponential decay, etc.
Interactive fitting is fitting a set of [...]]]></description>
			<content:encoded><![CDATA[<p><em>Libiap</em> is a set of Gnuplot (&gt;=4.2) scripts to provide a simple library to handle mouse input in Gnuplot. So far interactive fitting of a sum of several Lorentzian curves to some data has been implemented. But it can be easily adopted to fit e.g. Gaussians, exponential decay, etc.</p>
<p>Interactive fitting is fitting a set of data by supplying the initial guess values just by clicking on the plot. You also can use <em>libiap</em> for completely different tasks in your own scripts. Just Have a look at the demonstration program of <em>libiap</em>&#8230;</p>
<p><span id="more-32"></span></p>
<h3>Demonstration</h3>
<p>Here is a step-by-step introduction of the demonstration program.</p>
<h4>Step 0</h4>
<p>Download <a href="http://blog.lindoze.net/wp-content/uploads/2008/06/libiap-20080628.zip">libiap-20080628.zip</a> (2008/06/28, cc-by-nc-sa licence) and extract the *.zip file. Run Gnuplot and type &#8220;load demo1.gnuplot&#8221;.</p>
<h4>Step 1</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen1.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen1" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen1-80x80.png" alt="Create some random peaks for demo" width="80" height="80" /></a>This screen only displays a superposition of four randomly generated Lorentz peaks. Press &#8220;y&#8221; on your keyboard if you want to generate a new set of data. Press &#8220;n&#8221; or just &#8220;return&#8221; to proceed. Hint: The default answer is always printed in capital letters. &#8220;return&#8221; accepts this default.</p>
<h4>Step 2</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen2.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen2" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen2-80x80.png" alt="Demo data with added noise" width="80" height="80" /></a>To make the fitting procedure more interesting a small amount of noise is added to the actual function. You can see the generated data in &#8220;demo1.dat&#8221;. Press any key on the keyboard to continue.</p>
<h4>Step 3</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen3.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen3" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen3-80x80.png" alt="Select minimum x value" width="80" height="80" /></a>Select the minimal x value you want to consider for the fit. You could use this feature to suppress peaks you don&#8217;t want to be fitted.</p>
<h4>Step 4</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen4.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen4" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen4-80x80.png" alt="Select maximum x value" width="80" height="80" /></a>Now select the maximum x value.</p>
<h4>Step 5</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen5.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen5" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen5-80x80.png" alt="Select baseline/offset" width="80" height="80" /></a>Click on the baseline of your spectrum (&#8220;offset&#8221;).</p>
<h4>Step 6</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen6.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen6" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen6-80x80.png" alt="Select first maximum" width="80" height="80" /></a>Select the first peak by clicking on its maximum. Actually you&#8217;d have to click slightly below, but the fit usually converges anyway.</p>
<h4>Step 7</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen7.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen7" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen7-80x80.png" alt="Select FWHM by mouse click" width="80" height="80" /></a>Select the full width at half maximum of your peak. The green line is right in the middle of the baseline and the maximum. So click somewhere on the intersection of the green line and your peak &#8211; or where you think the peak should intersect the green line.</p>
<h4>Step 8</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen8.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen8" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen8-80x80.png" alt="Do you want to add more peaks? Yes!" width="80" height="80" /></a>After selecting the FWHM you&#8217;ll be asked if you want to add more peaks. You can do so by pressing the &#8220;y&#8221; or &#8220;return&#8221; key. This will repeat step 7 until you have selected all peaks (four in the demonstration).</p>
<h4>Step 9</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen9.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen9" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen9-80x80.png" alt="Finally a guess for each peak has been made" width="80" height="80" /></a>If you have selected all peaks, press &#8220;n&#8221; in order to start the actual fitting procedure with the guesses you just made.</p>
<h4>Step 10</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen10.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen10" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen10-80x80.png" alt="See the initial values BEFORE the fitting procedure" width="80" height="80" /></a>This screen shows your initial guesses again. Should look quite good already.</p>
<h4>Step 11</h4>
<p><a href="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen11.png" rel="lightbox[32]"><img class="ngg-singlepic ngg-left ngg-clear" title="libiap-demo1-screen11" src="http://blog.lindoze.net/wp-content/uploads/2008/06/demo1-screen11-80x80.png" alt="...and the final result!" width="80" height="80" /></a></p>
<p>So now here&#8217;s the final result &#8211; without typing a single number! The fit results are written to &#8220;demo1_fit.gnuplot&#8221; as a Gnuplot script. You can easily load this file into your post-processing scripts and use all results there without having to fit the data again.</p>
<p>The screenshots have been made with Gnuplot from CVS and the wxWidgets terminal &#8220;wxt&#8221; (which looks much better than the usual x11 terminal).</p>
<h3>Pitfalls</h3>
<ul>
<li>The demonstration &#8220;demo1.gnuplot&#8221; needs write access to the current directory, because it stores the sample data in a file called &#8220;demo1.dat&#8221;. It also generates a file called &#8220;demo1_fit.gnuplot&#8221; with the fit results.</li>
<li>Don&#8217;t call &#8220;gnuplot demo1.gnuplot&#8221; directly. This wouldn&#8217;t give you an interactive gnuplot shell and close right after the last plot has been displayed.</li>
</ul>
<h3>Known bugs</h3>
<ul>
<li>No bugs know yet. If you find any please let me know (preferably already with a solution <img src='http://blog.lindoze.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</li>
</ul>
<h3>Downloads</h3>
<ul>
<li> <a href="http://blog.lindoze.net/wp-content/uploads/2008/06/libiap-20080628.zip">libiap-20080628.zip</a> (2008/06/28, cc-by-nc-sa licence)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lindoze.net/software/gnuplot-libiap-fit-lorentzsum/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create rotating brushes with Gimp/Script-Fu</title>
		<link>http://blog.lindoze.net/software/gimp-rotating-brush/</link>
		<comments>http://blog.lindoze.net/software/gimp-rotating-brush/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 20:23:25 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Gimp]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://blog.lindoze.net/?p=26</guid>
		<description><![CDATA[The purpose of this script was to aid creating &#8220;rotating&#8221; brushes with Gimp. I often use them to create &#8220;stamp&#8221; brushes (e.g. grunge brushes) without every stamp looking the same. But the script of course can also be to create real rotating brushes like clocks, arrows, logos, whatever. And, yes, you also can create rotating [...]]]></description>
			<content:encoded><![CDATA[<p>The purpose of this script was to aid creating &#8220;rotating&#8221; brushes with <a title="The Gimp" href="http://www.gimp.org/" target="_blank">Gimp</a>. I often use them to create &#8220;stamp&#8221; brushes (e.g. grunge brushes) without every stamp looking the same. But the script of course can also be to create real rotating brushes like clocks, arrows, logos, whatever. And, yes, you also can create rotating GIFs very easily this way. Just save as a <em>*.gif</em>.</p>
<p><span id="more-26"></span><br />
If you have never used Gimp I recommend first looking at the tutorial at <a title="Gimp Image Pipes" href="http://adrian.gimp.org/gimppipe/" target="_blank">http://adrian.gimp.org/gimppipe/</a>.</p>
<h3>Usage</h3>
<p><a rel="lightbox[]" href="http://blog.lindoze.net/wp-content/gallery/gimp-rotating-brush/step1_createlayer.png" rel="lightbox[26]"><img class="ngg-singlepic ngg-left" style="float: left;" src="http://blog.lindoze.net/wp-content/gallery/gimp-rotating-brush/thumbs/thumbs_step1_createlayer.png" alt="Multi-Rotate/Start script" width="80" height="80" /></a>First create a new image with one layer (grayscale or transparent RGB, depends) and draw/copy your brush. Keep in mind that the center of your image will later be the center of the rotation. Eventually you have to move the brush layer to archieve this.</p>
<p><a rel="lightbox[]" href="http://blog.lindoze.net/wp-content/gallery/gimp-rotating-brush/step2_result.png" rel="lightbox[26]"><img class="ngg-singlepic ngg-right" style="float: right;" src="http://blog.lindoze.net/wp-content/gallery/gimp-rotating-brush/thumbs/thumbs_step2_result.png" alt="Multi-Rotate/Final result" width="80" height="80" /></a>Next start the script which can be found in <em>Script-Fu/Layers/Multi rotation</em> if it is properly installed (see below). Now select what the maximum rotation angle should be. I suggest 360 degree for rotating things and 180 or 90 degree if your brush has higher symmetry. Just play around with the settings.</p>
<p>After this you might want to resize the image because the canvas has been enlarged in order to fit the rotated layers.</p>
<p>Finally save your brush as a Gimp animated brush <em>*.gih</em> in you Gimp brush folder.</p>
<p>When I created this script I didn&#8217;t know that was already another one created by Rob Antonishen which more or less does the same. It can be found at <a title="Another script-fu script for rotating gimp brushes" href="http://ffaat.pointclark.net/blog/archives/145-Gimp-Script-to-Help-Make-Rotating-Brushes.html" target="_blank">http://ffaat.pointclark.net/</a>.</p>
<h3>Installation</h3>
<p>Just download the script below and copy it to your Gimp script folder. On Linux/Unix systems this usually is:</p>
<pre>~/.gimp-2.4/scripts</pre>
<p>and on Windows systems it should be somewhere in</p>
<pre>C:\Documents and Settings\<em>Your User</em>\gimp-2.4\scripts</pre>
<p>Can&#8217;t remember the exact location. It has been a while since I have used Gimp on Windows&#8230;</p>
<h3>Download</h3>
<ul>
<li><a href="http://blog.lindoze.net/wp-content/uploads/2008/03/multirotate.scm">multirotate.scm</a> (22 B, Gimp 2.4, GPL)<a href="http://blog.lindoze.net/wp-content/uploads/2008/03/multirotate.scm"><br />
</a></li>
</ul>
<h3>Known Bugs</h3>
<p>After the script created the new layers you need to select/click a different layer in order to update the Gimp image window.</p>
<p>By the way, this is my first Scheme script. So I&#8217;m glad that it works (for me) at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lindoze.net/software/gimp-rotating-brush/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux: Change volume using multimedia keys</title>
		<link>http://blog.lindoze.net/software/linux-volume-multimedia-keys/</link>
		<comments>http://blog.lindoze.net/software/linux-volume-multimedia-keys/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 20:21:46 +0000</pubDate>
		<dc:creator>flo</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://blog.lindoze.net/?p=30</guid>
		<description><![CDATA[I was looking for a way to change the volume using the multimedia keys on my keyboard. There are quite a few programms that should do the job, but all of them where running as a daemon (background process). In my opinion this is unneccesary because I need to raise/lower/mute the volume only once in [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Example how it should look like" rel="lightbox[]" href="http://blog.lindoze.net/wp-content/gallery/linux-volume-multimedia-keys/volume_0.png" rel="lightbox[30]"><img class="ngg-singlepic ngg-left" style="float: left;" src="http://blog.lindoze.net/wp-content/gallery/linux-volume-multimedia-keys/thumbs/thumbs_volume_0.png" alt="Screenshot" /></a>I was looking for a way to change the volume using the multimedia keys on my keyboard. There are quite a few programms that should do the job, but all of them where running as a daemon (background process). In my opinion this is unneccesary because I need to raise/lower/mute the volume only once in a while. Therefore I wrote a quick&#8217;n'dirty bash script using ALSA&#8217;s <em>amixer</em> and the <em>osd_cat</em> utility.</p>
<p><span id="more-30"></span></p>
<h3>Features</h3>
<ul>
<li>Raise/Lower Volume</li>
<li>Mute/Unmute</li>
<li>Displays the current volume on-screen using <em>osd_cat</em></li>
</ul>
<h3>Usage</h3>
<p>Open the script file with your favourite editor edit following to lines to fit your needs:</p>
<pre>CONTROL="Front" CHANNEL="Front Left"</pre>
<p>CONTROL is used to set the volume and CHANNEL to get the current volume. Run <em>amixer</em> to see which is the right control and <em>amixer get YOUR-CONTROL</em> to select one channel listed there.</p>
<p><a title="Compiz Settings - General - Actions" rel="lightbox[]" href="http://blog.lindoze.net/wp-content/gallery/linux-volume-multimedia-keys/compiz-general-actions.png" rel="lightbox[30]"><img class="ngg-left ngg-singlepic" style="float: left;" src="http://blog.lindoze.net/wp-content/gallery/linux-volume-multimedia-keys/thumbs/thumbs_compiz-general-actions.png" alt="Compiz Settings - General - Actions" /></a>As I am using the <em>compiz-fusion</em> window manager along with the <em>XFCE</em> desktop I decided to use the built-in functions of compiz to bind the keys.</p>
<p style="text-align: center;"><a title="Compiz Settings - General - Actions" rel="lightbox[]" href="http://blog.lindoze.net/wp-content/gallery/linux-volume-multimedia-keys/compiz-general-actions.png"><br />
</a></p>
<p><a title="Compiz Settings - General - Commands" rel="lightbox[]" href="http://blog.lindoze.net/wp-content/gallery/linux-volume-multimedia-keys/compiz-general-commands.png" rel="lightbox[30]"><img class="ngg-right ngg-singlepic" style="float: right;" src="http://blog.lindoze.net/wp-content/gallery/linux-volume-multimedia-keys/thumbs/thumbs_compiz-general-commands.png" alt="Compiz Settings - General - Actions" /></a>In the <em>CompizConfig Settings Manager</em> select the <em>General Options</em> sub-dialog. Inside the <em>Commands</em> tab find three empty slots and bind them to:</p>
<pre><em>PATH-TO-THE-SCRIPT</em>/avolctrl.sh down <em>PATH-TO-THE-SCRIPT</em>/avolctrl.sh up <em>PATH-TO-THE-SCRIPT</em>/avolctrl.sh toggle</pre>
<p>Finally bind those command slots to your multimedia keys. For me these were:</p>
<pre>XF86AudioLowerVolume XF86AudioRaiseVolume XF86AudioMute</pre>
<h3>Prerequisites</h3>
<ul>
<li><em>amixer</em>: In <a title="Ubuntu" href="http://www.ubuntu.com" target="_blank">Ubuntu</a> you need to install the <strong>alsa-utils</strong> package.</li>
<li><em>osd_cat</em>: In <a title="Ubuntu" href="http://www.ubuntu.com" target="_blank">Ubuntu</a> you need to install the <strong>xosd-bin</strong> package. Source code can be downloaded from <a title="xosd" href="http://www.ignavus.net/software.html" target="_blank">http://www.ignavus.net/software.html</a>.</li>
</ul>
<p>For a different Linux distribution you need to find the appropriate packages your self or compile the binaries from the source code.</p>
<h3>Download</h3>
<ul>
<li><a href="http://blog.lindoze.net/wp-content/uploads/2008/03/avolctrl.sh">avolctrl.sh</a> (2 KiB, GPL)</li>
</ul>
<h3>Troubleshooting</h3>
<p>In case the keys don&#8217;t work, check if your keyboard sends events to the xserver using <em>xev</em>. Additionally you might have to define the keys properly using <em>xmodmap</em> if it does not work out-of-the-box. Following codes are working for me (Microsoft Comfort Curve Keyboard)</p>
<pre>keycode 160 = XF86AudioMute keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume</pre>
<h3>Known Bugs</h3>
<ul>
<li>No bugs known yet. As I said, very quick&#8217;n'dirty hack but should work anyway.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lindoze.net/software/linux-volume-multimedia-keys/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
