simplify post-lock cmd and die if it fails
this patch does two things:
0. simplify the code by using posix_spawn()
1. unify the behavior of what happens if the post-lock cmd fails.
currently, if `fork()` fails, slock will die without locking the screen.
HOWEVER if `execvp()` fails it prints a message to stderr (which the
user cannot see since the screen has been locked already) and only exits
the child while the parent locks the screen.
to reproduce:
# slock some_bin_that_doesnt_exist
this behavior is inconsistent, if the idea is that post-lock cmd is
_not_ important then we shouldn't `die()` on `fork()` failure either.
and if we assume that the post-lock cmd _is_ important, then we should
die on exec failure as well.
this patch assumes the latter and calls `die()` if `posix_spawn()`
fails.
ref.
https://git.suckless.org/slock/commit/a70d5d2429abf8dcb70a8817990975dc9a621d27.html
Adding background image patch
Adding dwmlogo patch ref. #5
Adding auto-timeout patch
Adding secret password patch
Adding failure-command patch
Adding color message patch ref. #3
Adding blur pixelated screen patch
Adding keypress_feedback patch
Specifying latest version
Added capscolor, control clear, dpms, mediakeys, message, pam auth, quickcancel patches