mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-01 22:58:47 -04:00
pacmd: Discriminate between interactive and non-interactive mode
interactive sessions are initiated with a hello message in order to receive a welcome message from the PA daemon and a command prompt interactive sessions have a terminal connected to stdin non-interactive sessions execute commands given on the command line or received via stdin; non-interactive sessions have neither welcome message nor command prompt Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
This commit is contained in:
parent
e729783331
commit
193bf997c1
1 changed files with 9 additions and 2 deletions
|
|
@ -83,7 +83,7 @@ static void help(const char *argv0) {
|
|||
printf(_("\n"
|
||||
" -h, --help Show this help\n"
|
||||
" --version Show version\n"
|
||||
"When no command is given pacmd starts in the interactive mode\n" ));
|
||||
"When no command is given pacmd starts in the interactive mode.\n" ));
|
||||
}
|
||||
|
||||
enum {
|
||||
|
|
@ -102,7 +102,6 @@ int main(int argc, char*argv[]) {
|
|||
bool ibuf_eof, obuf_eof, ibuf_closed, obuf_closed;
|
||||
struct pollfd pollfd[3];
|
||||
struct pollfd *watch_socket, *watch_stdin, *watch_stdout;
|
||||
|
||||
int stdin_type = 0, stdout_type = 0, fd_type = 0;
|
||||
|
||||
char *bn = NULL;
|
||||
|
|
@ -209,6 +208,14 @@ int main(int argc, char*argv[]) {
|
|||
ibuf_eof = true;
|
||||
}
|
||||
|
||||
if (!ibuf_eof && isatty(STDIN_FILENO)) {
|
||||
/* send hello to enable interactive mode (welcome message, prompt) */
|
||||
if (pa_write(fd, "hello\n", 6, &fd_type) < 0) {
|
||||
pa_log(_("write(): %s"), strerror(errno));
|
||||
goto quit;
|
||||
}
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
struct pollfd *p;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue