<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://www.dietzel.no/knut/blog/"?>
<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Knuts blog</title>
<atom:link href="http://www.dietzel.no/knut/blog/rss.xml" rel="self" type="application/rss+xml" />
<link>http://www.dietzel.no/knut/blog</link>
<description>Det går ikke så fort, men det blir ikke så bra heller.</description>
<dc:language>en-us</dc:language>
<dc:creator>Knut Ingvald Dietzel</dc:creator>
<dc:date>2011-03-11T20:44:37+01:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<item>
<link>http://www.dietzel.no/knut/blog/archives/2008/05/index.html#e2008-05-07T22_12_25.txt</link>
<guid isPermaLink="true">http://www.dietzel.no/knut/blog/archives/2008/05/index.html#e2008-05-07T22_12_25.txt</guid>
<title>Eliminating VGA and LVDS switching hiccups with bash, Zenity and xrandr</title>
<dc:date>2008-05-07T22:12:25+01:00</dc:date>
<dc:creator>Knut Ingvald Dietzel</dc:creator>
<dc:subject>Hacks</dc:subject>
<description>
<![CDATA[
<p>
  The Lenovo X61, with graphics chip-set from Intel, has an annoying feature in
  that it does not detect the size of an external screen properly. Nor is it
  possible to switch between internal and external screen with the magic Fn+F7
  key-combination.
</p>

<p>
  A small work work-around bash-script, that utilizes Zenity, which I grabbed
  from <a href="http://www.kelvinism.com/tech-blog/zenity-gui-shell-script">here</a>
  (following a tip from Joar), eases the pain. I have modified it slightly,
  and here it is:
</p>

<p>
<div class="nbcode">
<p>
<pre>
<span class="lnr"> 1 </span>    <span class="Comment">#!/bin/sh</span>
<span class="lnr"> 2 </span>
<span class="lnr"> 3 </span>    <span class="Identifier">ans</span>=<span class="Error">$(</span><span class="Special">zenity  --list  --</span><span class="Identifier">title</span>=<span class="Statement">&quot;</span><span class="Constant"> Screen configuration</span><span class="Statement">&quot;</span><span class="Special"> \</span>
<span class="lnr"> 4 </span><span class="Special">    --text </span><span class="Statement">&quot;</span><span class="Constant">Select desired screen configuration:</span><span class="Statement">&quot;</span><span class="Special"> \</span>
<span class="lnr"> 5 </span><span class="Special">    --radiolist  --column </span><span class="Statement">&quot;</span><span class="Constant">Pick</span><span class="Statement">&quot;</span><span class="Special"> \</span>
<span class="lnr"> 6 </span><span class="Special">    --column </span><span class="Statement">&quot;</span><span class="Constant">Output Type</span><span class="Statement">&quot;</span><span class="Special"> TRUE LCD FALSE VGA \</span>
<span class="lnr"> 7 </span><span class="Special">     FALSE Both</span><span class="Error">)</span><span class="Statement">;</span>
<span class="lnr"> 8 </span>
<span class="lnr"> 9 </span>    <span class="Statement">echo</span><span class="Constant"> </span><span class="PreProc">$ans</span>
<span class="lnr">10 </span>
<span class="lnr">11 </span>    <span class="Statement">if</span> <span class="Statement">[</span> <span class="Statement">&quot;</span><span class="PreProc">$ans</span><span class="Statement">&quot;</span> <span class="Statement">=</span> <span class="Statement">&quot;</span><span class="Constant">LCD</span><span class="Statement">&quot;</span> <span class="Statement">]</span>
<span class="lnr">12 </span>    <span class="Statement">then</span>
<span class="lnr">13 </span>            <span class="Statement">echo</span><span class="Constant"> </span><span class="Statement">&quot;</span><span class="Constant">LCD</span><span class="Statement">&quot;</span>
<span class="lnr">14 </span>            xrandr --output VGA --off
<span class="lnr">15 </span>            xrandr --output LVDS --auto
<span class="lnr">16 </span>    <span class="Statement">elif</span> <span class="Statement">[</span> <span class="Statement">&quot;</span><span class="PreProc">$ans</span><span class="Statement">&quot;</span> <span class="Statement">=</span> <span class="Statement">&quot;</span><span class="Constant">VGA</span><span class="Statement">&quot;</span> <span class="Statement">]</span>
<span class="lnr">17 </span>    <span class="Statement">then</span>
<span class="lnr">18 </span>            <span class="Statement">echo</span><span class="Constant"> </span><span class="Statement">&quot;</span><span class="Constant">VGA</span><span class="Statement">&quot;</span>
<span class="lnr">19 </span>            xrandr --output LVDS --off
<span class="lnr">20 </span>            xrandr --output VGA --auto
<span class="lnr">21 </span>    <span class="Statement">elif</span> <span class="Statement">[</span> <span class="Statement">&quot;</span><span class="PreProc">$ans</span><span class="Statement">&quot;</span> <span class="Statement">=</span> <span class="Statement">&quot;</span><span class="Constant">Both</span><span class="Statement">&quot;</span> <span class="Statement">]</span>
<span class="lnr">22 </span>    <span class="Statement">then</span>
<span class="lnr">23 </span>            <span class="Statement">echo</span><span class="Constant"> </span><span class="Statement">&quot;</span><span class="Constant">Both</span><span class="Statement">&quot;</span>
<span class="lnr">24 </span>            xrandr --output VGA --mode 1024x768
<span class="lnr">25 </span>            xrandr --output LVDS --auto
<span class="lnr">26 </span>    <span class="Statement">fi</span>
</pre>
</p>
</div>
</p>

<p>
  Adjust the mode parameter in the "Both"-case to match your screen size.
</p>]]>
</description>
</item>
</channel>
</rss>

