various additions for window management