This is a matter of preference, but could you add " widget.get_toplevel().hide()" under " self._client.set_bool(self.KEY, widget.get_active())" so that it automatically closes after choosing an option? I like to be able to get back to what I'm doing after selecting an option.