recognize Terminology via DA3 of ~~TY

pull/1965/head
nick black 3 years ago
parent 5879c8a523
commit 08e0acf92b
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -84,7 +84,7 @@ relies on the font. Patches to correct/complete this table are very welcome!
| [Tabby](https://github.com/Eugeny/tabby) | ? | ? | ? | ? | |
| [Terminal.app](https://en.wikipedia.org/wiki/Terminal_(macOS)) | ? | ? | ? | `TERM=xterm-256color`| No RGB |
| [Terminator](https://github.com/software-jessies-org/jessies/wiki/Terminatorhttps://github.com/software-jessies-org/jessies/wiki/Terminator) | ✅ | ? |? | ? | |
| [Terminology](https://github.com/borisfaure/terminology) | ❌ | ❌ |? | `TERM=terminology` | |
| [Terminology](https://github.com/borisfaure/terminology) | ❌ | ❌ |? | `TERM=terminology` | Identified via DA3. 256 colors, no RGB. |
| [Tilda](https://github.com/lanoxx/tilda) | | ? |? | ? | |
| [tmux](https://github.com/tmux/tmux/wiki) | ✅ | ❌ |n/a |`TERM=tmux-256color` `COLORTERM=24bit`| `tmux.conf` must apply `Tc`; see below. `bce` is available with the `tmux-256color-bce` definition. |
| [WezTerm](https://github.com/wez/wezterm) | ✅ | ✅ |? |`TERM=wezterm` `COLORTERM=24bit` | See below. |

@ -915,6 +915,8 @@ stash_string(query_state* inits){
case STATE_TDA1:
if(strcmp(inits->runstring, "~VTE") == 0){
inits->qterm = TERMINAL_VTE;
}else if(strcmp(inits->runstring, "~~TY") == 0){
inits->qterm = TERMINAL_TERMINOLOGY;
}else if(strcmp(inits->runstring, "FOOT") == 0){
inits->qterm = TERMINAL_FOOT;
}

@ -31,6 +31,7 @@ typedef enum {
TERMINAL_ALACRITTY, // can't be detected; match TERM+DA2
TERMINAL_CONTOUR, // XTVERSION == 'contour ver'
TERMINAL_ITERM, // XTVERSION == 'iTerm2 [ver]'
TERMINAL_TERMINOLOGY, // TDA: "~~TY"
} queried_terminals_e;
// sets up the input layer, building a trie of escape sequences and their

@ -488,10 +488,12 @@ apply_term_heuristics(tinfo* ti, const char* termname, int fd,
if(add_pushcolors_escapes(ti, tablelen, tableused)){
return -1;
}
// FIXME remove synchronization mode; it's still broken in 0.21.2, and we
// don't need it anyway
}else if(qterm == TERMINAL_ALACRITTY){
termname = "Alacritty";
ti->caps.quadrants = true;
// ti->caps.sextants = true; // alacritty https://github.com/alacritty/alacritty/issues/4409 */
// ti->caps.sextants = true; // alacritty https://github.com/alacritty/alacritty/issues/4409
ti->caps.rgb = true;
// Alacritty implements DCS ASU, but no detection for it
if(add_appsync_escapes_dcs(ti, tablelen, tableused)){
@ -561,6 +563,9 @@ apply_term_heuristics(tinfo* ti, const char* termname, int fd,
termname = "Linux console";
}
ti->caps.braille = false; // no caps.braille, no caps.sextants in linux console
}else if(qterm == TERMINAL_TERMINOLOGY){
termname = "Terminology";
ti->caps.rgb = false; // as of at least 1.9.0
}
// run a wcwidth(⣿) to guarantee libc Unicode 3 support, independent of term
if(wcwidth(L'') < 0){

Loading…
Cancel
Save