Make sure we're handling the right process. Also clean-up the
sockets manually. Also make sure we actually do ninja's
clean, otherwise we might be waiting for a long time.
This adds tracking of other build types and their exit status and
allows us to use desktop notification for these also. Also cleaned
up some unnecessary cleanup code.
This adds two methods for handling executing shells async. The notification
has been reworked to use this method so there is less blocking. A callback
can be passed to the handler method for various actions on the exit status
of the script execution.
This patch adds tracking of the build process's status code. This allows us
to respond to the build process within the program much easier. Also added
a simple API for desktop notification of the build process and its exit code
which is useful and pretty.