Hi all! I've written a bash script to switch between hi and low power consumption with just one click on the tray icon. I recently added support to a third mode that enables a second monitor when it is connected, altough I had to comment some lines because my graphics card has no low-power mode for dual-head. The script is quite specific for my setup, it requires ksystraycmd and xrandr 1.2, it enables compiz fusion on startup if connected to AC and assumes your screen resolution is 1280x800.

Code:
#!/bin/bash
# Cambia el estado de energia de la tarjeta grafica para reducir el consumo

# Al principio no tiene parametros, esto es lo que ejecuta para inicializarse:
if [ $# = 0 ]; then

  # Dependiendo de si estamos conectados a una fuente de alimentacion AC o funcionamos
  # con baterias ponemos el modo de energía y activamos o no fusion
  if   cat /proc/acpi/ac_adapter/ACAD/state | grep on >/dev/null 2>/dev/null; then
    echo 'Cambiando a maximo rendimiento'
    POWER=3
    FUSION="-f"
  else
    echo 'Cambiando a bajo consumo'
    POWER=1
    FUSION="-n"
  fi
  sudo /usr/bin/aticonfig --set-powerstate=$POWER
  /home/cfu22/sistema/bin/fusion-icon $FUSION &

  # Comprueba si tenemos doble monitor y si hay que cambiar la configuracion
  if  sudo /usr/bin/aticonfig --query-monitor | grep Connected | grep crt1 >/dev/null 2>/dev/null; then
    DOUBLE=2
    POWER=3 # El modo doble monitor no soporta ahorro de energia
    if  sudo /usr/bin/aticonfig --query-monitor | grep Enabled | grep crt1 >/dev/null 2>/dev/null; then
      echo 'El segundo monitor ya esta habilitado'
    else
      echo 'habilitando el segundo monitor'
      xrandr -s 1280x800
      sudo /usr/bin/aticonfig --enable-monitor="lvds,crt1"
      xrandr -s 2560x800
    fi
  else
    DOUBLE=1
    echo 'Optimizando la resolucion'
    xrandr -s 1280x800
  fi

else
# Estamos cambiando el modo con el icono de la bandeja

  if [ $1 = "--switch" ]; then

  # Comprueba si tenemos doble monitor y si hay que cambiar la configuracion
  if  sudo /usr/bin/aticonfig --query-monitor | grep Connected | grep crt1 >/dev/null 2>/dev/null; then

    if  sudo /usr/bin/aticonfig --lsp | grep \* | grep default >/dev/null 2>/dev/null; then
      echo 'Cambiando a bajo consumo'
      # POWER=1
      if  sudo /usr/bin/aticonfig --query-monitor | grep Enabled | grep crt1 >/dev/null 2>/dev/null; then
        xrandr -s 1280x800
        sudo aticonfig --enable-monitor="lvds"
        DOUBLE=1
        POWER=1
      else
        xrandr -s 1280x800
        sudo aticonfig --enable-monitor="lvds,crt1"
        xrandr -s 2560x800
        DOUBLE=2
        POWER=3
      fi
    else
      echo 'Cambiando a maximo rendimiento'
      POWER=3
      if  sudo /usr/bin/aticonfig --query-monitor | grep Enabled | grep crt1 >/dev/null 2>/dev/null; then
        DOUBLE=2
      else
        DOUBLE=1
      fi
    fi

  else

    DOUBLE=1
    if  sudo /usr/bin/aticonfig --lsp | grep \* | grep default >/dev/null 2>/dev/null; then
      echo 'Cambiando a bajo consumo'
      POWER=1
    else
      echo 'Cambiando a maximo rendimiento'
      POWER=3
    fi
  fi
  sudo /usr/bin/aticonfig --set-powerstate=$POWER
  fi
fi

if [ $POWER = 3 ]; then
   ICON=/home/cfu22/sistema/share/icons/atihigh$DOUBLE.svg
else
   ICON=/home/cfu22/sistema/share/icons/atilow$DOUBLE.svg
fi

/usr/bin/ksystraycmd --hidden --startonshow --ownicon --icon=$ICON '/home/cfu22/sistema/bin/traysensor' '--switch' & exit
You may have to change several paths to use it and donwload this icons :

http://www.megaupload.com/?d=86IXI23F

I know this is kinda dirty, but I thought it might be useful for somebody. I plan on doing a serious app with more options when I have some time.