<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:html="http://www.w3.org/1999/html" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Ross Burton</title><link>http://www.burtonini.com/blog</link><description>A potted account of Ross' life</description><language>en</language><ttl>60</ttl><dc:creator>Ross Burton</dc:creator><admin:generatorAgent rdf:resource="http://pyblosxom.sourceforge.net/"/><admin:errorReportsTo rdf:resource="mailto:ross@burtonini.com"/><item><title>Tasks 0.2</title><guid isPermaLink="false">computers/tasks-2007-02-28-18-20</guid><link>http://www.burtonini.com/blog/computers/tasks-2007-02-28-18-20</link><description>Tasks 0.2 is ready to roll. Tasks is a simple To Do manager, using GTK+ and libecal (part of Evolution ...</description><content:encoded><![CDATA[    <p>
      <a href="http://projects.o-hand.com/tasks">Tasks 0.2</a> is ready to roll.
      Tasks is a simple To Do manager, using GTK+ and libecal (part of Evolution
      Data Server).  No great new features over 0.1, but several bug fixes.  Now
      that I've been putting off categories by fixing up code, I'll have to
      them.
    </p>
    <p>
      <img src="http://burtonini.com/computing/screenshots/tasks-0.2.png" alt="Tasks"/>
    </p>
    <ul>
      <li>Sort tasks based on the locale</li>
      <li>Persist window size</li>
      <li>Allow GTK+ themes to change the task colours</li>
      <li>Move the cursor to new tasks</li>
      <li>Remove the None priority from the interface</li>
      <li>Add a frame around the date popup (thanks Luca)</li>
      <li>Don't close the date popup when the month is changed (thanks Kris)</li>
      <li>Pop down the combo when the button is pressed (thanks Kris)</li>
      <li>Add a faded label to the entry explaining what it is for</li>
      <li>Fix memory leaks</li>
    </ul>
    <p>
      For 0.3 I invite a dedicated member of gnome-i18n to be the first person
      to send a patch to i18n the source and provide a translation.  Fame and
      glory can be yours!
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-28T18:20:00Z</dc:date></item><item><title>Help Interweb!</title><guid isPermaLink="false">computers/input-2007-02-28-11-50</guid><link>http://www.burtonini.com/blog/computers/input-2007-02-28-11-50</link><description>I've upgraded my Ubuntu laptop to Feisty, and now when I press Control-Left or Control-Right instead of moving to the ...</description><content:encoded><![CDATA[    <p>
      I've upgraded my Ubuntu laptop to Feisty, and now when I press
      Control-Left or Control-Right instead of moving to the next/previous word
      (as it did in Edgy and as far as I recall Sarge too) I just get
      <tt>;5D</tt> and <tt>;5C</tt>.  Does anyone know how to fix that?
    </p>

    <p>
      <small>NP: <cite>Storn</cite>, Heather Nova</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-28T11:50:00Z</dc:date></item><item><title>Why I Love DVCS</title><guid isPermaLink="false">computers/tasks-2007-02-28-10-30</guid><link>http://www.burtonini.com/blog/computers/tasks-2007-02-28-10-30</link><description>Over the last four days I've had patchy Internet connectivity but I've been hacking on Tasks a bit in the ...</description><content:encoded><![CDATA[    <p>
      Over the last four days I've had patchy Internet connectivity but I've
      been hacking on Tasks a bit in the evening and on flights.  The result:
    </p>
    <pre>$ svn diff | diffstat
 README                        |   33 +++++++++++++++++++++++++++
 src/Makefile.am               |    1 
 src/koto-group-filter-model.c |    4 +++
 src/koto-task-editor-dialog.c |   40 +++++++++++++++++---------------
 src/koto-task-editor-dialog.h |    5 +---
 src/koto-task-editor.c        |   47 +++++++++++++++++++++++---------------
 src/koto-task-store.c         |   37 ++++++++++++++++++++++++------
 src/koto-task-store.h         |    3 ++
 src/koto-task-view.c          |   45 ++++++++++++++++++++++++++++++++-----
 src/koto-task.c               |   51 ++++++++++++++++++++++++++++++++++++++++++
 src/koto-task.h               |   26 +++++++++++++++++++++
 src/test.c                    |   48 ++++++++++++++++++++++++++++++++++-----
 12 files changed, 281 insertions(+), 59 deletions(-)</pre>
    <p>
      Now I wish I had the foresight to clone the Tasks repository into a Bazaar
      branch so that I could commit as I went, and then merge it all back when I
      got home.  But no, I have several bug fixes and new features in this
      mega-diff, and I'm too anal to commit it in a single go.  Expect a Tasks
      0.2 soon!
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-28T10:30:00Z</dc:date></item><item><title>Lack of Tasks/Evolution Synergy</title><guid isPermaLink="false">computers/tasks-2007-02-25-11-15</guid><link>http://www.burtonini.com/blog/computers/tasks-2007-02-25-11-15</link><description>I'd noticed back when Dates was started the libecal was failing to notify Dates when events in Evolution changed, and ...</description><content:encoded><![CDATA[    <p>
      I'd noticed back when <a href="http://projects.o-hand.com/dates">Dates</a>
      was started the <tt>libecal</tt> was failing to notify Dates when events
      in Evolution changed, and vice versa.  This was magically fixed when Dates
      moved over to <tt>ESource</tt>, so I didn't continue investigating it.
    </p>
    <p>
      However, Tasks doesn't use <tt>ESource</tt> yet and people had noticed
      that if you add items to Tasks, they don't appear in Evolution or the
      panel.  This is a major problem, so I build EDS and debugged the problem.
      Turns out that the system tasks store is at
      <tt>~/.evolution/tasks/local/system/</tt> but when using <tt>ESource</tt>
      it is at <tt>~/.evolution/tasks/local/system</tt> (note the lack of a
      slash) and as backends are looked up using literal string comparisons,
      these don't get the same backend so you don't get change notifications,
      and even worse modifying the task list with one application will overwrite
      the other's changes.
    </p>
    <p>
      Luckily <a href="http://bugzilla.gnome.org/show_bug.cgi?id=333507">the fix
      was trivial</a>, and I hope that it gets reviewed
      soon. <strong>Update:</strong> committed!
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-25T11:15:00Z</dc:date></item><item><title>Tasks 0.1</title><guid isPermaLink="false">computers/tasks-2007-02-23-11-38</guid><link>http://www.burtonini.com/blog/computers/tasks-2007-02-23-11-38</link><description>I've just tagged and rolled a Tasks 0.1 tarball. Tasks is a simple To Do manager, using GTK+ and libecal ...</description><content:encoded><![CDATA[    <p>
      I've just tagged and rolled a Tasks 0.1 tarball.  Tasks is a simple To Do
      manager, using GTK+ and libecal (part of Evolution Data Server).  It isn't
      very featureful at the moment, but it's progressing nicely: I'm using it
      already.
    </p>
    <p>
      <img src="http://burtonini.com/computing/screenshots/tasks.png" alt="Tasks"/>
    </p>
    <p>
      I'll be adding this to the <a href="http://projects.o-hand.com">OpenedHand
      Projects</a> site shortly, but for now <a
      href="http://burtonini.com/computing/tasks-0.1.tar.gz">here is a
      tarball</a>.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-23T11:38:00Z</dc:date></item><item><title>Hero Worship</title><guid isPermaLink="false">computers/panel-2007-02-21-20-00</guid><link>http://www.burtonini.com/blog/computers/panel-2007-02-21-20-00</link><description>Ryan Lortie Is My Hero . I expect to see a presentation at GUADEC explaining the new panel code and ...</description><content:encoded><![CDATA[    <p>
      <a href="http://desrt.mcmaster.ca/random/trayicon.png">Ryan Lortie Is My
      Hero</a>. I expect to see a presentation at GUADEC explaining the new
      panel code and how it's being integrated into G2.20, Ryan. :)
    </p>]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-21T20:00:00Z</dc:date></item><item><title>ICC Profiles In X Specification 0.2</title><guid isPermaLink="false">computers/xicc/xicc-2007-02-21-10-15</guid><link>http://www.burtonini.com/blog/computers/xicc/xicc-2007-02-21-10-15</link><description>About 18 months after the 0.1 release of this specification comes 0.2. This is a very simple update and now ...</description><content:encoded><![CDATA[    <p>
      About 18 months after the 0.1 release of this specification comes 0.2.
      This is a very simple update and now specifies how to handle
      Xinerama-style setups where a single root window has multiple physical
      screens (thanks to Kai-Uwe Behrmann).
    </p>
    <p>
      ICC Profiles In X, version 0.2, can be <a
        href="http://burtonini.com/computing/x-icc-profiles-spec-0.2.html">downloaded
        here</a>.
    </p>
    
    <p>
      <small>NP: <cite>Takk</cite>, Sigur R&oacute;s</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/xicc</category><dc:date>2007-02-21T10:15:00Z</dc:date></item><item><title>Icon Request...</title><guid isPermaLink="false">computers/tasks-icon-2007-02-20-18-30</guid><link>http://www.burtonini.com/blog/computers/tasks-icon-2007-02-20-18-30</link><description>I'm just finishing off a 0.1 release of Tasks , a minimal To Do application for GNOME (yes, it's another ...</description><content:encoded><![CDATA[    <p>
      I'm just finishing off a 0.1 release of <cite>Tasks</cite>, a minimal To
      Do application for GNOME (yes, it's another EDS frontend).  However, I
      don't have a rocking icon and can't seem to find one in the GNOME or Tango
      icon theme.  Does anyone know of a cool icon I could use, or does anyone
      out there fancy flexing their drawing muscles and knocking up a quick
      icon?
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-20T18:30:00Z</dc:date></item><item><title>Multitouch and GNOME</title><guid isPermaLink="false">computers/multitouch-2007-02-14-09-44</guid><link>http://www.burtonini.com/blog/computers/multitouch-2007-02-14-09-44</link><description>The multitouch system legend Jeff Han released another demo recently, which I saw on MacRumours . As usual it's a ...</description><content:encoded><![CDATA[    <p>
      The multitouch system legend Jeff Han released another demo recently,
      which I <a
      href="http://www.macrumors.com/2007/02/12/more-multitouch-from-jeff-han/">saw
      on MacRumours</a>.  As usual it's a combination the usual gestures to move
      around a map and dragging objects around with basic physics, but then I
      was surprised to see a RHEL desktop appear.  Watch the demo and look out
      for the morphing demo near the end.
    </p>
    <p>
      Chances are this is using <a
      href="http://wearables.unisa.edu.au/mpx/">MPX</a>, which is being
      integrated into XInput 2 as we speak.
    </p>
    <p>
      <small>NP: <cite>Dreaming Wide Awake</cite>, Lizz Wright</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-14T09:44:00Z</dc:date></item><item><title>GUADEC 2007 Call For Papers</title><guid isPermaLink="false">computers/guadec-2007-02-12-18-05</guid><link>http://www.burtonini.com/blog/computers/guadec-2007-02-12-18-05</link><description>The GNOME Users and Developers European Conference (GUADEC) invite you to participate in the 8th annual conference on the 15-21st ...</description><content:encoded><![CDATA[    <p>
      The GNOME Users and Developers European Conference (GUADEC) invite you
      to participate in the 8th annual conference on the 15-21st July 2007 in
      Birmingham, England.
    </p>
    <p>
      The deadline for proposals is Monday 12th March. Successful candidates
      will be selected and notified by the GUADEC organising committee.
      Unsuccessful candidates will still have an opportunity for their session
      to be scheduled during the Approach Weekend or After Hours.
    </p>
    <p>
      For more information, and to submit a proposal, please go to <a
      href="http://www.guadec.org/callforpapers">http://www.guadec.org/callforpapers</a>.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-12T18:05:00Z</dc:date></item><item><title>Postr 0.5</title><guid isPermaLink="false">computers/postr/postr-2007-02-09-17-30</guid><link>http://www.burtonini.com/blog/computers/postr/postr-2007-02-09-17-30</link><description>Postr 0.5 is out. This has a few fixes: Catch errors throw by EXIF or IPTC parsing New flickrpc (cleaner ...</description><content:encoded><![CDATA[    <p>
      Postr 0.5 is out.  This has a few fixes:
    </p>
    <ul>
      <li>Catch errors throw by EXIF or IPTC parsing</li>
      <li>New flickrpc (cleaner code, works with Python 2.5)</li>
    </ul>
    <p>
      You can follow the development in the <a
        href="http://burtonini.com/bzr/postr/postr.dev">Bazaar branch</a>, or get
      the <a href="http://burtonini.com/computing/postr-0.5.tar.gz">Postr 0.5
        tarball</a>.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/postr</category><dc:date>2007-02-09T17:30:00Z</dc:date></item><item><title>Xrandr, postscript</title><guid isPermaLink="false">computers/randr-2007-02-09-17-10</guid><link>http://www.burtonini.com/blog/computers/randr-2007-02-09-17-10</link><description>If anyone out there has been using my Edgy packages for the new Xrandr love, then you'll notice that I've ...</description><content:encoded><![CDATA[    <p>
      If anyone out there has been using my Edgy packages for the new Xrandr
      love, then you'll notice that I've just deleted them...
    </p>
    <p>
      Daniel Stone, X hacker extraordinaire, has built updated packages.  As he
      can actually use git I trust them more than I trust my own.  They may blow
      up your machine and so on, but they are available here:
    </p>
    <pre>deb http://www.fooishbar.org/packages/ randr-1.2/edgy/$(ARCH)/</pre>
    <p>
      He also kindly built AMD64 debs, something that I cannot do.
    </p>]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-09T17:10:00Z</dc:date></item><item><title>GUADEC 2007 Pre-Call for Papers</title><guid isPermaLink="false">computers/guadec-2007-02-09-14-00</guid><link>http://www.burtonini.com/blog/computers/guadec-2007-02-09-14-00</link><description>I plan on announcing the GUADEC 2007 Call for Papers in the next day or so, so I want everyone ...</description><content:encoded><![CDATA[    <p>
      I plan on announcing the GUADEC 2007 Call for Papers in the next day or
      so, so I want everyone to put their thinking caps on and consider giving a
      talk this summer.  There are several topics I'd like to see a good set of
      talks on:
    </p>

    <ul>
      <li>
        <strong>10x10</strong>.  How are we doing on the 10x10 plan: this
        includes feedback from <a href="http://davelargo.blogspot.com/">people
          who have done large deployments</a>, to people working on <a
          href="http://primates.ximian.com/~federico/news.html">making GNOME
          work in the enterprise</a>, and people <a
          href="http://maemo.org/">putting GNOME</a>
        in <a href="http://gpephone.linuxtogo.org/">embedded devices</a>.
      </li>

      <li>
        <strong>Integration</strong>.  GNOME needs tighter integration within
        itself, be this <a href="http://www.galago-project.org/">showing
          presence in relevant applications</a>, <a
          href="http://telepathy.freedesktop.org/wiki/">integrating chat/voip
          into the desktop</a>, and tighter integration between applications.
          Do you have a cool application that <a
          href="http://code.google.com/p/avant-window-navigator/">makes GNOME
          easier to use</a>, or something that <a
          href="http://beatnik.infogami.com/Gimmie">integrates applications,
          documents, and people</a> into a cohesive whole?
      </li>

      <li>
        <strong>Future</strong>.  Lots of new code is being written, do you have
        anything interesting?  A replacement for gnome-vfs, progress on Project
        Ridley, a new implementation of something fundamental like the panel?
      </li>
    </ul>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-09T14:00:00Z</dc:date></item><item><title>Devil's Pie in Linux Format</title><guid isPermaLink="false">computers/devilspie/pimping-2007-02-08-16-50</guid><link>http://www.burtonini.com/blog/computers/devilspie/pimping-2007-02-08-16-50</link><description>Jeff Waugh talks about Devil's Pie in his interview with Linux Format (issue 87) . However, there's this really cool ...</description><content:encoded><![CDATA[    <p>
      Jeff Waugh talks about Devil's Pie in his <a
      href="http://linuxformat.co.uk/waugh.html">interview with Linux Format
      (issue 87)</a>.
    </p>
    <blockquote><p>
        However, there's this really cool thing called Devil's Pie, which is an
        extra little thing you run. It just plugs in and you can completely
        script the way Metacity works, using Lisp. Much in the same way you
        could with Sawfish, except for being a plugin and being directly focused
        on scripting the window manager. You can do amazing stuff. The work on
        that has actually been sponsored by Pixar.
      </p></blockquote>
    <p>
      Thanks Jeff! Any more of this and people will start thinking I'm paying
      you...
    </p>

    <p>
      <small>NP: <cite>Flight 602</cite>, Aim</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/devilspie</category><dc:date>2007-02-08T16:50:00Z</dc:date></item><item><title>Asynchronous Flickr Library, version 0.2</title><guid isPermaLink="false">computers/postr/flickrpc-2007-02-07-11-10</guid><link>http://www.burtonini.com/blog/computers/postr/flickrpc-2007-02-07-11-10</link><description>Flickrpc 0.2 is released. This has several improvements: Re-license to LGPL Don't use an intermediate deferred, instead chain them (thanks ...</description><content:encoded><![CDATA[    <p>
      Flickrpc 0.2 is released.  This has several improvements:
    </p>
    <ul>
      <li>Re-license to LGPL</li>
      <li>Don't use an intermediate deferred, instead chain them (thanks Andrew Bennetts)</li>
      <li>Clean up errback handlers (thanks Andrew Bennetts)</li>
      <li>Try to import xml.etree for Python 2.5</li>
    </ul>
    <p>
      Basically no new features but it now works on Python 2.5 without an
      external ElementTree, the code is cleaner, and it's LGPL instead of GPL.
      Grab a <a
      href="http://burtonini.com/computing/flickrpc-0.2.tar.gz">tarball here</a>
      or the <a href="http://burtonini.com/bzr/flickrpc">bzr tree here</a>.
    </p>
    <p>
      <small>NP: <cite>The Good, The Bad, And The Queen</cite></small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/postr</category><dc:date>2007-02-07T11:10:00Z</dc:date></item><item><title>Xrandr 1.2</title><guid isPermaLink="false">computers/randr-2007-02-06-17-50</guid><link>http://www.burtonini.com/blog/computers/randr-2007-02-06-17-50</link><description>Since I got my 20&quot; widescreen monitor in the summer, I discovered how bad X's support for resizing displays is. ...</description><content:encoded><![CDATA[    <p>
      Since I got my 20" widescreen monitor in the summer, I discovered how bad
      X's support for resizing displays is.  I wanted to have the ability to
      plug my laptop into the 20" display in the office and expand the desktop
      to 1680x1050, or remove the 20" display and shrink the desktop back down
      to the native resolution of 1024x768.  It turns out that a number of
      factors were stopping this, and the only way to do it would have been to
      restart X.  Because of this I ended up using the display at 1024x768 when
      I did use it, but mostly I stayed on the sofa.
    </p>
    <p>
      Then I heard about <tt>xrandr</tt> 1.2, the all-singing all-dancing
      revision of the X Resize and Rotate extension.  Basically, it would solve
      my problem, and as luck would have it my laptop has an Intel chipset and
      the people hacking on it work at Intel.  Yesterday after lots of poking I
      finally made it all work for this.  This involved a lot of poking and a
      little black magic.
    </p>
    <p>
      The first step is getting an X server new enough.  First, you'll need to
      update some X protocol headers.  We'll start with the easy ones that have
      had releases (grab the latest release you can find):
    </p>
    <ul>
      <li>xproto</li>
      <li>glproto</li>
      <li>inputproto</li>
    </ul>
    <p>
      Then you'll need to update various other bits of X:
    </p>
    <ul>
      <li>libXi</li>
      <li>libdrm</li>
    </ul>
    <p>
      Once this is done and X still works, it's time to brave the perilous world
      of git. If you've never used git before, it's quite simple for this.  Go
      to <a href="http://gitweb.freedesktop.org/">the git browser</a> and find
      the module you want to check out.  Click on it, and you'll see two URLs:
      you want the <tt>anongit</tt> one.  Do <tt>git clone [url]</tt>, and then
      if I've specified a branch other than master, <tt>cd</tt> into the
      directory and do <tt>git checkout [branch]</tt>.  For example:
    </p>
    <pre>git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel
cd xf86-video-intel
git checkout modesetting</pre>
    <p>
      You'll need to grab:
    </p>
    <ul>
      <li>xorg/proto/x11proto</li>
      <li>xorg/proto/randrproto</li>
      <li>xorg/lib/libXrandr</li>
      <li>xorg/app/xrandr</li>
      <li>xorg/xserver (randr-1.2-for-server-1.2)</li>
      <li>xorg/driver/xf86-video-intel (modesetting)</li>
    </ul>
    <p>
      Build it all in that order.  The order is important as if you build the
      Intel driver against randr 1.0 instead of 1.2, it won't do what you want.
      By now you should have an X that looks no different.  But...
    </p>
    <pre>$ xrandr
Screen 0: minimum 320 x 240, current 1024 x 768, maximum 1680 x 1050
VGA disconnected 0mm x 0mm
LVDS connected 1024x768+0+0 246mm x 185mm
   1024x768       50.0 +   60.0*    40.0  
   800x600        60.3  
   640x480        60.0     59.9  
TV disconnected 0mm x 0mm</pre>
    <p>
      Now that is clever.  Here you can see that I don't have anything connected
      via VGA, my LVDS (no idea what this stands for, but it means the laptop's
      panel) has a preferred mode of 1024x768 (thats what the * means), and I
      have nothing connected to the TV output (because Lenovo didn't wire it
      up). Now if I plug something into the VGA and run <tt>xrandr -s 0</tt>
      (select default screen size), the external display should power on.
      Xrandr doesn't try to be too clever, it will leave that to desktop
      daemons, but by default it will try and make something appear on all of
      the connected displays.  In this case, my 20" TFT gets a clone of my
      laptop panel, at 1024x768.
    </p>
    <p>
      That is no good though, I want to turn off the laptop panel (as I'll be
      shutting the laptop) and switch the external display to 1680x1050.  This
      is where the black magic starts...  Currently the Intel driver cannot
      resize the physical framebuffer in memory after X has started, so it
      defaults to a framebuffer of 1200x1024 (IIRC).  That isn't big enough to
      hold 1680x1050.  Also the Intel driver doesn't detect any modes from the
      TFT.  This may be Dell being stupid, or the EDID parser in the driver
      being too restrictive, I don't know.  Luckily we can still use modelines
      in <tt>xorg.conf</tt> so I added this:
    </p>
    <pre>Section "Monitor"
        Identifier "Dell TFT"
        # This is a standard modeline for 1680x1050 at 60Hz
        Modeline "1680x1050" 149.00  1680 1760 1944 2280  1050 1050 1052 1089
EndSection
        
Section "Screen"
        Identifier      "Screen"
        Device          "Intel"
        Monitor         "Monitor"
        # This says that when using a monitor on the output called VGA, use the
        # settings in the monitor "Dell TFT"
        Option "monitor-VGA" "Dell TFT"
        DefaultDepth    24
        SubSection "Display"
                Depth 24
                # This tells the screen to allocate a frame buffer up to
                # 1680x1050.
                Virtual 1680 1050
        EndSubSection
EndSection</pre>
    <p>
      With this, everything just works.  If I <tt>xrandr</tt> with various
      displays plugged in I can see what they support and can switch modes.  To
      make everything nice and easy I wrote a small script that I bound to an
      unused function key:
    </p>
<pre>if xrandr -q | grep -q  "VGA connected"; then
  xrandr --output LVDS --off --output VGA --mode 1680x1050
else
  xrandr --output VGA --off --output LVDS --mode 1024x768
fi</pre>
    <p>
      (thanks to Eric for pointing out that I don't need to use the hex values).
      Simple!  As you can see the new xrandr is <em>very</em> powerful.  If you
      want to do Xinerama-style dual screen you can do that too: xrandr 1.2
      encompasses that behaviour.
    </p>
    <p>
      The final thing to point out is how glad I am that GNOME seems to handle
      the screen resizing like this so nicely already.  When the desktop shrinks
      Metacity moves windows so they are visible, and when the desktop expands
      the panel applets on the right stay on the right instead of sitting in the
      middle.  The script I run when I change screens does more than I pasted
      here: it changes the wallpaper to match the aspect ratio, and also changes
      the fonts.
    </p>
    <p>
      I hope this has made sense, I know there are a few people out there who
      were waiting for me to test this before they gave it a go.  If anything is
      too vague, leave a comment and I'll expand it.  I should also mention that
      I've got Ubuntu Edgy packages for everything here in <a
      href="http://burtonini.com/debian/">my repository</a>.
    </p>
    <p>
      <small>NP: <cite>Animal Magic</cite>, Bonobo</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-06T17:50:00Z</dc:date></item><item><title>Edgy Eft packages for Contacts and Dates</title><guid isPermaLink="false">computers/edgy-2007-02-02-16-50</guid><link>http://www.burtonini.com/blog/computers/edgy-2007-02-02-16-50</link><description>After gentle pestering asking from Bryan Forbes, I build packages for Contacts and Dates for Ubunty Edgy Eft. They are ...</description><content:encoded><![CDATA[    <p>
      After <strike>gentle pestering</strike> asking from Bryan Forbes, I build packages for Contacts
      and Dates for Ubunty Edgy Eft.  They are available in the usual place, <a
      href="http://debian.o-hand.com">debian.o-hand.com</a>.
    </p>
    <p>
      It also looks like Chris still has a 770 scratcbox to hand, so we might
      even have 770 packages soon too!
    </p>

    <p>
      <small>NP: <cite>9</cite>, Damien Rice</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-02T16:50:00Z</dc:date></item><item><title>Dates 0.3</title><guid isPermaLink="false">computers/dates-2007-02-02-14-26</guid><link>http://www.burtonini.com/blog/computers/dates-2007-02-02-14-26</link><description>Following up the Contacts release earlier, I just rolled Dates 0.3 . This mainly has a simple fix that means ...</description><content:encoded><![CDATA[    <p>
      Following up the Contacts release earlier, I just rolled <a
      href="http://projects.o-hand.com/dates">Dates 0.3</a>.  This mainly has a
      simple fix that means on the first start it enables a calendar, so you can
      do something useful with it.
    </p>
    <p>
      Again, N800 packages are already online, and I'm rolling packages for
      Debian now.  770 packages will be available when I've found a
      770-compatible scratchbox!
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-02T14:26:00Z</dc:date></item><item><title>Contacts 0.3</title><guid isPermaLink="false">computers/contacts-2007-02-02-10-40</guid><link>http://www.burtonini.com/blog/computers/contacts-2007-02-02-10-40</link><description>I've just released Contacts 0.3 . This release doesn't have a lot of visible features, but the use of Glade ...</description><content:encoded><![CDATA[    <p>
      I've just released <a href="http://projects.o-hand.com/contacts">Contacts
      0.3</a>.  This release doesn't have a lot of visible features, but the use
      of Glade was removed and we have more translations.
    </p>
    <p>
      More importantly, it's also available for the Nokia N800!  Grab your
      Application Catalogue installation lines from <a
      href="http://maemo.o-hand.com/">maemo.o-hand.com</a> and install Dates and
      Contacts on your N800 today!  Contacts doesn't yet have a Maemo port so it
      isn't totally integrated, but as both Contacts and the N800 addressbook
      use evolution-data-server, your contacts are shared.
    </p>

    <p>
      <small>NP: <cite>Skalpel</cite>, Skalpel</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2007-02-02T10:40:00Z</dc:date></item></channel></rss>