Previously, each argument would be manually specified when the program is called again. After this change, the program is called with exactly the same arguments as it was originally. Doing this means the code doesn't have to detect whether or --boot was use and use a different command, and --default-background can be removed. (Both of these are in the pull request)