-      maxvalstr = trim(tostring(maxval))
-      write_command(conn,"widget_set "..pageid.." "..pageid..".max "..trim(tostring(width-string.len(maxvalstr)+1)).." 2 "..maxvalstr)
-      write_command(conn,"widget_set "..pageid.." "..pageid..".min "..trim(tostring(width-string.len(minvalstr)+1)).." "..height.." "..minvalstr)
-      for k = 1,width-def["pos"] do
-        val = vals[k]
+      if height>2 then
+        local minvalstr = trim(tostring(minval))
+        local maxvalstr = trim(tostring(maxval))
+        len = math.max(string.len(minvalstr),string.len(maxvalstr))
+        write_command(conn,"widget_set "..pageid.." "..pageid..".max "..trim(tostring(width-string.len(maxvalstr)+1)).." 2 "..maxvalstr)
+        write_command(conn,"widget_set "..pageid.." "..pageid..".min "..trim(tostring(width-string.len(minvalstr)+1)).." "..height.." "..minvalstr)
+        for k = 3,height-1 do
+          write_command(conn,"widget_set "..pageid.." "..pageid..".place"..trim(tostring(k)).." "..trim(tostring(width-len+1)).." "..k.." \" "..string.rep("-",len-1).."\"")
+        end
+      else
+        len = 0
+      end    
+      local m = width
+      for k=1,width do
+        write_command(conn,"widget_del "..pageid.." "..pageid..".bar"..trim(tostring(k)))
+      end
+      for k = width-len,1,-1 do
+        val = vals[m]