mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-15 04:27:52 -05:00
main/client: be POSIXLY_CORRECT when parsing command line
This means command line parsing stops when it encounters the first nonoption argument. The result is that one no longer need to use '--' to ensure arguments are passed to the shell/command, instead of parsed by foot. That is, instead of foot -- sh -c true one can now do foot sh -c true Arguments to foot *must* go before the command: foot --fullscreen sh -c true
This commit is contained in:
parent
56d53ec2a1
commit
5b70f94827
5 changed files with 15 additions and 12 deletions
|
|
@ -43,6 +43,9 @@
|
|||
* The four primary font variants (normal, bold, italic, bold italic)
|
||||
are now loaded in parallel. This speeds up both the initial startup
|
||||
time, as well as a DPI changes.
|
||||
* Command line parsing no longer tries to parse arguments following
|
||||
the command-to-execute. This means one can now write `foot sh -c
|
||||
true` instead of `foot -- sh -c true`.
|
||||
|
||||
|
||||
### Deprecated
|
||||
|
|
|
|||
6
client.c
6
client.c
|
|
@ -28,8 +28,8 @@ sig_handler(int signo)
|
|||
static void
|
||||
print_usage(const char *prog_name)
|
||||
{
|
||||
printf("Usage: %s [OPTIONS]...\n", prog_name);
|
||||
printf("Usage: %s [OPTIONS]... -- command\n", prog_name);
|
||||
printf("Usage: %s [OPTIONS...]", prog_name);
|
||||
printf("Usage: %s [OPTIONS...] [ARGS...]\n", prog_name);
|
||||
printf("\n");
|
||||
printf("Options:\n");
|
||||
printf(" -t,--term=TERM value to set the environment variable TERM to (foot)\n"
|
||||
|
|
@ -74,7 +74,7 @@ main(int argc, char *const *argv)
|
|||
bool fullscreen = false;
|
||||
|
||||
while (true) {
|
||||
int c = getopt_long(argc, argv, ":t:a:s:l::hv", longopts, NULL);
|
||||
int c = getopt_long(argc, argv, "+:t:a:s:l::hv", longopts, NULL);
|
||||
if (c == -1)
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ foot - Wayland terminal emulator
|
|||
|
||||
# SYNOPSIS
|
||||
*foot* [_OPTIONS_]++
|
||||
*foot* [_OPTIONS_] -- <_command_>
|
||||
*foot* [_OPTIONS_] <_command_> [_COMMAND OPTIONS_]
|
||||
|
||||
All trailing (non-option) arguments are treated as a command to
|
||||
execute (instead of the shell).
|
||||
All trailing (non-option) arguments are treated as a command, and its
|
||||
arguments, to execute (instead of the default shell).
|
||||
|
||||
# OPTIONS
|
||||
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ footclient - start new terminals in a foot server
|
|||
|
||||
# SYNOPSIS
|
||||
*foot* [_OPTIONS_]++
|
||||
*foot* [_OPTIONS_] -- <command>
|
||||
*foot* [_OPTIONS_] <_command_> [_COMMAND OPTIONS_]
|
||||
|
||||
All trailing (non-option) arguments are treated as a command to
|
||||
execute (instead of the shell).
|
||||
All trailing (non-option) arguments are treated as a command, and its
|
||||
arguments, to execute (instead of the default shell).
|
||||
|
||||
# OPTIONS
|
||||
|
||||
|
|
|
|||
6
main.c
6
main.c
|
|
@ -39,8 +39,8 @@ static void
|
|||
print_usage(const char *prog_name)
|
||||
{
|
||||
printf(
|
||||
"Usage: %s [OPTIONS]...\n"
|
||||
"Usage: %s [OPTIONS]... -- command\n"
|
||||
"Usage: %s [OPTIONS...]\n"
|
||||
"Usage: %s [OPTIONS...] command [ARGS...]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
" -c,--config=PATH load configuration from PATH (XDG_CONFIG_HOME/footrc)\n"
|
||||
|
|
@ -179,7 +179,7 @@ main(int argc, char *const *argv)
|
|||
bool log_syslog = true;
|
||||
|
||||
while (true) {
|
||||
int c = getopt_long(argc, argv, "c:t:a:Lf:g:s::Pp:l::Svh", longopts, NULL);
|
||||
int c = getopt_long(argc, argv, "+c:t:a:Lf:g:s::Pp:l::Svh", longopts, NULL);
|
||||
if (c == -1)
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue