James Muehlner
589e0ecd03
GUACAMOLE-1538 - Consolidate clipboard handling; opaque clipboard struct to avoid exposing internal guac_common_clipboard.
2022-02-22 14:04:47 -08:00
James Muehlner
037045a054
GUACAMOLE-1538: Explicitly include the common lib; ensure no undefined symbols.
2022-02-22 11:07:30 -08:00
James Muehlner
63bf5b329c
GUACAMOLE-1538: Rename library to match conventions.
2022-02-22 09:41:08 -08:00
James Muehlner
44d76da21a
GUACAMOLE-1538: Use an options struct instead of hardcoding params in constructor.
2022-02-21 11:27:20 -08:00
James Muehlner
05c6131cf3
GUACAMOLE-1538: Update libguac_terminal to be a shared library.
2022-02-21 11:27:13 -08:00
Michael Jumper
4d41b38a24
GUACAMOLE-462: Create recordings/typescripts with group read permission.
...
Previously, all recordings/typescripts were strictly readable by the
service user that created them (guacd). This prevents reading by other
services like the Guacamole web application. Instead,
recordings/typescripts should at least be group-readable.
2022-02-17 09:25:28 -08:00
Michael Jumper
27f8403178
GUACAMOLE-1302: Always use lossless compression for text-based protocols leveraging the terminal.
2021-03-03 19:29:14 -08:00
Maxime Coste
199c2a0961
GUACAMOLE-871: Add support for hidden cursor (DECTECM)
2019-10-15 20:24:51 +11:00
Nick Couchman
f962eab27a
Merge 1.1.0 changes back to master.
2019-08-09 13:01:54 -04:00
Michael Jumper
ccfcfb116d
GUACAMOLE-630: Persist details of color scheme and font changes.
2019-08-04 12:44:43 -07:00
Michael Jumper
4dabea37af
GUACAMOLE-630: Allow guac_terminal_parse_color_scheme() to dictate color scheme format.
2019-08-04 11:55:45 -07:00
Michael Jumper
0516d599cf
GUACAMOLE-630: Disallow NULL color schemes.
...
A color scheme string should always be provided, even if blank.
Disallowing NULL allows assumptions to be made which simplifies the
logic surrounding persisting provided configuration values.
2019-08-04 11:45:41 -07:00
Michael Jumper
b5191caddc
GUACAMOLE-630: Accept pre-defined color schemes in all cases, not just during terminal creation.
2019-08-04 11:37:42 -07:00
Michael Jumper
228cea4af1
GUACAMOLE-381: Disable outbound transfers from terminal protocols if "disable-copy" is set.
2019-02-19 12:11:24 -08:00
Michael Jumper
9e28de70ec
GUACAMOLE-630: Separate setting of font family/size from terminal display initialization.
2018-11-10 14:22:23 -08:00
Michael Jumper
f293c5e9c0
GUACAMOLE-630: Do not entirely reset terminal state when color scheme is changed.
2018-10-22 23:23:27 -07:00
Michael Jumper
dcab540839
GUACAMOLE-630: Persist semantics of default foreground/background with dedicated palette pseudo-indexes.
2018-10-22 23:23:27 -07:00
Michael Jumper
2f16eadb35
GUACAMOLE-630: Allow color scheme to be changed from webapp via argv streams.
2018-10-22 23:23:27 -07:00
Michael Jumper
6f9f2189f2
GUACAMOLE-630: Separate color scheme parsing into own files.
2018-10-22 23:23:27 -07:00
Michael Jumper
d851f10a48
GUACAMOLE-353: Clarify applicability of ASF header when transcluded into generated build files.
2018-10-02 20:37:49 -07:00
Michael Jumper
1178b475da
GUACAMOLE-622: Do not allow STDIN to be redirected if the terminal is not yet started.
2018-09-02 23:04:14 -07:00
Michael Jumper
0b39b0fc5f
GUACAMOLE-622: Implicitly invoke guac_terminal_start() if prompting is required.
2018-09-02 23:04:14 -07:00
Michael Jumper
61a51df1b2
GUACAMOLE-622: Require guac_terminal_start() to be invoked before the terminal will render frames or accept user input.
2018-09-02 23:04:14 -07:00
Nick Couchman
332e187813
Merge 1.0.0 changes back to master.
2018-08-24 12:17:20 -04:00
Jim Chen
eb5aa14a6f
GUACAMOLE-470: Support named colors in color-scheme configuration.
...
When parsing named colors, treat semi-colons as string terminators, so
we can properly parse named colors within the color-scheme
configuration.
2018-08-24 10:42:24 -04:00
Michael Jumper
994cb95893
GUACAMOLE-610: Add console code for altering scrollback size on the fly.
2018-08-18 11:26:12 -07:00
Michael Jumper
0e6d549a40
GUACAMOLE-610: Allow scrollback size to be specified for SSH and telnet.
2018-08-18 11:12:55 -07:00
Michael Jumper
6a576f0121
GUACAMOLE-610: Limit terminal width/height to 1024 characters.
2018-08-18 11:12:50 -07:00
Nick Couchman
0062f61d67
Merge 1.0.0 changes back to master.
2018-07-31 08:12:30 -04:00
Michael Jumper
860a5fca8f
GUACAMOLE-559: Maintain terminal clipboard at client level such that it is guaranteed to exist immediately after user connects.
2018-07-30 23:53:03 -07:00
Michael Jumper
e66178ff9a
GUACAMOLE-597: Add flag for forcing automatic flushing of pipe stream.
2018-07-27 14:23:50 -07:00
Michael Jumper
99b17b0ac4
GUACAMOLE-597: Add flag which sends terminal output to both the user's display and the open pipe stream.
2018-07-27 14:23:44 -07:00
Michael Jumper
e02df8d550
GUACAMOLE-597: Additionally parse integer flags which may affect pipe stream contents.
2018-07-27 14:23:33 -07:00
Michael Jumper
b0b0b186f5
GUACAMOLE-573: Ensure scrollback buffer bounds cannot be exceeded. Remove incorrect bounds checks.
2018-07-17 21:55:46 -07:00
Michael Jumper
97593958e4
GUACAMOLE-574: Add support for reading STDIN from a pipe stream.
2018-06-18 14:31:09 -07:00
Michael Jumper
ecda5c1df9
GUACAMOLE-573: Read selection only within bounds of terminal/scrollback.
2018-06-17 00:01:47 -07:00
Michael Jumper
1756c01522
GUACAMOLE-573: Update selected region when terminal scrolls.
2018-06-17 00:01:47 -07:00
Michael Jumper
6f08ef2a07
GUACAMOLE-573: Allow text selection to be expanded using Shift (fixes GUACAMOLE-191).
2018-06-17 00:01:47 -07:00
Michael Jumper
c0d323828e
GUACAMOLE-573: Copy terminal data directly into clipboard. Do not assume selected region will be strictly visible.
2018-06-16 23:58:38 -07:00
Michael Jumper
f87af06ad6
GUACAMOLE-573: Move terminal text selection code into own file.
2018-06-16 23:58:34 -07:00
Michael Jumper
21f54b9e12
GUACAMOLE-470: Merge changes addressing broken build / GCC warning.
2018-05-27 21:13:25 -07:00
Jim Chen
9c10ddae3b
GUACAMOLE-470: Fix incompatible pointer type warning under older GCC.
...
Older versions of GCC (prior to 5.1) emits an "incompatible pointer
type" warning when passing `foo(*)[]` as `const foo(*)[]`. This was
changed in GCC 5.1, and this patch adds explicit casts to remove the
warning under older GCC.
2018-05-27 23:46:16 -04:00
Michael Jumper
526152b9c6
GUACAMOLE-564: Merge changes ignoring APC sequences within Guacamole's terminal emulator.
2018-05-27 09:31:35 -07:00
Jim Chen
b96afce222
GUACAMOLE-564: Hide APC escape sequence.
...
An APC escape sequence contains an arbitrary string command between
(ESC _) and (ESC \) sequences. While we don't support any APC commands, we
should ignore any commands that we do encounter.
2018-05-26 23:25:56 -04:00
Jim Chen
6da9236ffd
GUACAMOLE-470: Reset character attributes on terminal reset.
...
The character attributes such as foreground/background colors should be
reset as well when performing a terminal reset.
2018-05-26 23:18:27 -04:00
Jim Chen
03d9c51b5d
GUACAMOLE-470: Fix crash when X11 color is not found.
...
Fix a crash when an X11 color name is not found. The variable to
null-check should be `found`, not `color`.
2018-05-26 23:18:27 -04:00
Jim Chen
7e68901ceb
GUACAMOLE-470: Set palette index for parsed RGB colors.
...
Parsed RGB colors do not correspond to any palette entry, so set the
palette index to -1.
2018-05-26 23:18:27 -04:00
Jim Chen
1bd537c350
GUACAMOLE-470: Support configurable colors in color-scheme parameter.
...
Add support for configuring individual colors in the color-scheme
parameter, by parsing the parameter content into name-value pairs.
Backward compatibility is preserved by translating previously supported
values into corresponding new values.
2018-05-26 23:18:27 -04:00
Jim Chen
f8b35078fc
GUACAMOLE-470: Add support for configurable default palette.
...
Add support for configuring a default palette for a terminal display.
When the default palette is specified during display creation, that
palette is used instead of GUAC_TERMINAL_INITIAL_PALETTE when resetting
the display palette.
2018-05-15 22:05:59 -04:00
Nick Couchman
c898f35959
GUACAMOLE-269: Clean up terminal backspace initialization.
2018-04-02 07:47:49 -04:00