diff --git a/src/g_bang.c b/src/g_bang.c
index 79aa1d2c1dcbe97112dc46f8775164bdb7324314..01eed5ced7d32f1e6f92db75489585e6729d639c 100644
--- a/src/g_bang.c
+++ b/src/g_bang.c
@@ -173,19 +173,28 @@ void bng_draw_config(t_bng* x, t_glist* glist)
 {
     t_canvas *canvas=glist_getcanvas(glist);
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
+	*/
 
-    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
+	if (x->x_gui.x_fsf.x_selected)
+	    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n",
+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	else
+	    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
              canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-             color,
+             x->x_gui.x_lcol,
              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
-    sys_vgui(".x%lx.c itemconfigure %lxBUT -fill #%6.6x\n", canvas, x,
+    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n .x%lx.c itemconfigure %lxBUT -fill #%6.6x\n",
+			 canvas, x, x->x_gui.x_bcol, canvas, x,
              x->x_flashed?x->x_gui.x_fcol:x->x_gui.x_bcol);
+    /*sys_vgui(".x%lx.c itemconfigure %lxBUT -fill #%6.6x\n", canvas, x,
+             x->x_flashed?x->x_gui.x_fcol:x->x_gui.x_bcol);*/
 }
 
 void bng_draw_io(t_bng* x, t_glist* glist, int old_snd_rcv_flags)
diff --git a/src/g_hdial.c b/src/g_hdial.c
index 7669443a35aec7a644e3942eca864bf822e47f9b..78c67359948dc3c8b78e82a701d4c5410b1d4bf3 100644
--- a/src/g_hdial.c
+++ b/src/g_hdial.c
@@ -196,23 +196,32 @@ void hradio_draw_config(t_hradio* x, t_glist* glist)
     t_canvas *canvas=glist_getcanvas(glist);
     int n=x->x_number, i;
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
+	*/
 
-    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
+	if (x->x_gui.x_fsf.x_selected)
+	    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n",
              canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-             color,
              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	else
+	    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+             x->x_gui.x_lcol,
+             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");		
     for(i=0; i<n; i++)
     {
-        sys_vgui(".x%lx.c itemconfigure %lxBASE%d -fill #%6.6x\n", canvas, x, i,
-                 x->x_gui.x_bcol);
-        sys_vgui(".x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n", canvas, x, i,
+        sys_vgui(".x%lx.c itemconfigure %lxBASE%d -fill #%6.6x\n .x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n", 
+			 canvas, x, i, x->x_gui.x_bcol, canvas, x, i,
+             (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol,
+             (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol);
+        /*sys_vgui(".x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n", canvas, x, i,
                  (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol,
-                 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol);
+                 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol);*/
     }
 }
 
diff --git a/src/g_hslider.c b/src/g_hslider.c
index 8193daf971e655fc7a91c65eb70b2e8823a7faa7..e7e74b753861fb792a4ac4ecffac161e75548b63 100644
--- a/src/g_hslider.c
+++ b/src/g_hslider.c
@@ -193,18 +193,26 @@ static void hslider_draw_config(t_hslider* x,t_glist* glist)
 {
     t_canvas *canvas=glist_getcanvas(glist);
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
+	*/
 
-    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
-             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-             color,
-             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-    sys_vgui(".x%lx.c itemconfigure %lxKNOB -fill #%6.6x\n", canvas, x, x->x_gui.x_fcol);
-    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
+	if (x->x_gui.x_fsf.x_selected)
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	else
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         x->x_gui.x_lcol,
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+    sys_vgui(".x%lx.c itemconfigure %lxKNOB -fill #%6.6x\n .x%lx.c itemconfigure %lxBASE -fill #%6.6x\n",
+		canvas, x, x->x_gui.x_fcol, canvas, x, x->x_gui.x_bcol);
+    //sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
 }
 
 static void hslider_draw_io(t_hslider* x,t_glist* glist, int old_snd_rcv_flags)
diff --git a/src/g_mycanvas.c b/src/g_mycanvas.c
index 1caaac71038380bc0953749b93334acb5d75c367..ed23ff0135b33874a04637f4182222b72c1f1ac8 100644
--- a/src/g_mycanvas.c
+++ b/src/g_mycanvas.c
@@ -111,16 +111,21 @@ void my_canvas_draw_config(t_my_canvas* x, t_glist* glist)
 {
     t_canvas *canvas=glist_getcanvas(glist);
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_bcol);
+	*/
 
     sys_vgui(".x%lx.c itemconfigure %lxRECT -fill #%6.6x -outline #%6.6x\n", canvas, x,
              x->x_gui.x_bcol, x->x_gui.x_bcol);
-    sys_vgui(".x%lx.c itemconfigure %lxBASE -outline %s\n", canvas, x,
-             color);
+	if (x->x_gui.x_fsf.x_selected)
+    	sys_vgui(".x%lx.c itemconfigure %lxBASE -outline $select_color\n", canvas, x);
+	else
+    	sys_vgui(".x%lx.c itemconfigure %lxBASE -outline #%6.6x\n", canvas, x,
+             x->x_gui.x_bcol);
     sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
              canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
 			 x->x_gui.x_lcol,
diff --git a/src/g_numbox.c b/src/g_numbox.c
index ae7f9a18eb3fd53c050a1fc65996580daf1cf376..563bae994dfeccd5ab2a2729dab5be6a41e6c8e1 100644
--- a/src/g_numbox.c
+++ b/src/g_numbox.c
@@ -335,6 +335,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
 {
     t_canvas *canvas=glist_getcanvas(glist);
 
+	/*
 	char color[64];
 	char lcolor[64];
 	if (x->x_gui.x_fsf.x_selected) {
@@ -345,18 +346,35 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
 		sprintf(color, "#%6.6x", x->x_gui.x_fcol);
 		sprintf(lcolor, "#%6.6x", x->x_gui.x_lcol);
 	}
+	*/
 
-    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
-             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-             lcolor,
-             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-    sys_vgui(".x%lx.c itemconfigure %lxNUMBER -font {{%s} %d %s} -fill %s \n",
-             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-             color);
+	if (x->x_gui.x_fsf.x_selected) {
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} %d %s} -fill $select_color \n .x%lx.c itemconfigure %lxBASE2 -fill $select_color\n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
+				 canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+				 canvas,x);
+		/*
+		sys_vgui(".x%lx.c itemconfigure %lxNUMBER -font {{%s} %d %s} -fill $select_color \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight);
+		sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill $select_color\n", canvas,
+		         x);
+		*/
+	}
+	else {
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} %d %s} -fill #%6.6x \n .x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         x->x_gui.x_lcol, strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
+				 canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         x->x_gui.x_fcol, canvas, x, x->x_gui.x_fcol);
+		/*sys_vgui(".x%lx.c itemconfigure %lxNUMBER -font {{%s} %d %s} -fill #%6.6x \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         x->x_gui.x_fcol);
+		sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n", canvas,
+		         x, x->x_gui.x_fcol);*/
+	}
     sys_vgui(".x%lx.c itemconfigure %lxBASE1 -fill #%6.6x\n", canvas,
              x, x->x_gui.x_bcol);
-    sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill %s\n", canvas,
-             x, color);
 }
 
 static void my_numbox_draw_io(t_my_numbox* x,t_glist* glist, int old_snd_rcv_flags)
diff --git a/src/g_toggle.c b/src/g_toggle.c
index e339b5bcdeec56c13ea414e61458e90f93c3f78f..7df1f14221eab8c4e16213759398bba88bf40756 100644
--- a/src/g_toggle.c
+++ b/src/g_toggle.c
@@ -179,22 +179,40 @@ void toggle_draw_config(t_toggle* x, t_glist* glist)
 {
     t_canvas *canvas=glist_getcanvas(glist);
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol); 
 
+
     sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
              canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
              color,
              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x,
-             x->x_gui.x_bcol);
+	*/
+	if (x->x_gui.x_fsf.x_selected) {
+    	sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n",
+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	}
+	else {
+    	sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+			 x->x_gui.x_lcol,
+             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	}
+    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n .x%lx.c itemconfigure %lxX1 -fill #%6.6x\n .x%lx.c itemconfigure %lxX2 -fill #%6.6x\n", canvas, x,
+             x->x_gui.x_bcol , canvas, x,
+             x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol, canvas, x,
+             x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol);
+	/*
     sys_vgui(".x%lx.c itemconfigure %lxX1 -fill #%6.6x\n", canvas, x,
              x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol);
     sys_vgui(".x%lx.c itemconfigure %lxX2 -fill #%6.6x\n", canvas, x,
              x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol);
+	*/
 }
 
 void toggle_draw_io(t_toggle* x, t_glist* glist, int old_snd_rcv_flags)
@@ -282,7 +300,7 @@ void toggle_draw_select(t_toggle* x, t_glist* glist)
 				sys_vgui("bind %s <ButtonRelease> {pd [concat %s _click 0 0 0 \\;]}\n",
 					lh->h_pathname, lh->h_bindsym->s_name);
 				sys_vgui("bind %s <Motion> {pd [concat %s _motion %%x %%y \\;]}\n",
-					lh->h_pathname, lh->h_bindsym->s_name); 
+					lh->h_pathname, lh->h_bindsym->s_name);
 				x->x_gui.label_vis = 1;
 			}
 
diff --git a/src/g_vdial.c b/src/g_vdial.c
index b92bcd285baa3cc3e85f92e01c5e75fcc7e4f03a..3011508e2ff9e91fcf2ea65c05a460868e9a2a80 100644
--- a/src/g_vdial.c
+++ b/src/g_vdial.c
@@ -195,23 +195,32 @@ void vradio_draw_config(t_vradio* x, t_glist* glist)
     t_canvas *canvas=glist_getcanvas(glist);
     int n=x->x_number, i;
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
+	*/
 
-    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
-             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
-             color,
-             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	if (x->x_gui.x_fsf.x_selected)
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	else
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
+				 canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
+				 x->x_gui.x_lcol,
+				 strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
     for(i=0; i<n; i++)
     {
-        sys_vgui(".x%lx.c itemconfigure %lxBASE%d -fill #%6.6x\n", canvas, x, i,
-                 x->x_gui.x_bcol);
-        sys_vgui(".x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n", canvas, x, i,
+        sys_vgui(".x%lx.c itemconfigure %lxBASE%d -fill #%6.6x\n .x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n", 
+				 canvas, x, i, x->x_gui.x_bcol, canvas, x, i,
                  (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol,
                  (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol);
+        /*sys_vgui(".x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n", canvas, x, i,
+                 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol,
+                 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol);*/
     }
 }
 
diff --git a/src/g_vslider.c b/src/g_vslider.c
index d766fc82979ad87859ac57ca6440838f886616a5..e59bc94bdab26c6c5d86751b717adb4cb1edda40 100644
--- a/src/g_vslider.c
+++ b/src/g_vslider.c
@@ -179,20 +179,27 @@ static void vslider_draw_config(t_vslider* x,t_glist* glist)
 {
     t_canvas *canvas=glist_getcanvas(glist);
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
+	*/
 
-    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
-             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
-             color,
-             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-    sys_vgui(".x%lx.c itemconfigure %lxKNOB -fill #%6.6x\n", canvas,
-             x, x->x_gui.x_fcol);
-    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas,
-             x, x->x_gui.x_bcol);
+	if (x->x_gui.x_fsf.x_selected)
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	else
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
+		         x->x_gui.x_lcol,
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+    sys_vgui(".x%lx.c itemconfigure %lxKNOB -fill #%6.6x\n .x%lx.c itemconfigure %lxBASE -fill #%6.6x\n",
+			 canvas, x, x->x_gui.x_fcol, canvas, x, x->x_gui.x_bcol);
+    /*sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas,
+             x, x->x_gui.x_bcol);*/
 }
 
 static void vslider_draw_io(t_vslider* x,t_glist* glist, int old_snd_rcv_flags)
diff --git a/src/g_vumeter.c b/src/g_vumeter.c
index 49113b1c106b749bc41e7128674cc50ef576855c..43e03967c8aa539808cba3624c4cda77f726ace8 100644
--- a/src/g_vumeter.c
+++ b/src/g_vumeter.c
@@ -329,40 +329,60 @@ static void vu_draw_config(t_vu* x, t_glist* glist)
     int i;
     t_canvas *canvas=glist_getcanvas(glist);
 
+	/*
 	char color[64];
 	if (x->x_gui.x_fsf.x_selected)
 		sprintf(color, "$select_color");
 	else
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
+	*/
 
-    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
     for(i=1; i<=IEM_VU_STEPS; i++)
     {
         sys_vgui(".x%lx.c itemconfigure %lxRLED%d -width %d\n", canvas, x, i,
                  x->x_led_size);
         if(((i+2)&3) && (x->x_scale))
-            sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill %s\n",
+			if (x->x_gui.x_fsf.x_selected)
+            	sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill $select_color\n",
+                     canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, 
+					 x->x_gui.x_fontsize, sys_fontweight);
+			else
+            	sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill #%6.6x\n",
                      canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, 
 					 x->x_gui.x_fontsize, sys_fontweight, 
-                     color);
+                     x->x_gui.x_lcol);
     }
     if(x->x_scale)
     {
         i=IEM_VU_STEPS+1;
-        sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill %s\n",
-                 canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, 
-				 x->x_gui.x_fontsize, sys_fontweight,
-                 color);
+		if (x->x_gui.x_fsf.x_selected)
+		    sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill $select_color\n",
+		             canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, 
+					 x->x_gui.x_fontsize, sys_fontweight);
+		else
+		    sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill #%6.6x\n",
+		             canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, 
+					 x->x_gui.x_fontsize, sys_fontweight,
+		             x->x_gui.x_lcol);
     }
-    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill %s -text {%s} \n",
-             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-             color,
-             strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-
-    sys_vgui(".x%lx.c itemconfigure %lxRCOVER -fill #%6.6x -outline #%6.6x\n", canvas,
-             x, x->x_gui.x_bcol, x->x_gui.x_bcol);
-    sys_vgui(".x%lx.c itemconfigure %lxPLED -width %d\n", canvas, x,
+	if (x->x_gui.x_fsf.x_selected)
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill $select_color -text {%s} \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+	else
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
+		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
+		         x->x_gui.x_lcol,
+		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
+
+    sys_vgui(".x%lx.c itemconfigure %lxRCOVER -fill #%6.6x -outline #%6.6x\n .x%lx.c itemconfigure %lxPLED -width %d\n .x%lx.c itemconfigure %lxBASE -fill #%6.6x\n",
+			 canvas, x, x->x_gui.x_bcol, x->x_gui.x_bcol, canvas, x, x->x_led_size,
+			 canvas, x, x->x_gui.x_bcol);
+    /*
+	sys_vgui(".x%lx.c itemconfigure %lxPLED -width %d\n", canvas, x,
              x->x_led_size);
+    sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
+    */
 }
 
 static void vu_draw_io(t_vu* x, t_glist* glist, int old_snd_rcv_flags)
@@ -713,6 +733,7 @@ static void vu__motionhook(t_scalehandle *sh,
 
 void vu_draw(t_vu *x, t_glist *glist, int mode)
 {
+	//fprintf(stderr,"vu_draw %d\n", mode);
     if(mode == IEM_GUI_DRAW_MODE_MOVE)
         vu_draw_move(x, glist);
     else if(mode == IEM_GUI_DRAW_MODE_NEW)
@@ -772,6 +793,8 @@ void vu_check_height(t_vu *x, int h)
 
 static void vu_scale(t_vu *x, t_floatarg fscale)
 {
+	//fprintf(stderr,"vu_scale\n");
+
     int i, scale = (int)fscale;
 
     if(scale != 0) scale = 1;
@@ -806,18 +829,18 @@ static void vu_scale(t_vu *x, t_floatarg fscale)
                 yyy = k4 + k1*(k2-i);
                 if((i+2)&3)
                     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
-                             -font {{%s} %d %s} -fill #%6.6x -tags %lxSCALE%d\n",
+                             -font {{%s} %d %s} -fill #%6.6x -tags {%lxSCALE%d %lxVU}\n",
                              canvas, end, yyy+k3, iemgui_vu_scale_str[i], 
 							 x->x_gui.x_font, x->x_gui.x_fontsize,
-                             sys_fontweight, x->x_gui.x_lcol, x, i);
+                             sys_fontweight, x->x_gui.x_lcol, x, i, x);
             }
             i=IEM_VU_STEPS+1;
             yyy = k4 + k1*(k2-i);
             sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
-                     -font {{%s} %d %s} -fill #%6.6x -tags %lxSCALE%d\n",
+                     -font {{%s} %d %s} -fill #%6.6x -tags {%lxSCALE%d %lxVU}\n",
                      canvas, end, yyy+k3, iemgui_vu_scale_str[i], 
-					 x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-                     sys_fontweight, x->x_gui.x_lcol, x, i);
+					 x->x_gui.x_font, x->x_gui.x_fontsize,
+                     sys_fontweight, x->x_gui.x_lcol, x, i, x);
         }
     }
 }
diff --git a/src/m_pd.h b/src/m_pd.h
index 0fc9b3ff20a794bc85e05ccec4e3bb88830cc11a..c7b0a6e8e6121dfde8512121a3934a1ebb90986f 100644
--- a/src/m_pd.h
+++ b/src/m_pd.h
@@ -11,7 +11,7 @@ extern "C" {
 #define PD_MAJOR_VERSION 0
 #define PD_MINOR_VERSION 42
 #define PD_BUGFIX_VERSION 5
-#define PD_TEST_VERSION "extended-l2ork-20110420"
+#define PD_TEST_VERSION "extended-l2ork-20110423"
 
 /* old name for "MSW" flag -- we have to take it for the sake of many old
 "nmakefiles" for externs, which will define NT and not MSW */