mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
If the replacement window manager fails to start, restart the fallback (the
original invocation of cwm).
This commit is contained in:
commit
15ca9c03ba
5
calmwm.c
5
calmwm.c
@ -56,6 +56,7 @@ main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
const char *conf_file = NULL;
|
const char *conf_file = NULL;
|
||||||
char *conf_path, *display_name = NULL;
|
char *conf_path, *display_name = NULL;
|
||||||
|
char *fallback;
|
||||||
int ch, xfd;
|
int ch, xfd;
|
||||||
struct pollfd pfd[1];
|
struct pollfd pfd[1];
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
@ -64,6 +65,7 @@ main(int argc, char **argv)
|
|||||||
warnx("no locale support");
|
warnx("no locale support");
|
||||||
mbtowc(NULL, NULL, MB_CUR_MAX);
|
mbtowc(NULL, NULL, MB_CUR_MAX);
|
||||||
|
|
||||||
|
fallback = u_argv(argv);
|
||||||
Conf.wm_argv = u_argv(argv);
|
Conf.wm_argv = u_argv(argv);
|
||||||
while ((ch = getopt(argc, argv, "c:d:")) != -1) {
|
while ((ch = getopt(argc, argv, "c:d:")) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
@ -132,6 +134,9 @@ main(int argc, char **argv)
|
|||||||
if (cwm_status == CWM_EXEC_WM)
|
if (cwm_status == CWM_EXEC_WM)
|
||||||
u_exec(Conf.wm_argv);
|
u_exec(Conf.wm_argv);
|
||||||
|
|
||||||
|
warnx("'%s' failed to start, restarting fallback", Conf.wm_argv);
|
||||||
|
u_exec(fallback);
|
||||||
|
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user