LXTerminal

Tested Software version 0.4.1-2 (VTE/8400) on Linux. The homepage URL of this terminal is https://github.com/lxde/lxterminal. Full results available at ucs-detect repository path data/lxterminal.yaml.

Score Breakdown

Detailed breakdown of how scores are calculated for LXTerminal:

#

Score Type

Raw Score

Final Scaled Score

1

WIDE

54.94%

36.3%

2

NARROW

93.05%

93.0%

3

ZWJ

0.69%

0.7%

4

LANG

92.30%

92.3%

5

VS16

50.00%

50.0%

6

VS15

0.00%

(excluded)

7

SRI

0.00%

0.0%

8

SFZ

100.00%

100.0%

9

RI

100.00%

100.0%

10

FEAT

40.62%

43.3%

11

Graphics

0%

0.0%

12

Resources

48.2%

48.2%

Score Comparison Plot:

The following plot shows how this terminal’s scores compare to all other terminals tested.

../_images/lxterminal_scores_scaled.png

Scaled scores comparison across all metrics (normalized 0-100%)

Final Scaled Score Calculation:

  • Raw Final Score: 50.59% (weighted average: WIDE + NARROW + ZWJ + LANG + VS16 + 0.33 * SRI + 0.33 * SFZ + RI + CAP + 0.5 * GFX + 0.5 * RSC) the categorized ‘average’ absolute support level of this terminal.

    Note

    RSC (Resources) is a composite CPU, memory, and runtime score. RSC is weighted at 0.5 (half as powerful as other metrics). FEAT (Features) is the fraction of notable features supported. GFX (Graphics) scores 100% for modern protocols (iTerm2, Kitty), 50% for legacy only (Sixel, ReGIS), 0% for none.

  • Final Scaled Score: 27.3% (normalized across all terminals tested). Final Scaled scores are normalized (0-100%) relative to all terminals tested

WIDE Score Details:

Wide character support calculation:

  • Total successful codepoints: 278

  • Total codepoints tested: 506

  • Formula: 278 / 506

  • Result: 54.94%

NARROW Score Details:

Narrow character support calculation:

  • Total successful codepoints: 174

  • Total codepoints tested: 187

  • Formula: 174 / 187

  • Result: 93.05%

ZWJ Score Details:

Emoji ZWJ (Zero-Width Joiner) support calculation:

  • Total successful sequences: 10

  • Total sequences tested: 1445

  • Formula: 10 / 1445

  • Result: 0.69%

VS16 Score Details:

Variation Selector-16 support calculation:

  • Errors: 213 of 426 codepoints tested

  • Success rate: 50.0%

  • Formula: 50.0 / 100

  • Result: 50.00%

VS15 Score Details (excluded from final score):

Variation Selector-15 support calculation:

  • Errors: 158 of 158 codepoints tested

  • Success rate: 0.0%

  • Formula: 0.0 / 100

  • Result: 0.00%

SRI Score Details:

Standalone Regional Indicator support calculation:

  • Total successful codepoints: 0

  • Total codepoints tested: 26

  • Formula: 0 / 26

  • Result: 0.00%

SFZ Score Details:

Standalone Fitzpatrick skin tone modifier support calculation:

  • Total successful codepoints: 5

  • Total codepoints tested: 5

  • Formula: 5 / 5

  • Result: 100.00%

RI Score Details:

Regional Indicator flag sequence support calculation:

  • Total successful sequences: 262

  • Total sequences tested: 262

  • Formula: 262 / 262

  • Result: 100.00%

Features Score Details:

Notable terminal features (6.5 / 16):

Raw score: 40.62%

Graphics Score Details:

Graphics protocol support (0%):

  • Sixel: no

  • ReGIS: no

  • iTerm2: no

  • Kitty: no

Scoring: 100% for modern (iTerm2/Kitty), 50% for legacy only (Sixel/ReGIS), 0% for none

Resource Score Details:

  • Duration: 503.1s

  • Mean CPU: 4.9%

  • Mean RSS: 59.7 MB

  • Resources Score: 48/100

  • Note: log-scale composite cost = log(CPU+1) + log(RSS+1) + log(time+1)

  • Scaled result: 48.2%

LANG Score Details (Geometric Mean):

Geometric mean calculation:

  • Formula: (p₁ × p₂ × … × pₙ)^(1/n) where n = 85 languages

  • About geometric mean

  • Result: 92.30%

Wide character support

Wide character support of LXTerminal is 54.9% (228 errors of 506 codepoints tested).

Sequence of a WIDE character, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0001D31D

‘\U0001d31d’

So

2

TETRAGRAM FOR JOY

Total codepoints: 1

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x9d\x8c\x9d|\\n12|\\n"
    𝌝|
    12|
    
  • See Line 42264 of ucs_wide.txt for this sequence in the example file.

Screenshot:

Terminal screenshot of the rendering discrepancy

Narrow character support

Narrow character support of LXTerminal is 93.0% (13 errors of 187 codepoints tested).

Sequence of a NARROW character, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+06DD

‘\u06dd’

Cf

1

ARABIC END OF AYAH

Total codepoints: 1

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xdb\x9d|\\n1|\\n"
    ۝|
    1|
    
  • python wcwidth.wcswidth() measures width 1, while LXTerminal measures width 0.

Emoji ZWJ support

Compatibility of LXTerminal with the Unicode Emoji ZWJ sequence table is 0.7% (1435 errors of 1445 sequences tested).

Sequence of an Emoji ZWJ Sequence, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0001F482

‘\U0001f482’

So

2

GUARDSMAN

2

U+0001F3FE

‘\U0001f3fe’

Sk

2

EMOJI MODIFIER FITZPATRICK TYPE-5

3

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

4

U+2642

‘\u2642’

So

1

MALE SIGN

5

U+FE0F

‘\ufe0f’

Mn

0

VARIATION SELECTOR-16

Total codepoints: 5

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x9f\x92\x82\xf0\x9f\x8f\xbe\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f|\\n12|\\n"
    💂🏾‍♂️|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Variation Selector-16 support

Emoji VS-16 results for LXTerminal is 213 errors out of 426 total codepoints tested, 50.0% success. Sequence of a NARROW Emoji made WIDE by Variation Selector-16, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+2733

‘\u2733’

So

1

EIGHT SPOKED ASTERISK

2

U+FE0F

‘\ufe0f’

Mn

0

VARIATION SELECTOR-16

Total codepoints: 2

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe2\x9c\xb3\xef\xb8\x8f|\\n12|\\n"
    ✳️|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Variation Selector-15 support

Emoji VS-15 results for LXTerminal is 158 errors out of 158 total codepoints tested, 0.0% success. Sequence of a WIDE Emoji made NARROW by Variation Selector-15, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0001F3AE

‘\U0001f3ae’

So

2

VIDEO GAME

2

U+FE0E

‘\ufe0e’

Mn

0

VARIATION SELECTOR-15

Total codepoints: 2

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x9f\x8e\xae\xef\xb8\x8e|\\n1|\\n"
    🎮︎|
    1|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Standalone Regional Indicator support

Standalone Regional Indicator support of LXTerminal is 0.0% (26 errors of 26 codepoints tested).

Sequence of a standalone Regional Indicator, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0001F1F3

‘\U0001f1f3’

So

2

REGIONAL INDICATOR SYMBOL LETTER N

Total codepoints: 1

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x9f\x87\xb3|\\n12|\\n"
    🇳|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Standalone Fitzpatrick modifier support

Standalone Fitzpatrick skin tone modifier support of LXTerminal is 100.0% (0 errors of 5 codepoints tested).

Regional Indicator flag sequence support

Regional Indicator flag sequence support of LXTerminal is 100.0% (0 errors of 262 sequences tested).

Graphics Protocol Support

LXTerminal does not report support for any graphics protocols.

Detection Methods:

  • Sixel and ReGIS: Detected via the Device Attributes (DA1) query CSI c (\x1b[c). Extension code 4 indicates Sixel support, 3 ReGIS.

  • Kitty graphics: Detected by sending a Kitty graphics query and checking for an OK response.

  • iTerm2 inline images: Detected via the iTerm2 capabilities query OSC 1337 ; Capabilities.

Device Attributes Response:

  • Extensions reported: 1, 21, 22, 28

  • Sixel indicator (4): not present

  • ReGIS indicator (3): not present

Language Support

The following 64 languages were tested with 100% success:

Aja, Amarakaeri, Arabic, Standard, Assyrian Neo-Aramaic, Baatonum, Bamun, Belanda Viri, Bora, Catalan (2), Chickasaw, Chinantec, Chiltepec, Dagaare, Southern, Dari, Dendi, Dinka, Northeastern, Dzongkha, Evenki, Farsi, Western, Fon, French (Welche), Fur, Ga, Gen, Gilyak, Gumuz, Kabyle, Lamnso’, Lao, Lingala (tones), Maldivian, Maori (2), Mazahua Central, Mòoré, Nanai, Navajo, Orok, Otomi, Mezquital, Panjabi, Eastern, Panjabi, Western, Pashto, Northern, Picard, Pular (Adlam), Secoya, Seraiki, Shan, Shipibo-Conibo, Sinhala, Siona, South Azerbaijani, Tagalog (Tagalog), Tai Dam, Tamazight, Central Atlas, Tamil, Tem, Thai, Thai (2), Tibetan, Central, Ticuna, Uduk, Urdu (2), Vietnamese, Yaneshaʼ, Yiddish, Eastern, Yoruba.

The following 21 languages are not fully supported:

lang

n_errors

n_total

pct_success

Javanese (Javanese)

321

488

34.2%

Tamang, Eastern

6

11

45.5%

Sanskrit

81

155

47.7%

Marathi

46

103

55.3%

Malayalam

139

382

63.6%

Hindi

56

164

65.9%

Magahi

7

22

68.2%

Nepali

22

71

69.0%

Maithili

19

66

71.2%

Bengali

96

335

71.3%

Sanskrit (Grantha)

61

237

74.3%

Khmer, Central

90

390

76.9%

Gujarati

50

290

82.8%

Bhojpuri

41

252

83.7%

Telugu

42

335

87.5%

Kannada

14

236

94.1%

Chakma

13

225

94.2%

Burmese

10

223

95.5%

Urdu

1

23

95.7%

Mon

7

208

96.6%

Khün

4

354

98.9%

Javanese (Javanese)

Sequence of language Javanese (Javanese) from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+A98F

‘\ua98f’

Lo

1

JAVANESE LETTER KA

2

U+A9BA

‘\ua9ba’

Mc

0

JAVANESE VOWEL SIGN TALING

3

U+A9B4

‘\ua9b4’

Mc

0

JAVANESE VOWEL SIGN TARUNG

Total codepoints: 3

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xea\xa6\x8f\xea\xa6\xba\xea\xa6\xb4|\\n12|\\n"
    ꦏꦺꦴ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Tamang, Eastern

Sequence of language Tamang, Eastern from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

4

U+094B

‘\u094b’

Mc

0

DEVANAGARI VOWEL SIGN O

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\x95\xe0\xa5\x8b|\\n12|\\n"
    क्को|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Sanskrit

Sequence of language Sanskrit from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

4

U+093E

‘\u093e’

Mc

0

DEVANAGARI VOWEL SIGN AA

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\x95\xe0\xa4\xbe|\\n12|\\n"
    क्का|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Marathi

Sequence of language Marathi from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

4

U+093E

‘\u093e’

Mc

0

DEVANAGARI VOWEL SIGN AA

5

U+0902

‘\u0902’

Mn

0

DEVANAGARI SIGN ANUSVARA

Total codepoints: 5

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\x95\xe0\xa4\xbe\xe0\xa4\x82|\\n12|\\n"
    क्कां|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Malayalam

Sequence of language Malayalam from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0D15

‘\u0d15’

Lo

1

MALAYALAM LETTER KA

2

U+0D4D

‘\u0d4d’

Mn

0

MALAYALAM SIGN VIRAMA

3

U+0D15

‘\u0d15’

Lo

1

MALAYALAM LETTER KA

4

U+0D3E

‘\u0d3e’

Mc

0

MALAYALAM VOWEL SIGN AA

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xb4\x95\xe0\xb5\x8d\xe0\xb4\x95\xe0\xb4\xbe|\\n12|\\n"
    ക്കാ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Hindi

Sequence of language Hindi from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0928

‘\u0928’

Lo

1

DEVANAGARI LETTER NA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa8\xe0\xa4\xbf|\\n12|\\n"
    क्नि|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Magahi

Sequence of language Magahi from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0937

‘\u0937’

Lo

1

DEVANAGARI LETTER SSA

4

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

5

U+0923

‘\u0923’

Lo

1

DEVANAGARI LETTER NNA

Total codepoints: 5

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb7\xe0\xa5\x8d\xe0\xa4\xa3|\\n12|\\n"
    क्ष्ण|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Nepali

Sequence of language Nepali from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093E

‘\u093e’

Mc

0

DEVANAGARI VOWEL SIGN AA

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbe|\\n12|\\n"
    क्ता|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Maithili

Sequence of language Maithili from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0937

‘\u0937’

Lo

1

DEVANAGARI LETTER SSA

4

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

5

U+092F

‘\u092f’

Lo

1

DEVANAGARI LETTER YA

Total codepoints: 5

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xb7\xe0\xa5\x8d\xe0\xa4\xaf|\\n12|\\n"
    क्ष्य|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Bengali

Sequence of language Bengali from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0995

‘\u0995’

Lo

1

BENGALI LETTER KA

2

U+09BF

‘\u09bf’

Mc

0

BENGALI VOWEL SIGN I

3

U+0982

‘\u0982’

Mc

0

BENGALI SIGN ANUSVARA

Total codepoints: 3

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa6\x95\xe0\xa6\xbf\xe0\xa6\x82|\\n12|\\n"
    কিং|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Sanskrit (Grantha)

Sequence of language Sanskrit (Grantha) from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+00011315

‘\U00011315’

Lo

1

GRANTHA LETTER KA

2

U+0001133E

‘\U0001133e’

Mc

0

GRANTHA VOWEL SIGN AA

3

U+00011302

‘\U00011302’

Mc

0

GRANTHA SIGN ANUSVARA

Total codepoints: 3

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x91\x8c\x95\xf0\x91\x8c\xbe\xf0\x91\x8c\x82|\\n12|\\n"
    𑌕𑌾𑌂|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Khmer, Central

Sequence of language Khmer, Central from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1780

‘\u1780’

Lo

1

KHMER LETTER KA

2

U+17D2

‘\u17d2’

Mn

0

KHMER SIGN COENG

3

U+178A

‘\u178a’

Lo

1

KHMER LETTER DA

4

U+17C5

‘\u17c5’

Mc

0

KHMER VOWEL SIGN AU

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe1\x9e\x80\xe1\x9f\x92\xe1\x9e\x8a\xe1\x9f\x85|\\n12|\\n"
    ក្ដៅ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Gujarati

Sequence of language Gujarati from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0A95

‘\u0a95’

Lo

1

GUJARATI LETTER KA

2

U+0ACD

‘\u0acd’

Mn

0

GUJARATI SIGN VIRAMA

3

U+0A95

‘\u0a95’

Lo

1

GUJARATI LETTER KA

4

U+0ABE

‘\u0abe’

Mc

0

GUJARATI VOWEL SIGN AA

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xaa\x95\xe0\xab\x8d\xe0\xaa\x95\xe0\xaa\xbe|\\n12|\\n"
    ક્કા|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Bhojpuri

Sequence of language Bhojpuri from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0918

‘\u0918’

Lo

1

DEVANAGARI LETTER GHA

4

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

5

U+0918

‘\u0918’

Lo

1

DEVANAGARI LETTER GHA

6

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

7

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

Total codepoints: 7

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\x98\xe0\xa5\x8d\xe0\xa4\x98\xe0\xa4\xbf\xe0\xa5\x8d|\\n12|\\n"
    क्घ्घि्|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Telugu

Sequence of language Telugu from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0C15

‘\u0c15’

Lo

1

TELUGU LETTER KA

2

U+0C41

‘\u0c41’

Mc

0

TELUGU VOWEL SIGN U

3

U+0C02

‘\u0c02’

Mc

0

TELUGU SIGN ANUSVARA

Total codepoints: 3

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xb0\x95\xe0\xb1\x81\xe0\xb0\x82|\\n12|\\n"
    కుం|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Kannada

Sequence of language Kannada from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0C95

‘\u0c95’

Lo

1

KANNADA LETTER KA

2

U+0CBE

‘\u0cbe’

Mc

0

KANNADA VOWEL SIGN AA

3

U+0C82

‘\u0c82’

Mc

0

KANNADA SIGN ANUSVARA

Total codepoints: 3

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe0\xb2\x95\xe0\xb2\xbe\xe0\xb2\x82|\\n12|\\n"
    ಕಾಂ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Chakma

Sequence of language Chakma from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+00011107

‘\U00011107’

Lo

1

CHAKMA LETTER KAA

2

U+00011133

‘\U00011133’

Mn

0

CHAKMA VIRAMA

3

U+00011120

‘\U00011120’

Lo

1

CHAKMA LETTER YYAA

4

U+0001112C

‘\U0001112c’

Mc

0

CHAKMA VOWEL SIGN E

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x91\x84\x87\xf0\x91\x84\xb3\xf0\x91\x84\xa0\xf0\x91\x84\xac|\\n12|\\n"
    𑄇𑄳𑄠𑄬|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Burmese

Sequence of language Burmese from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1000

‘\u1000’

Lo

1

MYANMAR LETTER KA

2

U+103B

‘\u103b’

Mc

0

MYANMAR CONSONANT SIGN MEDIAL YA

3

U+1031

‘\u1031’

Mc

0

MYANMAR VOWEL SIGN E

Total codepoints: 3

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xb1|\\n12|\\n"
    ကျေ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Urdu

Sequence of language Urdu from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0601

‘\u0601’

Cf

1

ARABIC SIGN SANAH

2

U+06F1

‘\u06f1’

Nd

1

EXTENDED ARABIC-INDIC DIGIT ONE

Total codepoints: 2

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xd8\x81\xdb\xb1|\\n12|\\n"
    ؁۱|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Mon

Sequence of language Mon from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1007

‘\u1007’

Lo

1

MYANMAR LETTER JA

2

U+103C

‘\u103c’

Mc

0

MYANMAR CONSONANT SIGN MEDIAL RA

3

U+1031

‘\u1031’

Mc

0

MYANMAR VOWEL SIGN E

Total codepoints: 3

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe1\x80\x87\xe1\x80\xbc\xe1\x80\xb1|\\n12|\\n"
    ဇြေ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Khün

Sequence of language Khün from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1A23

‘\u1a23’

Lo

1

TAI THAM LETTER LOW KA

2

U+1A55

‘\u1a55’

Mc

0

TAI THAM CONSONANT SIGN MEDIAL RA

3

U+1A6E

‘\u1a6e’

Mc

0

TAI THAM VOWEL SIGN E

4

U+1A60

‘\u1a60’

Mn

0

TAI THAM SIGN SAKOT

Total codepoints: 4

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xe1\xa8\xa3\xe1\xa9\x95\xe1\xa9\xae\xe1\xa9\xa0|\\n12|\\n"
    ᨣᩕᩮ᩠|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

DEC Private Modes Support

DEC private modes results for LXTerminal: 4 changeable modes of 4 supported out of 8 total modes tested (50.0% support, 50.0% changeable).

Complete list of DEC private modes tested:

Mode

Name

Description

Supported

Changeable

Enabled

1004

FOCUS_IN_OUT_EVENTS

Send FocusIn/FocusOut events

Yes

Yes

No

1006

MOUSE_EXTENDED_SGR

Enable SGR Mouse Mode

Yes

Yes

No

2004

BRACKETED_PASTE

Set bracketed paste mode

Yes

Yes

No

2026

SYNCHRONIZED_OUTPUT

Synchronized Output

No

No

No

2027

GRAPHEME_CLUSTERING

Grapheme Clustering

No

No

No

2031

COLOR_PALETTE_UPDATES

Color palette updates

Yes

Yes

No

2048

IN_BAND_WINDOW_RESIZE

In-Band Window Resize Notifications

No

No

No

5522

BRACKETED_PASTE_MIME

Bracketed Paste MIME

No

No

No

Summary: 4 changeable, 4 not changeable.

Kitty Keyboard Protocol

LXTerminal does not support the Kitty keyboard protocol.

XTGETTCAP (Terminfo Capabilities)

LXTerminal supports the XTGETTCAP sequence and reports 94 terminfo capabilities (Partial).

#

Capability

Description

Value

1

RGB

Bits per color channel (8 = 24-bit truecolor)

8

2

TN

Terminal name

xterm-256color

3

colors

Max colors on screen

256

4

kDC

Shifted delete-char key

\E[3~

5

kDC3

Alt delete-char key

\E[3;2~

6

kDC4

Alt-Shift delete-char key

\E[3;5~

7

kDC5

Ctrl delete-char key

\E[3;6~

8

kDC6

Ctrl-Shift delete-char key

\E[3;5~

9

kDC7

Ctrl-Alt delete-char key

\E[3;6~

10

kDN

Shifted down-arrow key

\E[1;2B

11

kDN3

Alt down-arrow key

\E[1;2B

12

kDN4

Alt-Shift down-arrow key

\E[1;5B

13

kDN5

Ctrl down-arrow key

\E[1;6B

14

kDN6

Ctrl-Shift down-arrow key

\E[1;5B

15

kDN7

Ctrl-Alt down-arrow key

\E[1;6B

16

kEND

Shifted end key

\E[1;2F

17

kEND3

Alt end key

\E[1;2F

18

kEND4

Alt-Shift end key

\E[1;5F

19

kEND5

Ctrl end key

\E[1;6F

20

kEND6

Ctrl-Shift end key

\E[1;5F

21

kEND7

Ctrl-Alt end key

\E[1;6F

22

kHOM

Shifted home key

\E[1;2H

23

kHOM3

Alt home key

\E[1;2H

24

kHOM4

Alt-Shift home key

\E[1;5H

25

kHOM5

Ctrl home key

\E[1;6H

26

kHOM6

Ctrl-Shift home key

\E[1;5H

27

kHOM7

Ctrl-Alt home key

\E[1;6H

28

kIC

Shifted insert-char key

\E[2~

29

kIC3

Alt insert-char key

\E[2;2~

30

kIC4

Alt-Shift insert-char key

\E[2;5~

31

kIC5

Ctrl insert-char key

\E[2;6~

32

kIC6

Ctrl-Shift insert-char key

\E[2;5~

33

kIC7

Ctrl-Alt insert-char key

\E[2;6~

34

kLFT

Shifted left-arrow key

\E[1;2D

35

kLFT3

Alt left-arrow key

\E[1;2D

36

kLFT4

Alt-Shift left-arrow key

\E[1;5D

37

kLFT5

Ctrl left-arrow key

\E[1;6D

38

kLFT6

Ctrl-Shift left-arrow key

\E[1;5D

39

kLFT7

Ctrl-Alt left-arrow key

\E[1;6D

40

kNXT

Shifted next-page key

\E[6;2~

41

kNXT3

Alt next-page key

\E[6;2~

42

kNXT4

Alt-Shift next-page key

\E[6;5~

43

kNXT5

Ctrl next-page key

\E[6;6~

44

kNXT6

Ctrl-Shift next-page key

\E[6;5~

45

kNXT7

Ctrl-Alt next-page key

\E[6;6~

46

kPRV

Shifted previous-page key

\E[5;2~

47

kPRV3

Alt previous-page key

\E[5;2~

48

kPRV4

Alt-Shift previous-page key

\E[5;5~

49

kPRV5

Ctrl previous-page key

\E[5;6~

50

kPRV6

Ctrl-Shift previous-page key

\E[5;5~

51

kPRV7

Ctrl-Alt previous-page key

\E[5;6~

52

kRIT

Shifted right-arrow key

\E[1;2C

53

kRIT3

Alt right-arrow key

\E[1;2C

54

kRIT4

Alt-Shift right-arrow key

\E[1;5C

55

kRIT5

Ctrl right-arrow key

\E[1;6C

56

kRIT6

Ctrl-Shift right-arrow key

\E[1;5C

57

kRIT7

Ctrl-Alt right-arrow key

\E[1;6C

58

kUP

Shifted up-arrow key

\E[1;2A

59

kUP3

Alt up-arrow key

\E[1;2A

60

kUP4

Alt-Shift up-arrow key

\E[1;5A

61

kUP5

Ctrl up-arrow key

\E[1;6A

62

kUP6

Ctrl-Shift up-arrow key

\E[1;5A

63

kUP7

Ctrl-Alt up-arrow key

\E[1;6A

64

ka1

Keypad upper left

\E[H

65

ka3

Keypad upper right

\E[5~

66

kbs

Backspace key



67

kc1

Keypad lower left

\E[F

68

kc3

Keypad lower right

\E[6~

69

kcbt

Back-tab key

\E[Z

70

kcub1

Left arrow key

\E[D

71

kcud1

Down arrow key

\E[B

72

kcuf1

Right arrow key

\E[C

73

kcuu1

Up arrow key

\E[A

74

kdch1

Delete character key

\E[3~

75

kend

End key

\E[F

76

kent

Enter/send key

(empty)

77

kf1

Function key F1

\EOP

78

kf10

Function key F10

\E[21~

79

kf11

Function key F11

\E[23~

80

kf12

Function key F12

\E[24~

81

kf2

Function key F2

\EOQ

82

kf3

Function key F3

\EOR

83

kf4

Function key F4

\EOS

84

kf5

Function key F5

\E[15~

85

kf6

Function key F6

\E[17~

86

kf7

Function key F7

\E[18~

87

kf8

Function key F8

\E[19~

88

kf9

Function key F9

\E[20~

89

khome

Home key

\E[H

90

kich1

Insert character key

\E[2~

91

kind

Scroll-down key

\E[1;2B

92

knp

Next page key

\E[6~

93

kpp

Previous page key

\E[5~

94

kri

Scroll-up key

\E[1;2A

The XTGETTCAP sequence (DCS + q Pt ST) allows applications to query terminfo capabilities directly from the terminal emulator, rather than relying on the system terminfo database.

Text Sizing Protocol (OSC 66)

LXTerminal does not support the Text Sizing protocol.

Truecolor Support

LXTerminal supports 24-bit truecolor, detectable via:

  • XTGETTCAP (RGB capability): yes (RGB)

  • DECRQSS (truecolor probe): yes (probe)

  • COLORTERM: yes (truecolor)

OSC 52 Clipboard Support

LXTerminal does not advertise OSC 52 clipboard support via DA1 extension 52 or XTGETTCAP Ms.

  • DA1 extension 52: no

  • XTGETTCAP Ms: no

Terminal Identification

LXTerminal is identified as LXTerminal version 0.4.1-2 (VTE/8400) (detected via XTVERSION).

  • XTVERSION (raw): VTE(8400)

  • XTVERSION: yes

  • XTGETTCAP TN: yes (xterm-256color)

  • ENQ: no

  • TERM_PROGRAM: no

  • TERM: no (xterm-256color)

Reproduction

To reproduce these results for LXTerminal, install and run ucs-detect with the following commands:

uvx ucs-detect --rerun data/lxterminal.yaml

Test Performance

The test suite completed in 503.10 seconds (503s).

  • Mean CPU: 4.9%

  • Mean RSS: 59.7 MB

  • Total time: 503.1s

CPU usage over time

CPU usage during test execution for LXTerminal.

RSS memory over time

RSS memory usage during test execution for LXTerminal.

Duration comparison

Test duration for LXTerminal compared to all other terminals.

CPU % vs Duration

CPU % vs duration trade-off for LXTerminal.