app: listen to orientation change as well as resize
life: triple when window width is too narrow