3 votos

Applescript para silenciar la discordia

Edit: Mi pregunta inicial, no parece haber una solución. En lugar de ello he utilizado un método alternativo. Desplácese hacia abajo para ver el método alternativo.

Estoy buscando una solución para silenciar el micrófono en Discordia que me pueden agregar a mi touchbar a través de bettertouchtool.

BTT no puede enviar combinaciones de teclas a la Discordia por la razón que sea. Como lo que yo puedo decir que tengo dos opciones.

  1. Utilizar applescript para activar la Discordia ventana, enviar la clave de prensa, a continuación, ocultar la ventana. Esto funciona, pero a parpadear la aplicación por un momento es molesto. Peor cuando se está en otro escritorio como girará equipos de escritorio con el y luego de vuelta.

  2. Utilizar applescript para haga clic en el menú superior, (this menu) haga clic en el la Discordia menú, y descender a través de los elementos de interfaz de usuario para que haga clic en el botón de Silencio.

No tengo experiencia suficiente con applescript para hacer la segunda opción de trabajo, pero creo que se podría trabajar. Con interfaz de usuario del navegador yo era capaz de obtener la ruta de acceso para el elemento de interfaz de usuario: enter image description here

¿Cómo puedo hacer que esto funcione? Cualquier ayuda es muy apreciada. Gracias

Edit HR

SOLUCIÓN ALTERNATIVA

Lo que estoy queriendo hacer aquí no parece ser posible, así que voy a silenciar mi mic a nivel de sistema operativo en lugar de la Discordia y, a continuación, la adición de un botón de alternar a mi touchbar con BetterTouchTool. Esto tiene el beneficio adicional de trabajo en todo el sistema. Aquí el vídeo de la acción:

GIF

Streamable

En caso de que alguien más estaba con ganas de hacer este estos son los pasos:

1. Crear un nuevo Applescript con la siguiente secuencia de comandos:

property storedInputLevel : missing value
if input volume of (get volume settings) is 0 then
    set volume input volume storedInputLevel
    return 1
else
    tell application "System Events"
        set storedInputLevel to input volume of (get volume settings)
    end tell
    set volume input volume 0
    return 2
end if

Guardar la secuencia de comandos en algún lugar.

2. Abierto hasta Mejor Toque de la Herramienta y crear un nuevo Toque widget de la Barra y configurar el widget a Run Apple Script and Show Return Value enter image description here

3. En la ventana que aparece después de seleccionar Run Apple Script and Show Return Value usted querrá borrar la línea de prueba en la caja y dar su widget un nombre: enter image description here

3.un Clic en la apariencia y en el botón configuración

enter image description here

4. En la Appearance and Settings ventana usted querrá configurar las siguientes opciones: enter image description here

Usted no necesita para establecer una alternativa de color de fondo, pero ayuda a ver que usted está silenciado de un solo vistazo.

Para los iconos que usted puede utilizar estas:

enter image description hereenter image description here

Asegúrese de que establece el Alternate color and icon if result matches regex valor a 2.

Haga Clic En Guardar.

5. En el nuevo widget creado haga clic en el menú desplegable Predefined action y elija Run Apple Script (async in background).

enter image description here

6. En la ventana que apareció usted querrá haga clic en Select Apple Script File y, a continuación, Choose Apple Script file from Disk y busque el archivo de secuencia de comandos que creó anteriormente. Haga clic en guardar y listo.

image13

Eso es todo. El widget debe cambiar su micrófono encendido y apagado y el cambio debe reflejarse en el icono de toque de la barra.

3voto

qarma Puntos 71

En primer lugar, bien hecho para explorar y hacer su propia investigación con la que ha venido armado para preguntar cómo puede ser aplicado para formar una solución. Se hace mucho más fácil a la hora de ofrecer ayuda.

Con eso en mente, la captura de pantalla de la interfaz de usuario del Navegador es sumamente útil, ya que literalmente establece la jerarquía de elementos de interfaz de usuario que tenemos que recorrer para alcanzar el objetivo de elemento de menú y emitir un clic a través de AppleScript:

tell application "System Events"
    tell application process "Discord"
        tell menu bar 2
            tell menu bar item 1
                click

                tell (a reference to menu 1)
                    repeat until it exists
                        delay 0.2
                    end repeat
                    tell menu item "Mute"
                        click
                    end tell
                end tell
            end tell
        end tell
    end tell
end tell

Sin embargo, hay una conocida y bien-preguntó/documenta/quejó-sobre el fenómeno de un irritante de 5 segundos inexplicable retraso entre la primera click que muestra el menú, y el segundo, click que selecciona el elemento de menú. Esto no es específico para la Discordia, pero parece aplicar a menú icono de la barra de menús.

Varias soluciones se han propuesto para solucionar esto, pero no voy a entrar en detalle porque ninguno de ellos son a) confiable, b) , sin efectos secundarios, o c) limpia a implementar. Sin duda va a hacer una rápida búsqueda de sí mismo, y encontrar la solución más común, que es matar a los Eventos del Sistema de proceso entre los dos primeros click eventos. Pero usted encontrará más allá de la lectura que, posteriormente, los usuarios informan de que este método deja de funcionar; y en el interrim, las causas de los Eventos del Sistema para lanzar otros, sin relación errores que no tuvo antes.

Por lo tanto, esta solución para usted es agridulce, me temo. He mostrado cómo AppleScript su camino a la opción de menú que desee; pero el resultado final no puede ser más atractivo que su primera opción.

EDIT: la Posible falta de AppleScript Solución

Después de haber descargado una copia de la Discordia a mí mismo para ver qué es lo que, en primer lugar tenga en cuenta que mi versión de la aplicación no tiene ningún tipo de menú icono de la barra de hablar. Debe ser un valor no he recogido.

Lo que me hizo deducir, sin embargo, es la opción de ajuste definido por el usuario keybinding de los disparadores de una selección de funciones, uno de los cuales es un toggle para el mic mute:

Discord Keybindings in macOS

Aquí, he configurado uno para enlazar para activar / desactivar Silencio. Como era de esperar, funciona dentro de la aplicación. Sorprendentemente, funciona fuera de la aplicación, cuando no tienen el foco, e incluso cuando se minimiza. Aún más sorprendentemente, funcionó cuando la Discordia fue residente en un escritorio independiente (el espacio), y que en ningún momento hizo la Discordia de la aplicación necesitan para alcanzar un foco o el active desktop ser cambiado, lejos de.

Creo que esto es exactamente la solución que usted está después de una tecla de acceso directo que opera a nivel mundial en su sistema para silenciar su Discordia micrófono.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X