Terminal: Suporte para redefinir as cores via OSC 104, 110, 111 ...

Criado em 26 nov. 2019  ·  3Comentários  ·  Fonte: microsoft/terminal

Descrição do novo recurso / aprimoramento

Estas são as contrapartes do OSC 4, 10, 11 para redefinir a cor padrão. (E continue a linha com 117, 119 se 17, 19 forem implementados, etc.)

Detalhes de implementação técnica proposta (opcional)

No Terminal VTE + GNOME, descobrimos que o melhor é se as sequências OSC 4, 10, 11 têm precedência sobre as configurações do arquivo de configuração / IU. Ou seja, para cada slot de cor, se seu valor for definido via OSC 4, 10, 11 então aquele é usado e aquele nas configurações é ignorado. Se um valor não foi definido via OSC 4, 10, 11, ou foi redefinido via OSC 104, 110, 111, então o valor especificado nas configurações do emulador de terminal é usado. Dessa forma, reaplicar as mesmas configurações é uma operação idempotente. (Anteriormente, as duas fontes estavam lutando entre si, ambas sobrescrevendo o valor no mesmo slot. Dessa forma, reaplicar a configuração do usuário (por exemplo, "alterar" uma cor para o mesmo valor) invalidaria um OSC anterior, o que era ruim. )

Area-VT Help Wanted Issue-Task Product-Conhost

Comentários muito úteis

Falando por mim mesmo, isso está no fundo da minha lista de prioridades, porque acho que vai ser um pouco chato. Ele precisa ser implementado duas vezes, porque a paleta de cores é uma daquelas coisas que deve ser tratada separadamente pelo conhost e pelo Terminal do Windows. E no lado do conhost realmente não existe um conceito de "paleta padrão" para redefinir, porque as cores iniciais podem vir de uma variedade de fontes (por exemplo, links de atalho e entradas de registro), e a fonte pode mudar em tempo de execução.

Também tenho planos de refatorar parte do código de gerenciamento de paleta e não estou interessado em adicionar mais nenhuma funcionalidade de paleta até que a refatoração esteja fora do caminho. Não que a refatoração seja necessariamente um pré-requisito para esse recurso, mas eu pessoalmente prefiro limpar isso primeiro.

Então, basicamente, parece muito trabalho para um recurso bastante obscuro e que eu suspeito que poucas pessoas irão se importar. Mas esse é apenas meu ponto de vista. É possível que outra pessoa considere isso mais uma prioridade e decida assumi-la mais cedo.

Todos 3 comentários

Eu acabei de ricochetear nisso. Estou usando um script com OSC 10 e 11 para alternar de Solarized Dark para Solarized Light em sessões do Administrator PowerShell. No entanto, editar minha configuração faz com que todas essas sessões tenham suas cores redefinidas, exceto para um monte de coisas que parecem manter o esquema de cores desde o momento em que foi escrito (no PowerShell, acho que este é o PS-Readline em ação).

Estou particularmente interessado no comportamento das camadas de configuração, mas sem o OSC 104/110/111, ser incapaz de aplicar alterações de configuração é provavelmente uma regressão UX.

Há alguma preocupação particular com o comportamento proposto, por exemplo, padronização / uniformização? Ou é apenas um caso de implementação do código relevante neste repo?

Ou (com base no fato de o marco ser um lançamento do Windows) realmente exige trabalho interno da MS primeiro para oferecer suporte à redefinição das cores?

Falando por mim mesmo, isso está no fundo da minha lista de prioridades, porque acho que vai ser um pouco chato. Ele precisa ser implementado duas vezes, porque a paleta de cores é uma daquelas coisas que deve ser tratada separadamente pelo conhost e pelo Terminal do Windows. E no lado do conhost realmente não existe um conceito de "paleta padrão" para redefinir, porque as cores iniciais podem vir de uma variedade de fontes (por exemplo, links de atalho e entradas de registro), e a fonte pode mudar em tempo de execução.

Também tenho planos de refatorar parte do código de gerenciamento de paleta e não estou interessado em adicionar mais nenhuma funcionalidade de paleta até que a refatoração esteja fora do caminho. Não que a refatoração seja necessariamente um pré-requisito para esse recurso, mas eu pessoalmente prefiro limpar isso primeiro.

Então, basicamente, parece muito trabalho para um recurso bastante obscuro e que eu suspeito que poucas pessoas irão se importar. Mas esse é apenas meu ponto de vista. É possível que outra pessoa considere isso mais uma prioridade e decida assumi-la mais cedo.

Faz sentido. Não é de forma alguma um bloqueador para mim, então estou feliz em esperar por qualquer refatoração planejada (e talvez # 942), antes de começar a tentar colher frutos mais fáceis.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mdtauk picture mdtauk  ·  3Comentários

warpdesign picture warpdesign  ·  3Comentários

ghvanderweg picture ghvanderweg  ·  3Comentários

TayYuanGeng picture TayYuanGeng  ·  3Comentários

ghost picture ghost  ·  3Comentários