less hacky handling of floating widgets