diff --git a/.Setup.hs.swp b/.Setup.hs.swp
deleted file mode 100644
Binary files a/.Setup.hs.swp and /dev/null differ
diff --git a/.backdropper.cabal.swp b/.backdropper.cabal.swp
deleted file mode 100644
Binary files a/.backdropper.cabal.swp and /dev/null differ
diff --git a/README b/README
--- a/README
+++ b/README
@@ -28,13 +28,19 @@
 --------------------------------------------------------------------------------
 -- Quick install guide --
 
-1 - Download qiv from http://www.klografx.net/qiv/ and install it.
+1 - Download Imagemagick.  You need "display".
 
+1.5 - Edit src/Rotating_backdrop_logic.hs to add the values you want to 
+    getPossition = "-1280-0"
+    getResize = "1680>x1050<"
+These are for my dual display, yours may vary.  Yes, those should be parameters 
+and will be in the next version.  Patches welcome ;>
+
 2 - Create a file (~/.backdropper.list) which contains an image (with full
 path) per line. See sample_wallpaper_list for an example of how it should
 look like.
 
-3 - Run "runhaskell Setup.hs configure".
+3 - Run "runhaskell Setup.hs configure --user".
 
 4 - Run "runhaskell Setup.hs build".
 
@@ -46,7 +52,12 @@
 
 8 - Run "backdropper_consol --config=$HOME/.backdropper.list --delay=900".
 
+runhaskell Setup.hs configure --user --prefix=$HOME
+runhaskell Setup.hs build
+runhaskell Setup.hs haddock
+runhaskell Setup.hs install
 
+runhaskell Setup.hs configure --user --prefix=$HOME && runhaskell Setup.hs build && runhaskell Setup.hs install
 
 --------------------------------------------------------------------------------
 -- Future versions -- 
@@ -60,6 +71,10 @@
 --------------------------------------------------------------------------------
 -- Version release notes --
 
+v1.2 --
+  * Added Don Stewart's patch to look up looking up the user's home
+    directly and to make the tool build with ghc 6.6.
+
 v1.1 -- Thu Jun 19 2008 Second release for Hackage.
   * Added hshaskell logging instead of normal IO (). 
   * Added comments so that haddock works.
@@ -74,6 +89,9 @@
 --------------------------------------------------------------------------------
 -- Notes --
 
+Special thanks to Don Stewart for the first bug report and patch!
+
 Special thanks to the haskell-cafe list, in particular to Ketil Malde,
 Derek Elkins, Spencer Janssen, Bulat Ziganshin, Ryan Ingram and Lauri
 Alanko.
+
diff --git a/backdropper.cabal b/backdropper.cabal
--- a/backdropper.cabal
+++ b/backdropper.cabal
@@ -1,19 +1,33 @@
 Name:            backdropper
-Version:         1.1
-Cabal-Version:   >= 1.2
+Version:         1.2
 License:         GPL
 license-file:    LICENSE
 copyright:       (c) 2008, Yann Golanski.
 Author:          Yann Golanski <yann@kierun.org>
 maintainer:      yann@kierun.org
-Synopsis:        Rotates backdrops for X11 displays using qiv.
+Synopsis:        Rotates backdrops for X11 displays using Imagemagic.
+Description:     Rotates backdrops for X11 displays using Imagemagic.
 Build-Type:      Simple
+Cabal-Version:   >= 1.2
 
+flag small_base
+  description: Choose the new smaller, split-up base package.
+
 Library
   Exposed-Modules: Rotating_backdrop_logic
   hs-source-dirs:  ./src
 
 Executable backdropper_consol
   Main-Is:         backdropper_consol.hs
-  build-depends:   old-time, base, process, random, Cabal, haskell98, hslogger
+
+  if flag(small_base)
+        build-depends: base >= 2 && < 4,
+                       old-time,
+                       directory,
+                       process,
+                       random,
+                       haskell98
+  else
+        build-depends: base >= 2 && < 4
+  build-depends:       hslogger
   hs-source-dirs:  ./src
diff --git a/src/Rotating_backdrop_logic.hs b/src/Rotating_backdrop_logic.hs
--- a/src/Rotating_backdrop_logic.hs
+++ b/src/Rotating_backdrop_logic.hs
@@ -23,7 +23,7 @@
 --  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 --
 module Rotating_backdrop_logic where
-import Distribution.Simple.Utils
+
 import Control.Monad
 import System.Random
 import System.Process
@@ -35,6 +35,13 @@
 import System.Log.Handler.Syslog
 import Logger_logic
 
+----- EDIT THESE VALUES TO FIT WHAT YOU WANTED --------------------------------
+getPossition = "-1280-0"
+getResize = "1680>x1050<"
+---------------- STOP EDITING HERE --------------------------------------------
+--
+--
+--
 {------------------------------------------------------------------------------}
 --main = onlyOnce "/home/yann/.rotate_wallpaper_list"
 --main = doManyTimes "/home/yann/.rotate_wallpaper_list" 5
@@ -100,9 +107,7 @@
 -- | Reads a file and return a list those elements are lines.
 parseImageFile :: FilePath -- ^ The path/name to a configuration file.
                 -> IO [String] -- ^ A list those elements are lines.
-parseImageFile f = do inpStr <- readFile f
-                      return $ filter (/="") (breaks (=='\n') inpStr)
-
+parseImageFile f = do { s <- readFile f ; return $ lines s }
 
 {------------------------------------------------------------------------------}
 -- | Gets a random number.
@@ -126,7 +131,18 @@
 -- | Changes the desktop image using qiv: http://www.klografx.net/qiv/index2.html
 changeDesktop :: String -- ^ The path to an image.
               -> IO ExitCode -- ^ An exit code from the shell running qiv.
-changeDesktop img = do ph <- runProcess "/usr/local/bin/qiv" ["-x", "-t", img] Nothing Nothing Nothing Nothing Nothing
+-- changeDesktop img = do ph <- runProcess "/usr/bin/qiv" ["-x", "-t", img] Nothing Nothing Nothing Nothing Nothing
+--changeDesktop img = do ph <- runProcess "display" ["-window", "root", "-geometry", "-1280-0", "-resize", "1680>x1050<", img] Nothing Nothing Nothing Nothing Nothing
+changeDesktop img = do ph <- runProcess "display" ["-window", "root", "-geometry", getPossition, "-resize", getResize, img] Nothing Nothing Nothing Nothing Nothing
                        --waitForProcess ph >>= print
                        waitForProcess ph
 
+
+-- Helper functions
+breaks :: (a -> Bool) -> [a] -> [[a]]
+breaks _ [] = []
+breaks f xs = case span f xs of
+                  (_, xs') ->
+                      case break f xs' of
+                          (v, xs'') ->
+                              v : breaks f xs''
diff --git a/src/backdropper_consol.hs b/src/backdropper_consol.hs
--- a/src/backdropper_consol.hs
+++ b/src/backdropper_consol.hs
@@ -64,6 +64,7 @@
 import System
 import IO
 import Control.Monad
+import System.Directory
 import System.Log.Logger
 import System.Log.Handler.Syslog
 import Logger_logic
@@ -71,10 +72,10 @@
 {------------------------------------------------------------------------------}
 -- | New data type to hold the command line options.
 data Options = Options
- { optInput :: Maybe FilePath
+ { optInput  :: Maybe FilePath
   ,optLogLvl :: Maybe String
-  ,optDelay :: Int
-  ,optGUI :: Bool
+  ,optDelay  :: Int
+  ,optGUI    :: Bool
  } deriving Show
 
 
@@ -195,6 +196,8 @@
           logger INFO "Backdropper started..."
           let d = (optDelay opts)
           case (optInput opts) of
-            Nothing -> mainLoop "/home/yann/.rotate_wallpaper_list" d
+            Nothing  -> do
+                    home <- getHomeDirectory
+                    mainLoop (home ++ "/.rotate_wallpaper_list") d
             (Just p) -> mainLoop p d
           exitWith ExitSuccess
