improve on monitor changed event, auto update position