only rebuild tk menu when we have to