Implemented the Desktop=XXXxYYY setting in the [x11drv] section of the
config file.

diff --git a/dlls/x11drv/x11drv_main.c b/dlls/x11drv/x11drv_main.c
index 9ab5eeb..11d5ce5 100644
--- a/dlls/x11drv/x11drv_main.c
+++ b/dlls/x11drv/x11drv_main.c
@@ -10,6 +10,7 @@
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <sys/time.h>
 #include <unistd.h>
 #include <X11/cursorfont.h>
@@ -113,16 +114,26 @@
         RegSetValueExA( hkey, "display", 0, REG_SZ, Options.display, strlen(Options.display)+1 );
     }
 
-    /* --managed option */
+    /* check and set --managed and --desktop options in wine config file
+     * if it was not set on command line */
 
-    if (!Options.managed)
+    if ((!Options.managed) && (Options.desktopGeometry == NULL))
     {
         count = sizeof(buffer);
         if (!RegQueryValueExA( hkey, "managed", 0, &type, buffer, &count ))
             Options.managed = IS_OPTION_TRUE( buffer[0] );
-    }
-    else RegSetValueExA( hkey, "managed", 0, REG_SZ, "y", 2 );
 
+	count = sizeof(buffer);
+        if (!RegQueryValueExA( hkey, "Desktop", 0, &type, buffer, &count ))
+            Options.desktopGeometry = strdup(buffer);
+    }
+
+    if (Options.managed)
+	RegSetValueExA( hkey, "managed", 0, REG_SZ, "y", 2 );
+
+    if (Options.desktopGeometry)
+        RegSetValueExA( hkey, "desktop", 0, REG_SZ, Options.desktopGeometry, strlen(Options.desktopGeometry)+1 );
+    
     RegCloseKey( hkey );
 }
 
diff --git a/wine.ini b/wine.ini
index 594f1a3..fdc2602 100644
--- a/wine.ini
+++ b/wine.ini
@@ -106,6 +106,8 @@
 ;;Display = :0.0
 ; Allow the window manager to manage created windows
 Managed = N
+; Use a desktop window of 640x480 for Wine
+;Desktop = 640x480
 ; Use XFree86 DGA extension if present
 UseDGA = Y
 ; Use XShm extension if present