implement WindowManager for viewer