microsoft / microsoft/terminal

Expose Windows IME status to terminal applications

Aperta
#20,653 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Issue-Feature Needs-Tag-Fix Needs-Triage
Lingua principale
C++
Stelle
105k
Fork
9.6k
Merge medio
3g 17h
PR unite (30g)
29

Descrizione

### Description of the new feature

I use Windows Terminal with WSL2, and sometimes terminal applications need to know the current Windows IME status.

I had this problem with Neovim before, so I made a small CLI tool called winime_en:

https://github.com/hdformat/winime_en

It switches the Windows IME to English, and I use it from Neovim running inside WSL. I made this because Korean input is inconvenient when entering Normal mode.

Recently I had a similar problem with Herdr. Herdr has a prefix mode like tmux, and the prefix commands need English input. But an application running inside WSL does not have a simple way to know the current Windows IME status.

I think it would be useful if Windows Terminal exposes the IME status to programs running inside the terminal.

For example:

wt.exe --ime-status --format json

Example output:

{
"language": "ko-KR",
"mode": "hangul"
}

or:

{
"language": "ko-KR",
"mode": "ascii"
}

The command and JSON format are only examples. I don't know what is the best interface for Windows Terminal.

This could be useful for Neovim, tmux, Herdr, and other terminal programs, especially when they are running inside WSL.

I found #19491, which suggests showing the IME status by changing the cursor color. I think exposing the same information to terminal applications could also be useful.

### Proposed technical implementation details

I am not sure about the implementation.

Maybe Windows Terminal can expose the current IME status through a CLI command, environment/session interface, or some other machine-readable interface that can also be accessed from WSL.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando lo strumento winime_en esistente e l’issue #19491 per comprendere le informazioni IME richieste e il comportamento correlato del terminale. Definisci un’interfaccia leggibile dalle macchine a cui possano accedere le applicazioni in esecuzione all’interno di WSL, quindi verifica che le applicazioni del terminale possano recuperare in modo affidabile la lingua e la modalità di input correnti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
cli, operating-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.