FIX: window repositioning on viewport movement