<?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>An Idea, Life &#38; Tech Blog &#187; Software</title>
	<atom:link href="http://mwallace.info/category/tech/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://mwallace.info</link>
	<description>Latest Location: Augusta, GA</description>
	<lastBuildDate>Tue, 07 Sep 2010 00:54:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Randomly writing CSV data in PHP</title>
		<link>http://mwallace.info/randomly-writing-csv-data-in-php/</link>
		<comments>http://mwallace.info/randomly-writing-csv-data-in-php/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 19:10:35 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[codeRelease]]></category>

		<guid isPermaLink="false">http://mwallace.info/?p=767</guid>
		<description><![CDATA[Today's project: add or replace values in a comma-separated-value file. The application is for tag-counting by week, so the first column is effectively an ID column &#38; the rest (for me) are integers. But here's the code with some sample data grabbed from a random Google search..
]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s project: add or replace values in a comma-separated-value file. The application is for tag-counting by week, so the first column is effectively an ID column &amp; the rest (for me) are integers. But here&#8217;s the code with some sample data grabbed from a random Google search..</p>
<pre class="brush: php">
&lt;?
/************** Vars ***************/

$str=&quot;id,age,sex,region,income,married,children,car,save_act,current_act,mortgage,pep
ID12101,48,FEMALE,INNER_CITY,17546.0,NO,1,NO,NO,NO,NO,YES
ID12102,40,MALE,TOWN,30085.1,YES,3,YES,NO,YES,YES,NO
ID12103,51,FEMALE,INNER_CITY,16575.4,YES,0,YES,YES,YES,NO,NO
ID12104,23,FEMALE,TOWN,20375.4,YES,3,NO,NO,YES,NO,NO
ID12105,57,FEMALE,RURAL,50576.3,YES,0,NO,YES,NO,NO,NO
ID12106,57,FEMALE,TOWN,37869.6,YES,2,NO,YES,YES,NO,YES
ID12107,22,MALE,RURAL,8877.07,NO,0,NO,NO,YES,NO,YES
ID12108,58,MALE,TOWN,24946.6,YES,0,YES,YES,YES,NO,NO
ID12109,37,FEMALE,SUBURBAN,25304.3,YES,2,YES,NO,NO,NO,NO
ID12110,54,MALE,TOWN,24212.1,YES,2,YES,YES,YES,NO,NO
ID12111,66,FEMALE,TOWN,59803.9,YES,0,NO,YES,YES,NO,NO
ID12112,52,FEMALE,INNER_CITY,26658.8,NO,0,YES,YES,YES,YES,NO
ID12113,44,FEMALE,TOWN,15735.8,YES,1,NO,YES,YES,YES,YES
ID12114,66,FEMALE,TOWN,55204.7,YES,1,YES,YES,YES,YES,YES
ID12115,36,MALE,RURAL,19474.6,YES,0,NO,YES,YES,YES,NO&quot;;

$tags2find_arr=array();
$tags2find_arr[&#039;ID12106&#039;]=array(1=&gt;1,4=&gt;100);  //additive numbers, or replacing?
$tags2find_arr[&#039;ID12102&#039;]=array(1=&gt;1,4=&gt;200);
$tags2find_arr[&#039;ID12114&#039;]=array(1=&gt;1,4=&gt;300);

$fn=&#039;test.txt&#039;;
/************** Runtime ***************/

writeCSV($fn,$str);
writeRandCSV($fn,$tags2find_arr,&#039;add&#039;);

/************** Functions ***************/

function writeCSV($fn=&#039;&#039;,$str=&#039;&#039;){

$fh=fopen($fn,&#039;w&#039;);
fwrite($fh,$str);
fclose($fh);
}
/****************************/
function writeRandCSV($fn,$tags2find_arr,$addreplace=&#039;add&#039;){
$fl=filesize($fn);
$fh=fopen($fn,&#039;r+&#039;); //open for reading, and writing, but don&#039;t kill the contents
$str=fread($fh, $fl);

foreach($tags2find_arr as $tag2find=&gt;$csv_data_addreplace){  //$tag2find=&#039;ID12108&#039;;
//find the line in the str			//alt: explode by &#039;\n&#039; or &#039;\r&#039; &amp;amp;amp; get an array &amp;amp;amp; it&#039;s size.. find in array, truncate array,implode &amp;amp;amp; find strlen&#039;s for loc &amp;amp;amp; write-len
$readtagloc=strpos($str,$tag2find.&#039;,&#039;);   //this could be a problem for smaller tags found in larger.. throw a \n before &amp;amp;amp; a , after?
//echo &quot;\r&lt;br/&gt;&quot;.$tag2find.&quot; @&quot;.$readtagloc;

//find it&#039;s corollary in the file
fseek($fh,$readtagloc);
$fcsv_arr=fgetcsv($fh); //should only get one line!
//for($i=0;$i&lt;count($fcsv_data);$i++){
//$fcsv_arr[$i]=$fcsv_arr[$i]+$csv_data_addreplace[$i]; //58-&gt;59
foreach($csv_data_addreplace as $csv_idx=&gt;$csv_addreplace){
  if($addreplace==&#039;add&#039;) $fcsv_arr[$csv_idx]+=$csv_addreplace; //58-&gt;59
  else $fcsv_arr[$csv_idx]=$csv_addreplace;
}
//print_r($fcsv_arr);

/******************************/
//echo &#039;\r&lt;br/&gt;&#039;.ftell($fh).&#039; or &#039;.(ftell($fh)-strlen(implode(&#039;,&#039;,$csv_arr))-1 );
fseek($fh,$readtagloc); //back to beginning of line to write now
//$read=fread($fh, $readlen);
//hoping the pointer is still in the same loc &amp;amp;amp; not @ line-end!

$ok[$tag2find]=fputcsv($fh,$fcsv_arr,&#039;,&#039;);
$sz=(strlen(implode(&#039;,&#039;,$fcsv_arr))+1);

//if($ok===false){ echo &quot;FAILURE&quot;; }
//if($ok==$sz){ echo &quot;\r&lt;br/&gt;written length ok:&quot;.$ok; }
//else { &quot;\r&lt;br/&gt;written length not ok:&quot;.$ok.&#039;&lt;&#039;.$sz; }

} //end foreach tag
$ok[]=fclose($fh);
return $ok;

} //close function
/******************************/
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/randomly-writing-csv-data-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Affective News Feeds</title>
		<link>http://mwallace.info/affective-news-feeds/</link>
		<comments>http://mwallace.info/affective-news-feeds/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 18:29:55 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA['net]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[life-of-a-geek]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://mwallace.info/?p=695</guid>
		<description><![CDATA[Datastreams have feelings too.. Yahoo Pipes can help?]]></description>
			<content:encoded><![CDATA[<p>Just last night I found out the glory of <a href="http://pipes.yahoo.com/pipes/">Yahoo Pipes</a>. The idea is one for which I&#8217;ve wanted &amp; waited a long time: Take *any* web-source &amp; turn it into (through combining, filtering, etc) any other web-source: iCal, RSS, etc.</p>
<p>So the consequence? I now have 3 rss feeds: One for Friend&#8217;s Statuses (twitter+facebook), one for news (google news feed) and another for everything else from friends blogs to tech-news.</p>
<p>It would only <strong><em>seem</em></strong> obvious that these 3 can and should be on the same rss reader (I use google reader&#8217;s iphone interface, even on my main computer).</p>
<p>The trouble with combining these 3 or 4 types of news into ONE &#8216;technological ontology&#8217; (a single rss reader) is a simple lessons learned from psychology.. there&#8217;s lots of theories like this, but I learned it from Urie Bronfenbrenner, &#8220;The Ecology of Human Development.&#8221; Basically, we all have various circles, some more core than others, of family, friends, and aquaintences. They affect us differently.</p>
<p>Likewise, we can say data from each source must retain it&#8217;s affective priority. Notice how different this is than most News/Social Networking Aggregrates, which merely pull in everything without priority. Likewise, facebook and other marketing groups try to get your affectively involved in their little sphere.</p>
<p>With a little finesse and basic coding-think, yahoo pipes allows me to get each level of data from friends, news &amp; otherwise. Reading them one by one allows me to maintain a relatively consistent affect when reading all 500 tweets, instead of trying to have little affective response to a random news-blip, and then to care deeply over another friends&#8217; status, only to return to not caring. Perhaps that emotional flexibility is possible and desireable in kids, but I&#8217;m getting too old for that?</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/affective-news-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computers, netbooks &amp; smartphone products table</title>
		<link>http://mwallace.info/computers-netbooks-smartphone-products-table/</link>
		<comments>http://mwallace.info/computers-netbooks-smartphone-products-table/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 21:49:24 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[interaction design]]></category>
		<category><![CDATA[life-of-a-geek]]></category>
		<category><![CDATA[limited computing]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=612</guid>
		<description><![CDATA[For all those who were or are now confused about the computer/netbook/smartphone market, here&#8217;s a bit to help clear one the techy bits: Product Hardware Software Open Microsoft Apple Computer Intel (x86) Linux (Desktop) Windows OSX Netbook Intel (x86) Linux (Desktop) Windows hack-only Netbook (Gen2010) (ARM) Linux (Variants) WinMo iPad Apple A4 (ARM) iPhone Phone [...]]]></description>
			<content:encoded><![CDATA[<p>For all those who were or are now confused about the computer/netbook/smartphone market, here&#8217;s a bit to help clear one the techy bits:<br />
<!--<br />
table.table{}<br />
table.table tr{}<br />
table.table td{vertical-align:middle;border-collapse:collapse;border:1px #999 solid;}<br />
--></p>
<table class="table" style="border: #999;" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td rowspan="2" align="left" valign="middle"><strong>Product</strong></td>
<td rowspan="2" align="left" valign="middle"><strong>Hardware</strong></td>
<td style="text-align: center;" colspan="3" valign="bottom"><strong>Software</strong></td>
<p><!-- td></td --></tr>
<tr>
<td align="left" valign="bottom"><em><span style="text-decoration: underline;">Open</span></em></td>
<td align="left" valign="bottom"><em><span style="text-decoration: underline;">Microsoft</span></em></td>
<td align="left" valign="bottom"><em><span style="text-decoration: underline;">Apple</span></em></td>
<p><!-- td></td --></tr>
<tr>
<td align="left" valign="bottom">Computer</td>
<td align="left" valign="bottom">Intel (x86)</td>
<td align="left" valign="bottom">Linux (Desktop)</td>
<td align="left" valign="bottom">Windows</td>
<td align="left" valign="bottom">OSX</td>
<p><!-- td></td --></tr>
<tr>
<td align="left" valign="bottom">Netbook</td>
<td align="left" valign="bottom">Intel (x86)</td>
<td align="left" valign="bottom">Linux (Desktop)</td>
<td align="left" valign="bottom">Windows</td>
<td align="left" valign="bottom">hack-only</td>
</tr>
<tr>
<td align="left" valign="bottom">Netbook (Gen2010)</td>
<td align="left" valign="bottom">(ARM)</td>
<td align="left" valign="bottom">Linux (Variants)</td>
<td align="left" valign="bottom">WinMo</td>
<td></td>
<p><!-- td></td --></tr>
<tr>
<td align="left" valign="bottom">iPad</td>
<td align="left" valign="bottom">Apple A4 (ARM)</td>
<td></td>
<td></td>
<td align="left" valign="bottom">iPhone</td>
<p><!-- td></td --></tr>
<tr>
<td align="left" valign="bottom">Phone</td>
<td align="left" valign="bottom">(ARM)</td>
<td align="left" valign="bottom">Linux (Variants)</td>
<td align="left" valign="bottom">WinMo</td>
<td align="left" valign="bottom">iPhone</td>
<p><!-- td></td --></tr>
</tbody>
</table>
<p>Notice that there&#8217;s another column I forgot: Android. They&#8217;re a variant of Linux, and running on both desktop &amp; netbooks (sort of). Oddly enough, Android on netbooks took all the fire/criticism up front about being too limited. Apple then stepping into the void and filled it with something <em>just</em>. <em>usable</em>. <em>enough</em>.</p>
<p>The only commentary on Apple&#8217;s latest device is two-fold: (1) No multitasking? I&#8217;m a fan of what I&#8217;ve called &#8216;<a href="http://mbwallace.info/category/tech/limited-computing">limited computing</a>&#8216;, but this is a tad too constricting. (2) Likewise constricting is the iPhone AppStore: only those approved by Apple will do.</p>
<p>For the price, I&#8217;d rather have <a href="https://www.alwaysinnovating.com/">AlwaysInnovating&#8217;s Tablet/Netbook</a>. It&#8217;s effectively the same thing, just with the software I already use. Trouble-spot: all linux software is old-school &amp; menu-driven. Neither linux application communities (KDE nor Gnome) seem to be concerned with this forward motion UI&#8217;s.</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/computers-netbooks-smartphone-products-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Skills (How to hire a WP guy!)</title>
		<link>http://mwallace.info/wordpress-skills-how-to-hire-a-wp-guy/</link>
		<comments>http://mwallace.info/wordpress-skills-how-to-hire-a-wp-guy/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 17:16:17 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA[LAMP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=577</guid>
		<description><![CDATA[My job just asked me to make a list of what a sister agency should look for in WP ppl. Googling left me with nothing (as all search results seem to have been taken over by SEO ppl lately), so here&#8217;s my addition to the mix: Basic (unquestioned assumptions): * XHTML syntax, CSS2, * Browser [...]]]></description>
			<content:encoded><![CDATA[<p>My job just asked me to make a list of what a sister agency should look for in WP ppl. Googling left me with nothing (as all search results seem to have been taken over by SEO ppl lately), so here&#8217;s my addition to the mix:<br />
<strong></strong></p>
<p><strong>Basic</strong> (unquestioned assumptions):<br />
* XHTML syntax, CSS2,<br />
* Browser testing-abilities: IE6-8, FF1-3,Saf3-4, Chrome1-2</p>
<p><strong>WP Basics</strong>:<br />
* Upgrading (and fixing when broken!)<br />
* Knowledge of a set of plugins for these common problems:<br />
* &#8220;I want a contact form (with these 9 fields)&#8221;<br />
* &#8220;I want backups&#8221;<br />
* &#8220;I want a photo gallery (with lightbox)&#8221;<br />
* &#8220;I want twitter/facebook integration&#8221;<br />
* &#8220;I want a podcast&#8221;<br />
* &#8220;I want google maps on my contact page&#8221;</p>
<p><strong>WP Intermediate</strong>:<br />
* Build/mod a template<br />
* Build/mod a plugin<br />
* jQuery instead of simple, good-ol&#8217;-fashioned javascript</p>
<p><strong>Technical/Back-end</strong>:<br />
* Can fix &#8216;broken&#8217; DB&#8217;s<br />
* Clean MySQL WP DB from hackers<br />
* phpmyadmin<br />
* MySQL command-line</p>
<p><strong>Users</strong> (Teaching skills):<br />
* Guide clients/staff through changing templates, adding special parameters for templates, plugins, upgrades.<br />
* Explain the difference between the 2 editing modes of WP, as well as how a post, page, excerpt are all used.</p>
<p><strong>WP Access controls</strong>:<br />
* Should users sign up?<br />
* How to handle editors, admin, readers?<br />
* Public/private posts/pages<br />
* How are comments filtered &amp; what signups required?</p>
<p><strong>SEO</strong>:<br />
* What the different HTTP Response numbers mean (#200, 301,302)<br />
* .htaccess mod_rewrite for Apache/Linux servers<br />
* forwarding old sites to WP pages<br />
* forwarding old posts to a archive page<br />
* making &#8216;pretty urls&#8217; 301 (and why WP default doesn&#8217;t do it)<br />
* maing &#8216;www.&#8217; 301  (and why WP default doesn&#8217;t do it)<br />
* The troubles with WP on MS/IIS Servers<br />
* Why XML Sitemaps are good<br />
* Why Google Analytics &amp; Webmaster tools are worth it (and how to interp &#8216;em to clients)</p>
<p>Anything else out there?</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/wordpress-skills-how-to-hire-a-wp-guy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One step closer to useful</title>
		<link>http://mwallace.info/one-step-closer-to-useful/</link>
		<comments>http://mwallace.info/one-step-closer-to-useful/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 02:22:16 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA[Information Design]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[desktop theory]]></category>
		<category><![CDATA[interaction design]]></category>
		<category><![CDATA[life-of-a-geek]]></category>
		<category><![CDATA[limited computing]]></category>
		<category><![CDATA[openbox]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[window managers]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=546</guid>
		<description><![CDATA[UI usability is consistently my no. 1 time-suck. I&#8217;ve &#8216;wasted&#8217; countless hours config&#8217;ing and reconfig&#8217;ing GNOME panels into assumed-need sorts. I&#8217;ve given up and returned to Mac &#38; heeded again the siren call to Linux&#8217; potential simplicity. My latest spin *was* playing with screen-maximizing UI&#8217;s: task-bar-less environments, panel-over-top window-titlebars, then I turned wanna-be tablet with [...]]]></description>
			<content:encoded><![CDATA[<p>UI usability is consistently my no. 1 time-suck. I&#8217;ve &#8216;wasted&#8217; countless hours config&#8217;ing and reconfig&#8217;ing GNOME panels into assumed-need sorts. I&#8217;ve given up and returned to Mac &amp; heeded again the siren call to Linux&#8217; potential simplicity.</p>
<p>My latest spin *was* playing with screen-maximizing UI&#8217;s: task-bar-less environments, panel-over-top window-titlebars, then I turned wanna-be tablet with the iPen.</p>
<p>But I&#8217;ll not deny, the best &#8216;inspiration&#8217; has been the non-existent-yet(?) Microsoft Courier. Here&#8217;s a list of the bits, related &amp; not, which I&#8217;ve come up with:</p>
<h3>Dual-pane</h3>
<p>My 13&#8243; macbook is nearly-exactly 2&#215;9&#8243; screens. Yes, this is very Courier-esque. Especially if I use Linux&#8217; dragbox in between panes! But the benefit here is window management. In Xwindows-land, there&#8217;s lots of these things called &#8216;window managers&#8217;. They&#8217;re supposed to, y&#8217;know.. manage windows. What do they ACTUALLY do? Place windows in wierd locations &amp; sizes which require you to use a taskbar, alt-tab or expose&#8217; your day away. I&#8217;m not down with that. Time for a &#8217;tiling&#8221; window manager. Yet I&#8217;m just looking for 2 panels, and on a 13&#8243; screen, that&#8217;s plenty. If I config my window-placer-thing to throw some of my apps on the left, I (craziest idea ever) can <em>expect</em> them to be there. I <em>know</em> where they are! Which leads me to my next point..</p>
<h3>Priority</h3>
<p>Since I&#8217;m not fussin&#8217; with my 9 windows that are open, wondering where to look for &#8216;em (something a taskbar is supposed to do, but doesn&#8217;t supply the requisite window-parallel usage scenario).. anyways, since I&#8217;m not wasting time placing windows, I can focus on what I&#8217;m supposed to be doing: being a human with responsibilities over resources and being creative and learning. Those are the categories my applications have taken: email, calendar &amp; files on the left, OpenOffice, Journal &amp; Web on the right.</p>
<h3>Lists, lists, lists!</h3>
<p>Perhaps this is more iphone-y than anything, but there&#8217;s some goodness to be had with the removal of clutter (and there&#8217;s plenty on the web!) Yet, I use google calendar &amp; email all day long. I don&#8217;t need another cal or mail app, I just need a browser open with these bits in it. But even these apps aren&#8217;t clean. Facebook, Yahoo Mail, Google Mail, Google Reader AND Google Calendar ALL have sidebars. Why, oh why do we need sidebars? They take up sooo much screen real-estate, especially after you scroll.</p>
<h4>Bad:</h4>
<div id="attachment_547" class="wp-caption aligncenter" style="width: 278px"><a href="http://mbwallace.info/wp-content/uploads/2009/10/half-app.jpg"><img class="size-medium wp-image-547" title="half-app" src="http://mbwallace.info/wp-content/uploads/2009/10/half-app-268x300.jpg" alt="What you get when viewing web-apps half-screen'd or in portrait" width="268" height="300" /></a><p class="wp-caption-text">What you get when viewing web-apps half-screen&#39;d or in portrait</p></div>
<h4>Good:</h4>
<div id="attachment_548" class="wp-caption aligncenter" style="width: 265px"><a href="http://mbwallace.info/wp-content/uploads/2009/10/mobile.jpg"><img class="size-medium wp-image-548" title="mobile" src="http://mbwallace.info/wp-content/uploads/2009/10/mobile-255x300.jpg" alt="Ahh, mobile: a clutter-free web-experience! " width="255" height="300" /></a><p class="wp-caption-text">Ahh, mobile: a clutter-free web-experience! </p></div>
<p>You just have to load the mobile versions of the webapps you use. To find them, I viewed them on my phone &amp; checked the url. I&#8217;ve also found the &#8216;print&#8217; versions of yahoo news to be similarly readable.</p>
<p>Conditions: sure forcing all my windows into 2 locations (left/right) &amp; 2 states (half-screen or maximized) is &#8216;limiting&#8217;, but I&#8217;m a limited human! I need some parallels here to stay sane. I can&#8217;t be moving &amp; resizing windows all day long.</p>
<p>Perhaps I&#8217;m just getting old, and will eventually regress into the old lady who only has one window open (maximized) at a time. Until then, this is a good compromise.</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/one-step-closer-to-useful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Courier, please deliver soon, or I&#8217;ll make you out of Linux!</title>
		<link>http://mwallace.info/courier-please-deliver-soon-or-ill-make-you-out-of-linux/</link>
		<comments>http://mwallace.info/courier-please-deliver-soon-or-ill-make-you-out-of-linux/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 20:28:49 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA[Information Design]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[desktop theory]]></category>
		<category><![CDATA[interaction design]]></category>
		<category><![CDATA[life-of-a-geek]]></category>
		<category><![CDATA[limited computing]]></category>
		<category><![CDATA[window managers]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=536</guid>
		<description><![CDATA[Everyone&#8217;s all abuzz with Microsoft&#8217;s latest leaked prototype: Courier. On an off-note, it&#8217;s hilarious to contrast the handwritten everything with the king of monospace fonts! (and previously, my latest interest has been the long-awaited crunchpad.) But there&#8217;s 2 things I&#8217;m here to mention: my dream &#38; the obvious rising behind Courier. Why Courier is Obvious: [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone&#8217;s all abuzz with Microsoft&#8217;s latest leaked prototype: <a href="http://gizmodo.com/5365299/courier-first-details-of-microsofts-secret-tablet">Courier</a>. On an off-note, it&#8217;s hilarious to contrast the handwritten everything with the king of monospace fonts! (and previously, my latest interest has been the long-awaited <a href="http://www.crunchgear.com/2009/07/04/crunchpad-prototype-coming-this-month-be-available-asap/">crunchpad</a>.)</p>
<p>But there&#8217;s 2 things I&#8217;m here to mention: my dream &amp; the obvious rising behind Courier.</p>
<h3>Why Courier is Obvious:</h3>
<p>First off, how many people do you see carrying around a notebook/folio of some variety? Everyone. The business guys do it for their contacts, dates &amp; files. College kids do it for their class notes. Artsy-kids do it for their scribble-pics. Christians have a habit of doing it for their Bible study/sermon notes. Everyone.</p>
<p>Second: netbook+eReader. Limited computing strikes again, and awaiting for a convergence.</p>
<p>Third: Intel&#8217;s atom platform (and I would argue ARM even more!) is ready for this kind of thin-and-goodness. Especially with ssd&#8217;s (heck, I&#8217;d be happy with an SDHC!)</p>
<h3>My Little Dream:</h3>
<p>I&#8217;m a fan of the UI-customizability of Linux. Always have been: it&#8217;s what keeps me away from MacOS. Right now, I&#8217;ve got a toolbar that has everything I need in it: time, calendar-on-click, applets &amp; a task-switcher. All this overlays the wasted-space of window-titlebar. Most of the time I maximize my apps, so I can focus. But there are somethings that should be a sidebar: notably a tabbed filemanager (since I already have a tabbed term thanks to tilda).</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-537" title="lxpanel-colored" src="http://mbwallace.info/wp-content/uploads/2009/09/lxpanel-colored.png" alt="lxpanel-colored" width="434" height="26" />And there&#8217;s no reason why a quick photo-viewer, calculator, contacts &amp; datebook cannot also be in this sidebar (especially if cache&#8217;d &amp; synced from Google!) All this sidebar stuff is too perfect. Why not make a Window Manager that runs specific apps in specific &#8216;frames&#8217; (yes, like HTML old-skool style). The frames are resizable &amp; collapsable. Ths is so (similar but) much more useful than a tiling WM.</p>
<p>Next up, I&#8217;ve never, ever understood file dialog boxes. I do however understand Delicious&#8217; tagging. It auto-generates recommendations, and why not do this for files?  Linux is built for this: symlinks.</p>
<p>And while we&#8217;re at it, why not kill off scrollbars &amp; make everything grab-and-draggable. Just use a modifier key (or both-click). Then we can have the app be like a magnifying glass, with the edges smushed to show you how much more you have down there (in preview-style).</p>
<p>As for all this journally stuff, Xournal is the single-best program I have ever, ever, ever encountered. Multiple-layers? yup. Print to PDF? Yup. Wanna add a new page? Click the &#8216;next page&#8217; button. It could remove all it&#8217;s menus if it just had a &#8216;preferences&#8217; dialog box.  It is the model for any journaling program.</p>
<p>Lastly, mouse-gestures are very hot lately. I don&#8217;t use them because I&#8217;d like &#8216;em to be like Courier: context-specific AND list suggested actions, instead of always acting on its own.</p>
<p>Dreams, dreams, dreams.</p>
<p>All I&#8217;m sayin&#8217; is if ASUS puts out an Intel Atom dual-screen netbook/eReader next year, or even this year, I&#8217;m putting my dreams to work. Just need to solve 2 problems:  the sidebar thinger (update: &#8220;devilspie&#8221; might be halfway there for me) &amp; handwriting recognition (and I&#8217;ve got a prototype system coming this december when classes are out!).</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/courier-please-deliver-soon-or-ill-make-you-out-of-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The iPen Review</title>
		<link>http://mwallace.info/the-ipen-review/</link>
		<comments>http://mwallace.info/the-ipen-review/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 16:14:04 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[desktop theory]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[interaction design]]></category>
		<category><![CDATA[life-of-a-geek]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=533</guid>
		<description><![CDATA[The iPen, by Finger System, Inc. First off, sometimes you can judge a book by it&#8217;s cover&#8211; especially when a marketing department has ahold of the cover. By this I mean the &#8220;Ages 5 &#38; up&#8221; label. Yes, this IS a kids play toy, and I&#8217;m going to try and take it seriously. I hope [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/I-Pen-Digital-Writer-Optical-Device/dp/B0000AC88K">The iPen, by Finger System, Inc.</a></p>
<p>First off, sometimes you <em>can</em> judge a book by it&#8217;s cover&#8211; especially when a marketing department has ahold of the cover. By this I mean the &#8220;Ages 5 &amp; up&#8221; label. Yes, this IS a kids play toy, and I&#8217;m going to try and take it seriously. I hope that doesn&#8217;t make me a kid. Likely does.</p>
<h2>First Impressions</h2>
<p>first 15mins:  holy crap this is fussy! How does this work right at all?</p>
<p>second 15mins:  let&#8217;s try to figure some workarounds..</p>
<p>third 15mins:  ok, now with a basic system in place, perhaps there&#8217;s a chance.. a very small chance..</p>
<p>last 15mins:  It brings back the good ol&#8217; days of owning a pocket pc.</p>
<p>1 month in: with the right linux-config&#8217;d system in place, the iPen has it&#8217;s place, and can even replace the need to own a full $1700 tabletPC. For $15, it&#8217;s a steal. But the whole repetitive stress thing isn&#8217;t any better or worse, but that&#8217;s my fault for being tied to this thing for 12hrs /day!</p>
<h2>&#8220;The System&#8221; (My Linux config)</h2>
<p>0) You really should use the old-school optical 1mm grid they provide.. graph paper doesn&#8217;t cut it. I ended up cutting a 2&#8243;x3&#8243; square out &amp; taping it on the corner of my laptop (nearly over the trackpad!) when I&#8217;m not at my desk. However, when running in &#8216;super slow mode&#8217;, i need the whole thing. Choose cutting wisely.<br />
1) hold the mouse a bit more upright than a regular pen, especially when not using the grid-pad <img src='http://mwallace.info/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
2) Slow the mouse settings all the way down: xset m 0 0, (or <a href="http://mbwallace.info/multiple-mouse-config-in-ubuntu/">see my ultra-slowed-down xorg.conf</a>)<br />
3) Use xournal to scribble notes &amp; PDF annotate, zoomed in to full-width (150%), unless running ultra-slow, then tis fine zoomed out where the notebook lines are like college-ruled. (yes, i measured). Xournal also supports graph paper, colored paper &amp; custom-paper sizes. Handy for when I rotate the screen. Also, I found having the default right-click to be the &#8216;hand&#8217; is very handy (like acrobat&#8217;s hand/grab-drag-scrolling)<br />
4) Use cellwriter for single character input (aka PocketPC-land!). Takes some config, but it gets pretty good.<br />
5) Firefox plugin: &#8220;Grab and drag&#8221;!  This is when it hit me: &#8220;Don&#8217;t try and use a pen like a mouse. Use a pen like a pen!&#8221;</p>
<h2>The Speed Test</h2>
<p>With cell writer config&#8217;d &amp; trained (not a hard process at all),<br />
and using the sentence: &#8220;The quick brown fox jumps over the lazy dog&#8221;:<br />
Typing: &#8220;THe quick brown fox jumped over hte lazy dog&#8221; is 8-9 seconds, with only 2 errors.<br />
Cellwriter: &#8220;the quick brown fox jumped overthe lazy dog.&#8221; in 58 seconds, first try, then 44s!, with 2 errors as well.<br />
Handwriting on paper: 13seconds<br />
Xournal: 24seconds.</p>
<p>A 5-6 times increase in time is wretched. Especially if I in-line corrected about 4-6 characters thanks to a shaky nervous hand! No doubt I&#8217;ve cellwritten faster since this early test, but I seriously doubt it will ever come close to touch typing. The other variable is that when typing, I type faster than I think, so I&#8217;m always stopping to think about what I&#8217;m saying. But with cellwriter, I&#8217;m writing so slow, I can think about what I&#8217;m saying. Trouble is, if it&#8217;s too slow, I&#8217;m thinking about writing the characters &amp; forgetting about what I&#8217;m saying.</p>
<h2>Improvements</h2>
<p>It&#8217;s amazing just how sensitive the nature of handwriting is. There&#8217;s 2 very strong components to pencil writing that is lacking with this digital pen.<br />
1) Pencils are pressure sensitive across a gradient, not a binary on/off. You can swipe a pencil and get a line. When you lift a pencil while handwriting, it&#8217;s more a light drag across the paper than it is a full 1mm lift. Hopefully I&#8217;m explaining this right: the ipen requires a 1mm lifting or dropping of the pen to register a swipe. This is not natural, however oddly enough, when the mouse is super-slow, this problem dissipates, as well as with getting used to it.</p>
<p>2) Tracking. When we lift a pen and move it, it now resides to write in the new location. On the slowest mouse motion, the &#8216;mousing area&#8217; is still 2&#8243; wide x 1.5&#8243; high. This is hardly a one-to-one (like true tabletPC&#8217;s have) with a 13.3&#8243; diagonal screen! Second, this pen is very sensitive and you have to lift the pen a good centimeter off the surface to stop it from moving the mouse cursor (to get the mouse cursor where you want it, relative to the hand-on-paper position). This is also shown when setting down &amp; picking up the pen.. a mouse or trackpad will leave the cursor &amp; mouse, the pen must be set &amp; picked up again.<br />
One last comment, I&#8217;d prefer to have a scrollwheel where the right click button is. But some of that is solved by FF&#8217;s grab-and-drag plugin. If only that plugin was across all X/GNOME/KDE applications!</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/the-ipen-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple mouse config in Ubuntu</title>
		<link>http://mwallace.info/multiple-mouse-config-in-ubuntu/</link>
		<comments>http://mwallace.info/multiple-mouse-config-in-ubuntu/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 15:43:13 +0000</pubDate>
		<dc:creator>m.wallace</dc:creator>
				<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[desktop theory]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[life-of-a-geek]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=529</guid>
		<description><![CDATA[Since I&#8217;ve bought an ipen, I need different settings for the pen and trackpad. The trackpad should have all the fun little bits that it came with, 2-finger scrolling &#38; a decent speed, while the ipen, to be useful for writing notes in PDFs needs to be soo much slower (a 3/4 ratio of pen-to-screen).  [...]]]></description>
			<content:encoded><![CDATA[<p>Since I&#8217;ve bought an <a href="http://www.amazon.com/I-Pen-Digital-Writer-Optical-Device/dp/B0000AC88K">ipen</a>, I need different settings for the pen and trackpad. The trackpad should have all the fun little bits that it came with, 2-finger scrolling &amp; a decent speed, while the ipen, to be useful for writing notes in PDFs needs to be soo much slower (a 3/4 ratio of pen-to-screen).  This setup will of course apply to any multiple input device setup..</p>
<ol>
<li>backup xorg.conf (in terminal: sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-original)</li>
<li>with the mouse plugged in, lets find which device is which:
<ol>
<li>sudo cat /dev/input/pxaux   ..now touch the trackpad: see funny letters for each motion? Good. (control-c to exit)</li>
<li>sudo gedit /etc/X11/xorg.conf, add these lines:
<pre>Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto"
Option "HorizScrollDelta" "0"
Option "SHMConfig" "on"
EndSection</pre>
</li>
</ol>
</li>
<li>Now, config the mouse by the same method, but trying /dev/input/mouse0 .. through mouse4.</li>
<li>Add these lines accordingly:
<pre>Section "InputDevice"
       Identifier "Configured Mouse"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mouse4"
        Option      "Emulate3Buttons" "no"
       #Option      "Resolution" "50"
       #Option      "Sensitivity"       "0.24"
       #Option      "ConstantDeceleration" "4"
EndSection</pre>
</li>
<li>You&#8217;ll notice the last 3 lines are commented out.. I used the &#8216;constant deceleration&#8217; to slow down my 800dpi mouse-pen. I enver played with the other 2, though they might work as well.</li>
<li>Further, I had to add these lines as well for everything to work:
<pre>Section "ServerFlags"
Option "AutoAddDevices" "0"
Option "DontZap" "off" #ctl-alt-back restart-X
EndSection

Section "ServerLayout"
        Identifier "Default Layout"
        Screen "Default Screen"
        InputDevice "Synaptics Touchpad"
EndSection</pre>
</li>
</ol>
<p>When all is said &amp; done, I also found gsynaptics (sudo apt-get install gsynaptics) which allowed fun things like &#8216;ipod-scrolling&#8217; and corner/edge events.</p>
<p>Final note: I needed my pen to be slower than even xset m 0 0 could give me, though that was close.</p>
<p><strong>2009-10-22 UPDATE</strong>: Instead of EVERYTHING above, I finally got this to work in HAL (which means keep the original /etc/X11/xorg.conf file clean), thanks to removing mouseemu which was always making the usb pen-mouse be reconfig&#8217;d to normal acceleration! In ubuntu 9.04, I simply created this file: /etc/hal/fdi/policy/10-x11-input.fdi:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;ISO-8859-1&#8243;?&gt;<br />
&lt;deviceinfo version=&#8221;0.2&#8243;&gt;<br />
&lt;device&gt;<br />
&lt;match key=&#8221;info.capabilities&#8221; contains=&#8221;input.mouse&#8221;&gt;<br />
&lt;match key=&#8221;info.product&#8221; string=&#8221;Finger System Inc. i-Pen Mouse FM-100BN&#8221;&gt;<br />
&lt;merge key=&#8221;input.x11_options.ConstantDeceleration&#8221; type=&#8221;string&#8221;&gt;3&lt;/merge&gt;<br />
&lt;/match&gt;<br />
&lt;/match&gt;<br />
&lt;/device&gt;<br />
&lt;/deviceinfo&gt;<br />
While debugging, I confirmed the settings were in lshal &amp; /var/log/Xorg.0.log.</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/multiple-mouse-config-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Read Google Calendars from Orage!</title>
		<link>http://mwallace.info/read-google-calendars-from-orage/</link>
		<comments>http://mwallace.info/read-google-calendars-from-orage/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 19:06:46 +0000</pubDate>
		<dc:creator>fadingdust</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ShellScripts]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[codeRelease]]></category>
		<category><![CDATA[desktop theory]]></category>
		<category><![CDATA[life-of-a-geek]]></category>
		<category><![CDATA[openbox]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[window managers]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=527</guid>
		<description><![CDATA[Holy crap! My fav toolbar calendar is more than just a calendar! It does alarms &#038; full ICS input &#038; output! With a little scripting &#038; cron, I get the day&#8217;s events with one click! #!/bin/sh cd ~/tmp wget http://www.google.com/calendar/ical/--your-private-gcal--url/basic.ics mv basic.ics calname.ics Just repeat the wget &#038; mv for all calendars, add an hourly [...]]]></description>
			<content:encoded><![CDATA[<p>Holy crap! My fav toolbar calendar is more than just a calendar! It does alarms &#038; full ICS input &#038; output! With a little scripting &#038; cron, I get the day&#8217;s events with one click!</p>
<pre class="brush: bash">
#!/bin/sh
cd ~/tmp
wget http://www.google.com/calendar/ical/--your-private-gcal--url/basic.ics
mv basic.ics calname.ics
</pre>
<p>Just repeat the wget &#038; mv for all calendars, add an hourly cron job &#038; add the files to orage&#8217;s preferences/foreign calendars tab!</p>
<p>Love is simplicity!</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/read-google-calendars-from-orage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Better Openbox transparency</title>
		<link>http://mwallace.info/a-better-openbox-transparency/</link>
		<comments>http://mwallace.info/a-better-openbox-transparency/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 20:33:13 +0000</pubDate>
		<dc:creator>fadingdust</dc:creator>
				<category><![CDATA[OSS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[codeRelease]]></category>
		<category><![CDATA[desktop theory]]></category>
		<category><![CDATA[openbox]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[window managers]]></category>

		<guid isPermaLink="false">http://mbwallace.info/?p=522</guid>
		<description><![CDATA[I&#8217;m lately in love with openbox for it&#8217;s simplicity and lack of screen-coverage. Sure I could have setup my desktop within xubuntu, but I wanted to expand my horizons. My original theory was for netbook application, maximizing screen real estate &#38; reducing the hard drive &#38; processor use. But lately, I&#8217;ve been toying with xcompmgr, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m lately in love with <a href="http://icculus.org/openbox/index.php/Main_Page">openbox </a>for it&#8217;s simplicity and lack of screen-coverage. Sure I could have setup <a href="http://mbwallace.info/wp-content/uploads/2009/08/screenshot-1.png">my desktop</a> within xubuntu, but I wanted to expand my horizons.</p>
<p>My original theory was for netbook application, maximizing screen real estate &amp; reducing the hard drive &amp; processor use. But lately, I&#8217;ve been toying with xcompmgr, hardly a &#8216;wise&#8217; use of resources.</p>
<p>While <a href="http://urukrama.wordpress.com/openbox-guide/#Transparency">Urukrama has a wonderfully extensive Openbox config page</a>, I didn&#8217;t find the &#8220;make all inactive windows 60% transparent&#8221; like I was looking for.</p>
<p>A little googling gave me <a href="http://crunchbanglinux.org/forums/post/12530/#p12530">the solution I was after</a>, but it was insanly processor/battery intensive! (That&#8217;s what ya get for writing an infinite loop! ) At first I tried putting a &#8220;sleep&#8221; command in the loop, and that did tremendous wonders for retaining processor use, and slowing down my frantic computer-work pace. Still, I wasn&#8217;t pleased.</p>
<p>So here, without further ado, is my xcompmgr+transset-df+perl script for setting all non-active windows:</p>
<pre class="brush: python">
#!/usr/bin/perl -w

# This script is a modification my M.Wallace of the
# original written by Andrei Perhinschi
# and is licensed under the GNU GPL license
# http://www.gnu.org/licenses/gpl.html

# Much thanks goes to Daniel Forchheimer (http://www.forchheimer.se/)
# for creating transset-df and the eutotrans
# script from which this script gets its inspiration

if ( !defined $ARGV[0] || !defined $ARGV[1] || !defined $ARGV[2] ) {
die &quot;Usage: focustran-once &lt;unfocused value&gt; &lt;focused value&gt; &lt;refresh value (secs)&gt;\n&quot;;
}

# default values
$trans_val = $ARGV[0];
$opaque_val = $ARGV[1];
$sleep_val = $ARGV[2];

# grab all window IDs
@win_ids = `xwininfo -root -all`;
foreach my $win_id ( @win_ids ) {
unless ( $win_id =~ /has\ no\ name/ || $win_id !~ /0x/ || $win_id =~ /Desktop/ ) {
 $win_id =~ /\ \&quot;/;
 $win_id = &quot;$`&quot;;
 $win_id =~ s/\s//g;
 push @id_lines, $win_id;
 }
}

#print &quot;ID_LINES:@id_lines\n&quot;;

# find my active window
my $active_id = `xprop -root  | grep &quot;_NET_ACTIVE_WINDOW(WINDOW): window id # &quot;`;
$active_id =~ /\#\s/;
$active_id = &quot;$&#039;&quot;;
chomp $active_id;

# set the active window to non-transparent value
system ( &quot;transset-df --id $active_id $opaque_val&quot; );

# make all other windows transparent
foreach my $win_id ( @id_lines ) {
# set active window to opaque_val and old window to trans_val
if ( $win_id ne $active_id ) {
system ( &quot;transset-df --id $win_id $trans_val&quot; );
 }
}
</pre>
<p>Then just add these lines to ./config/openbox/rc.xml (around line 302 for me):</p>
<pre class="brush: xml">
    &lt;context name=&quot;Client&quot;&gt;
      &lt;mousebind button=&quot;Left&quot; action=&quot;Press&quot;&gt;
        &lt;action name=&quot;execute&quot;&gt;
        &lt;execute&gt;perl ~/bin/focustrans-once.pl .6 1 0&lt;/execute&gt;
        &lt;/action&gt;
      &lt;/mousebind&gt;
    &lt;/context&gt;
</pre>
<p>Trouble is, I use mouse-raises windows, not click-to-focus! Anyone got some help for me, be it X11 active window or openbox mouse-motion-detect?</p>
]]></content:encoded>
			<wfw:commentRss>http://mwallace.info/a-better-openbox-transparency/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
