@techee I'll combine commits when I get a chance.
The reasons to make the function work when a project isn't loaded:
* swapping headers isn't inherently project specific. * If two plugins provide basically the same functionality, one for projects, the other not, they would need multiple keybindings and users would have to keep track of which plugin/keybinding to use when a project is or isn't loaded.