wm override . 1
. configure -width 1 -height 9999

toplevel .v
wm override .v 1
.v configure -height 1 -width 9999

set t 0
proc move {} {
    set pos [expr 1+[winfo pointerx .]]
    wm geometry . 1x9999+$pos+0
    set pos [expr 1+[winfo pointery .]]
    wm geometry .v 9999x1+0+$pos

    global t
    incr t
    set shade [expr {int(127 * cos($t/10.) + 127)}]
    set color [format {#%02x%02x%02x} $shade $shade $shade]
    . configure -bg $color
    .v configure -bg $color
    after 100 move
}

move
