well, the `xor` is used to run the code *only* if the values are different. It saves us to run 3 LOC :)
The main reason to do this is to avoid a setting visible the eip thing if it is already visible which makes the eip menu appear floating in a corner since the tray isn't rendered yet.
Maybe is a hackish condition that needs to be explained in a comment.