Terminal: Agregar ajuste para controlar el "Desenfoque" acrílico además de la opacidad

Creado en 1 jul. 2019  ·  38Comentarios  ·  Fuente: microsoft/terminal

Prácticamente el título.

En este momento solo estamos usando la cantidad de desenfoque predeterminada.

Area-Settings Area-TerminalControl Help Wanted Issue-Task Product-Terminal

Comentario más útil

Para aclarar, ¿permitiría esto la transparencia de la ventana sin el desenfoque (es decir, actuar como cmd y PS)? Sería genial poder leer texto detrás de la ventana.

Todos 38 comentarios

El control deslizante de opacidad, con un interruptor para activar o desactivar el acrílico, también funcionaría

Tirando de la etiqueta de triaje. Esta es una cantidad conocida de trabajo que solo necesitamos _hacer_.

Esto podría ser imposible ...

Cuando presenté este problema, pensé erróneamente que había una propiedad "Blur" en AcrylicBrush, pero eso no parece que esté expuesto en absoluto. Consulte su página en MSDN .

Y mirando este problema , parece que esto podría ser imposible, por razones de seguridad.

En este sentido, me gustaría dos propiedades independientes para establecer valores acrílicos para cuando la ventana está en primer plano y cuando está en segundo plano. Por ejemplo, me gustaría que la ventana tenga un 90% de opacidad cuando la ventana tiene foco y un 70% de opacidad cuando no lo tiene.

Para aclarar, ¿permitiría esto la transparencia de la ventana sin el desenfoque (es decir, actuar como cmd y PS)? Sería genial poder leer texto detrás de la ventana.

Cuando presenté este problema, pensé erróneamente que había una propiedad "Blur" en AcrylicBrush, pero eso no parece que esté expuesto en absoluto. Consulte su página en MSDN.

¿No está eso controlado por TintOpacity ? https://docs.microsoft.com/en-us/windows/uwp/design/style/ac Acrylic -ac Acrylic-brush

Supongo que esto es lo que la mayoría de la gente (o, al menos, yo) quiere decir cuando habla de cambiar el nivel de desenfoque.

He encontrado (al menos una) forma de lograr este efecto, pero no a través de UWP. La API realmente antigua de la era de Vista DwmEnableBlurBehindWindow , si se llama en Windows 10, cambia el fondo de la ventana a un negro semitransparente, sin desenfoque. Qué irónico dado el nombre de la función, ¿eh? AFAICT, esto no presenta ningún problema de seguridad, ya que la aplicación no puede leer el contenido del fondo que se muestra, ya que se procesa completamente dentro de dwm.exe.

Dicho esto, ¿no podríamos usar SetLayeredWindowAttributes en la raíz HWND, tal como lo hace conhostV2? Según entiendo los documentos, esto también debería afectar a las ventanas secundarias. Si lo hace de una manera que no sería satisfactoria, podemos usar esa misma función para establecer el alfa de los HWND secundarios en 255 (opaco), luego borrar las ventanas secundarias con un color transparente para borrar el relleno de fondo predeterminado. Después de eso, deberíamos poder dibujar lo que queramos encima de la ventana de fondo transparente. Esto puede requerir un poco de refactorización de la arquitectura de Cascadia, pero no veo ninguna razón por la que no se pueda hacer. ¡Espero que esto ayude!

Para agregar mis 2 centavos, realmente me gustaría el tipo de opciones de transparencia y desenfoque que tiene iterm2 en Mac. Tiene una transparencia regular y puede agregar solo un poco de desenfoque para reducir la fatiga visual, pero aún así distinguir el fondo de pantalla o lo que sea con claridad.

El acrílico se ve terrible, y la cosa debajo de la ventana es completamente irreconocible.

@ zadjii-msft @ DHowett-MSFT No estamos limitados por la API publicada como desarrolladores de MSFT. Si te comunicas con los encargados de la biblioteca, probablemente puedas solucionar esto, que construyan lo suyo de una manera estúpida no significa que todos tengamos que vivir con eso, ¿verdad?

Para que conste, esta es la última característica imprescindible para mí y la transparencia de la ventana no es realmente utilizable sin ella. Sin embargo, al menos la transparencia de la imagen de fondo funciona, pero es mucho mejor poder ver aplicaciones reales debajo y / o su escritorio real. Terminus, Alacritty y Conemu logran esto (aunque con diversos grados de éxito).

@ zadjii-msft @ DHowett-MSFT No estamos limitados por la API publicada como desarrolladores de MSFT. Si te comunicas con los encargados de la biblioteca, probablemente puedas solucionar esto, que construyan lo suyo de una manera estúpida no significa que todos tengamos que vivir con eso, ¿verdad?

👆🏻 esto. tanto esto.

Notaré que https://github.com/goreliu/wsl-terminal maneja la transparencia muy bien (y creo que la forma en que la mayoría de la gente aquí quiere), por lo que investigar esa base de código es probablemente un lugar razonable para comenzar.

* EDITAR *

Y la opción de transparencia realmente proviene del proyecto https://github.com/mintty/mintty subyacente

Quiero leer lo que hay detrás de la ventana, generalmente ejemplos de código en una página web. En ese sentido, ¿sería mejor tener una tecla de acceso rápido que alterna entre la transparencia borrosa y la no borrosa? Aka, apaga el acrílico pero mantiene la transparencia. Podría ser presionar y mantener o alternar, sería divertido probar ambos.

Este comentario (https://github.com/microsoft/terminal/issues/1375#issuecomment-569483109) de @JasonStein podría ser relevante para este hilo:

Hola chicos, soy el autor de Bloc de notas, así es como hago que el efecto acrílico de fondo sea "siempre encendido" tanto para la barra de título como para el cuerpo de la ventana de Bloc de notas Aplicación: Bloc de notas : src / Bloc de notas / Servicios / ThemeSettingsService.cs @ 12940ad # L253

Yo mismo creé el pincel acrílico usando "AcrylicBackgroundSource.HostBackdrop" con la ayuda de la biblioteca UICompositionAnimations para hacer mi vida más fácil (ref: Sergio0694 / UICompositionAnimations ).

Básicamente, se trata de crear el pincel desde cero utilizando API de composición (AcrylicBackgroundSource.HostBackdrop + Noise texture).

AcrylicBrush API no es la única opción. Realmente me gustaría tener una opción para una opacidad que no sea borrosa, además de las opciones acrílicas. Es extraño dejar caer una característica útil de cmd al hacer esta Terminal de Windows como cmd-ng.

La transparencia sin desenfoque en absoluto, si eso se puede hacer sin acrílico, incluso sería genial, por lo que no tengo que presionar la tecla Alt para verificar algo.

En mac y Linux utilizo un terminal transparente todo el tiempo porque a menudo leo un documento o algún código fuente en la ventana de abajo mientras escribo, es extremadamente útil.

Aunque controlar el desenfoque sería ideal. (en la Mac, uso un 3% de desenfoque solo para que el texto del terminal se destaque sin que el texto detrás sea difícil de leer).

Para aclarar, ¿permitiría esto la transparencia de la ventana sin el desenfoque (es decir, actuar como cmd y PS)? Sería genial poder leer texto detrás de la ventana.

¡Exactamente! De hecho, ni siquiera consideraré cambiar a Windows Terminal (por mucho que me encanta) hasta que esto se implemente. Sigo revisando, pero me decepcionó ver que todavía no se ha hecho.

Esta función es especialmente útil para aquellos con un solo monitor o espacio de pantalla limitado. Casi siempre tengo alguna página web u otro texto detrás de mi terminal que quiero poder leer mientras estoy en la terminal. Ajuste mi transparencia / opacidad apropiadamente para que esta sea una experiencia cómoda y así pueda leer bien mi terminal.

Implemente esto lo antes posible. Estoy deseando usar WT y lo he estado siguiendo desde el primer lanzamiento de Alpha.

Como beneficio adicional, también debería haber un booleano para alternar si la transparencia / opacidad también debería aplicarse al texto en la Terminal. Esto aseguraría que el texto en el terminal permanezca vibrante y visible para hacerlo más distinguible de cualquier otro texto en las ventanas detrás del terminal.

Si se hace referencia al desenfoque como acrílico, no creo que deba desviarse de la construcción visual de otras superficies acrílicas más allá de la opacidad (que es variable con los pinceles acrílicos)

Si comienza a separar las distintas capas como las cantidades de Ruido, Luminosidad o Desenfoque, ya no es "Acrílico" sino un conjunto de efectos de capa de composición.

Sigo revisando

¡buenas noticias! Recibirás un correo electrónico cuando cerremos este error: sonríe: para bien o para mal

Tengo que hacerme eco de lo que dicen los demás; Actualmente utilizo la instalación de PowerShell Core msi como mi shell principal. Como componente muy importante de mi trabajo, estoy en esta consola a media pantalla o pantalla completa en una pantalla ultra ancha todo el día y necesito poder ver las cosas con claridad debajo.

Me encanta la idea y aprecio el esfuerzo que Microsoft está poniendo en algunas de las utilidades de administración en Windows pero, en este punto, esta nueva Terminal es simplemente una novedad que no puede reemplazar de manera significativa la consola original. Vea la captura de pantalla a continuación; ambas ventanas se colocan sobre el mismo lugar en esta página. Uno es genial y el otro inutilizable, no tengo que señalar cuál es cuál.

image

esta nueva Terminal es simplemente una novedad

Agradezco sus amables críticas al proyecto en el que hemos estado trabajando durante el último año y medio, pero ¿podría usted _no_?

Siento empatía por cómo te sientes; no es un lugar divertido, pero también ubíquese en la perspectiva de la base de usuarios (de clientes que pagan en gran medida) que ha estado esperando esto durante un año y medio. Quería hacerme eco de los otros pensamientos que parecen estar invadiendo la comunidad con respecto a este producto y quería al menos proporcionar una captura de pantalla para ser constructivo, ya que nadie más lo había hecho hasta este momento. Sin ver realmente cuál es el problema, sería fácil descartar el problema como un problema menor o quejumbroso, pero espero que reconozca que la consola superior en mi captura de pantalla claramente no funciona. Espero que se pueda arreglar.

  1. No se preocupe, todos los miembros del equipo son usuarios diarios de la Terminal. Todos somos la base de usuarios tanto como nuestros clientes externos.
  2. Para el registro, la Terminal solo se anunció en abril pasado, por lo que solo han estado esperando 13 meses 😉
  3. Hemos estado investigando este problema durante un tiempo. Entendemos que este no es un problema gráfico trivial, pero desafortunadamente, no es un problema técnicamente trivial de solucionar 😕

@ zadjii-msft Entiendo la tercera parte y por eso publiqué la captura de pantalla para ilustrar de qué se están quejando todos en este y otros temas. Les agradezco que hayan trabajado para crear productos geniales con un enfoque más independiente del sistema operativo, espero que siga avanzando sin demasiado dolor de cabeza para ustedes.

"Nuestra misión es capacitar a todas las personas y organizaciones del planeta para que logren más". - Microsoft

Desafortunadamente, esta nueva Terminal se acerca un poco. Definitivamente viene con algunas características sorprendentes, como pestañas. ¡¡¡ASOMBROSO!!! Sin embargo, como desarrolladores tenemos que tomar lo bueno con lo malo, y a veces no nos damos cuenta de que faltan características que terminan siendo muy importantes para el usuario hasta después del lanzamiento. 🤦🏼‍♂️ Esto es software gratuito, así que estoy increíblemente agradecido por eso y por el fantástico compromiso con el código abierto de Microsoft en los últimos años (especialmente desde que Satya cambió la empresa). Al mismo tiempo, la transparencia de cualquier terminal es imprescindible en mi libro. Los efectos acrílicos son bonitos sin duda, pero no todos estarán de acuerdo con el desenfoque, incluido yo mismo, especialmente con un espacio de pantalla limitado. 🥰

¡Sigan con el gran trabajo del equipo de Windows Terminal!

Realmente me encantaría si el equipo de Microsoft agrega esta función, la pregunta es, ¿cómo podemos pedir que esta función se incluya en la próxima versión? Estoy bastante seguro de que esto se puede lograr, gracias por todo el trabajo que habéis logrado con este terminal hasta ahora. Sí, no es un problema técnico, es un nuevo requisito para el terminal.

_Me encantaría_ tener esto en la próxima versión, pero como he descrito en detalle en https://github.com/microsoft/terminal/issues/603#issuecomment -626830075, este _es_ un problema técnico que no tengo una solución fácil, por lo que realmente no puedo comprometerme a agregarlo en ninguna versión en particular.

impresionado hasta ahora con los esfuerzos y esperando que este desenfoque configurable (¡o incluso simplemente semitransparencia sin el acrílico!) eventualmente se agregue ... pero hasta entonces se quedará con wsltty.

La transparencia es imprescindible para una ventana de terminal, ya que la mayoría de los usuarios avanzados necesitan ver a través de la ventana con frecuencia. El desenfoque es principalmente cosmético, mientras que la transparencia es una herramienta real.

@harounhajem, eso no es lo mismo que se discute en este hilo: la tarea en este hilo es controlar cuánto difumina la Terminal el fondo con acrílico habilitado. Supuse que "Blur" era una propiedad en AcrylicBrush , cuando en realidad no lo es.

Honestamente, este es probablemente un engaño del # 603 en este punto, pero lo dejo abierto porque hay al menos otras 22 personas que ya están siguiendo este hilo para una resolución.

Lol @ zadjii-msft, se perdió totalmente el punto. Y parece que eliminó su comentario. 😅
Pero sí, muchos de nosotros estamos esperando el día en que podamos usar esta aplicación de terminal. 👀

No estoy seguro de si esto debería ser un problema separado o no. También me gustaría tener una opción para mantener la opacidad cuando Terminal no es la ventana activa, o mejor aún, la opción de usar un valor de opacidad alternativo cuando está inactivo.

Por ahora, tengo un atajo para configurar la ventana activa en ~ 80% de opacidad, lo que funciona muy bien con el desenfoque acrílico, ya que puedo ver lo que hay detrás, pero el efecto de desenfoque ayuda a que el texto del terminal siga siendo bastante legible.

El acrílico de WT se establece en 0.8 , mientras que la función AutoHotKey establece la opacidad en 200 (200/255).

Por ahora, tengo un atajo para configurar la ventana activa en ~ 80% de opacidad, lo que funciona muy bien con el desenfoque acrílico, ya que puedo ver lo que hay detrás, pero el efecto de desenfoque ayuda a que el texto del terminal siga siendo bastante legible.

El acrílico de WT se establece en 0.8 , mientras que la función AutoHotKey establece la opacidad en 200 (200/255).

Tendría curiosidad por leer más sobre su configuración para eso si estuviera dispuesto a compartir. Suena como algo que me resultaría útil.

Función AutoHotKey:

#^Esc::
  WinGet, TransLevel, Transparent, A
  If (TransLevel = OFF) {
    WinSet, Transparent, 180, A
  } Else {
    WinSet, Transparent, OFF, A
  }
return

Esto alterna la ventana activa entre opacidad total y opacidad 180/255. El atajo es Win+Ctrl+Esc .
Para Windows Terminal, simplemente configure "acrylicOpacity" en algo entre 0.7 y 0.9 , dependiendo de su color de fondo (más oscuro = más notablemente transparente). Yo suelo:

"background" : "#560152",
"acrylicOpacity" : 0.75,

@narfanar ¡ Muchas gracias por esto! ¡Ahora tengo una terminal transparente en Windows!

Esto no funcionó para mí tal como está, por alguna razón mi versión de Windows no comprende la configuración OFF , así que la modifiqué ligeramente:

; Toggle window transparency.
#^Esc::
WinGet, TransLevel, Transparent, A
If (TransLevel = 255) {
    WinSet, Transparent, 205, A
} Else {
    WinSet, Transparent, 255, A
}
return

Función AutoHotKey:

¡Dios mío, muchas gracias! Ni siquiera se me ocurrió que AHK pudiera hacer esto. Ajustar la configuración de acrílico para obtener la cantidad de desenfoque deseada parece funcionar. Aún es un poco más molesto que el desenfoque que se obtiene en la terminal mac, pero hace el trabajo.

Puedo usar esta terminal como mi principal ahora ty @narfanar

¿Fue útil esta página
0 / 5 - 0 calificaciones