mirror of
https://github.com/cage-kiosk/cage.git
synced 2025-10-29 05:40:19 -04:00
Make application arguments optional
If no application is specified, run without starting a child process. Leave it up to the user to start applications externally and stop cage with a signal.
This commit is contained in:
parent
852839e59f
commit
19157d3564
2 changed files with 5 additions and 9 deletions
|
|
@ -6,7 +6,7 @@ cage - a Wayland kiosk compositor
|
|||
|
||||
# SYNOPSIS
|
||||
|
||||
*cage* [options...] [--] _application_ [application argument ...]
|
||||
*cage* [options...] [--] [_application_...]
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
|
|
|
|||
12
cage.c
12
cage.c
|
|
@ -224,7 +224,7 @@ static void
|
|||
usage(FILE *file, const char *cage)
|
||||
{
|
||||
fprintf(file,
|
||||
"Usage: %s [OPTIONS] [--] APPLICATION\n"
|
||||
"Usage: %s [OPTIONS] [--] [APPLICATION...]\n"
|
||||
"\n"
|
||||
" -d\t Don't draw client side decorations, when possible\n"
|
||||
" -D\t Enable debug logging\n"
|
||||
|
|
@ -272,11 +272,6 @@ parse_args(struct cg_server *server, int argc, char *argv[])
|
|||
}
|
||||
}
|
||||
|
||||
if (optind >= argc) {
|
||||
usage(stderr, argv[0]);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -592,7 +587,7 @@ main(int argc, char *argv[])
|
|||
}
|
||||
#endif
|
||||
|
||||
if (!spawn_primary_client(&server, argv + optind, &pid, &sigchld_source)) {
|
||||
if (optind < argc && !spawn_primary_client(&server, argv + optind, &pid, &sigchld_source)) {
|
||||
ret = 1;
|
||||
goto end;
|
||||
}
|
||||
|
|
@ -607,7 +602,8 @@ main(int argc, char *argv[])
|
|||
wl_display_destroy_clients(server.wl_display);
|
||||
|
||||
end:
|
||||
app_ret = cleanup_primary_client(pid);
|
||||
if (pid != 0)
|
||||
app_ret = cleanup_primary_client(pid);
|
||||
if (!ret && server.return_app_code)
|
||||
ret = app_ret;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue