diff --git a/xcompmgr.c b/xcompmgr.c
index c3a76cb..5998a24 100644
--- a/xcompmgr.c
+++ b/xcompmgr.c
@@ -1951,6 +1951,7 @@ usage (char *program)
     fprintf (stderr, "   -O fade-out-step\n      Specifies the opacity change between steps while fading out. (default 0.03)\n");
     fprintf (stderr, "   -D fade-delta-time\n      Specifies the time between steps in a fade in milliseconds. (default 10)\n");
     fprintf (stderr, "   -m opacity\n      Specifies the opacity for menus. (default 1.0)\n");
+    fprintf (stderr, "   -v opacity\n      Specifies the opacity for dock/panel. (default 1.0)\n");
     fprintf (stderr, "   -a\n      Use automatic server-side compositing. Faster, but no special effects.\n");
     fprintf (stderr, "   -c\n      Draw client-side shadows with fuzzy edges.\n");
     fprintf (stderr, "   -C\n      Avoid drawing shadows on dock/panel windows.\n");
@@ -2021,7 +2022,7 @@ main (int argc, char **argv)
     /* don't bother to draw a shadow for the desktop */
     winTypeShadow[WINTYPE_DESKTOP] = False;
 
-    while ((o = getopt (argc, argv, "D:I:O:d:r:o:m:l:t:scnfFCaS")) != -1)
+    while ((o = getopt (argc, argv, "D:I:O:d:r:o:v:m:l:t:scnfFCaS")) != -1)
     {
 	switch (o) {
 	case 'd':
@@ -2048,11 +2049,12 @@ main (int argc, char **argv)
                 winTypeShadow[i] = True;
 	    break;
 	case 'c':
-	    compMode = CompClientShadows;
+	    compMode = CompClientShadows; 
             for (i = 0; i < NUM_WINTYPES; ++i)
                 winTypeShadow[i] = True;
 	    break;
-	case 'C':
+	case 'C':             
+            winTypeShadow[WINTYPE_DESKTOP] = False;
             noDockShadow = True;
 	    break;
 	case 'n':
@@ -2063,6 +2065,11 @@ main (int argc, char **argv)
 	case 'm':
             winTypeOpacity[WINTYPE_DROPDOWN_MENU] = atof (optarg);
             winTypeOpacity[WINTYPE_POPUP_MENU] = atof (optarg);
+   
+	    break;
+	case 'v':
+ 
+            winTypeOpacity[WINTYPE_DOCK] = atof (optarg);
 	    break;
 	case 'f':
             for (i = 0; i < NUM_WINTYPES; ++i)

