GUACAMOLE-597: Add flag which sends terminal output to both the user's display and the open pipe stream.
This commit is contained in:
parent
e02df8d550
commit
99b17b0ac4
@ -98,6 +98,13 @@
|
|||||||
*/
|
*/
|
||||||
#define GUAC_TERMINAL_SCHEME_NUMBERED "color"
|
#define GUAC_TERMINAL_SCHEME_NUMBERED "color"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flag which specifies that terminal output should be sent to both the current
|
||||||
|
* pipe stream and the user's display. By default, terminal output will be sent
|
||||||
|
* only to the open pipe.
|
||||||
|
*/
|
||||||
|
#define GUAC_TERMINAL_PIPE_INTERPRET_OUTPUT 1
|
||||||
|
|
||||||
typedef struct guac_terminal guac_terminal;
|
typedef struct guac_terminal guac_terminal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -219,6 +226,8 @@ struct guac_terminal {
|
|||||||
* Bitwise OR of all flags which apply to the currently-open pipe stream.
|
* Bitwise OR of all flags which apply to the currently-open pipe stream.
|
||||||
* If no pipe stream is open, this value has no meaning, and its contents
|
* If no pipe stream is open, this value has no meaning, and its contents
|
||||||
* are undefined.
|
* are undefined.
|
||||||
|
*
|
||||||
|
* @see GUAC_TERMINAL_PIPE_INTERPRET_OUTPUT
|
||||||
*/
|
*/
|
||||||
int pipe_stream_flags;
|
int pipe_stream_flags;
|
||||||
|
|
||||||
@ -931,6 +940,8 @@ int guac_terminal_next_tab(guac_terminal* term, int column);
|
|||||||
* @param flags
|
* @param flags
|
||||||
* A bitwise OR of all integer flags which should apply to the new pipe
|
* A bitwise OR of all integer flags which should apply to the new pipe
|
||||||
* stream.
|
* stream.
|
||||||
|
*
|
||||||
|
* @see GUAC_TERMINAL_PIPE_INTERPRET_OUTPUT
|
||||||
*/
|
*/
|
||||||
void guac_terminal_pipe_stream_open(guac_terminal* term, const char* name,
|
void guac_terminal_pipe_stream_open(guac_terminal* term, const char* name,
|
||||||
int flags);
|
int flags);
|
||||||
|
@ -135,8 +135,14 @@ int guac_terminal_echo(guac_terminal* term, unsigned char c) {
|
|||||||
|
|
||||||
/* Echo to pipe stream if open and not starting an ESC sequence */
|
/* Echo to pipe stream if open and not starting an ESC sequence */
|
||||||
if (term->pipe_stream != NULL && c != 0x1B) {
|
if (term->pipe_stream != NULL && c != 0x1B) {
|
||||||
|
|
||||||
guac_terminal_pipe_stream_write(term, c);
|
guac_terminal_pipe_stream_write(term, c);
|
||||||
return 0;
|
|
||||||
|
/* Do not render output while pipe is open unless explicitly requested
|
||||||
|
* via flags */
|
||||||
|
if (!(term->pipe_stream_flags & GUAC_TERMINAL_PIPE_INTERPRET_OUTPUT))
|
||||||
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If using non-Unicode mapping, just map straight bytes */
|
/* If using non-Unicode mapping, just map straight bytes */
|
||||||
|
Loading…
Reference in New Issue
Block a user