Skip to content

Terminal: support SGR 2 (faint) and modified special keys - #2903

Open
insjang wants to merge 4 commits into
eclipse-platform:masterfrom
insjang:sgr-dim-keys
Open

Terminal: support SGR 2 (faint) and modified special keys#2903
insjang wants to merge 4 commits into
eclipse-platform:masterfrom
insjang:sgr-dim-keys

Conversation

@insjang

@insjang insjang commented Sep 3, 2026

Copy link
Copy Markdown

SGR 2 asks for faint text. The attribute was unknown and logged as unsupported, so programs that use it for secondary text - help lines, timestamps, completed items - showed it at full strength, and SGR 22, which turns both bold and faint off, only turned off bold. TerminalStyle gains a dim attribute (an API addition, hence the version bump), and the style map draws a faint colour half way to the background, which works for any colour rather than only the sixteen named ones.

Special keys were sent only when no modifier was held, so a program was never told about Ctrl+End, Shift+Home, Alt+Left, Ctrl+F5 and the rest. xterm spells a modified special key as the plain one with the modifier as a parameter (2 shift, 3 alt, 5 control, and their sums): the arrows, Home, End and F1-F4 as CSI 1 ; m X, the others as CSI n ; m ~. Keys the existing switch already answered never reach this and keep working as before.

…difier

SGR 2 asks for faint text. The attribute was unknown and logged as
unsupported, so programs that use it for secondary text - help lines,
timestamps, completed items - showed it at full strength, and SGR 22,
which turns both bold and faint off, only turned off bold. TerminalStyle
gains a dim attribute (an API addition, hence the version bump), and
the style map draws a faint colour half way to the background, which
works for any colour rather than only the sixteen named ones.

Special keys were sent only when no modifier was held, so a program was
never told about Ctrl+End, Shift+Home, Alt+Left, Ctrl+F5 and the rest.
xterm spells a modified special key as the plain one with the modifier
as a parameter (2 shift, 3 alt, 5 control, and their sums): the arrows,
Home, End and F1-F4 as CSI 1 ; m X, the others as CSI n ; m ~. Keys the
existing switch already answered never reach this and keep working as
before.
@insjang insjang changed the title Terminal: support SGR 2 (faint), and send special keys held with a mo… Terminal: support SGR 2 (faint) and modified special keys Sep 3, 2026
New @SInCE 1.2 API was added to the package without bumping its
Export-Package version, which API Tools flags as an error.
Same cross-bundle package-private access problem as mouseReport in
eclipse-platform#2902 -- the test bundle is a separate OSGi bundle, so package-private
static does not reach it even under the same package name.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant