Anular el acceso directo de todo el sistema para acceso directo específico de la aplicación

11

¿Hay alguna manera de proporcionar un método abreviado de teclado definido en la precedencia de una aplicación sobre un método abreviado de todo el sistema con la misma combinación de teclas?

Comportamiento deseado: cuando se presionan algunas teclas , verifique si la aplicación enfocada desea hacer algo (y si es así, hágalo). De lo contrario, verifique si hay un acceso directo del sistema para algunas teclas y luego haga eso.

Lo que sucede actualmente: lo F11configuré como 'alternar pantalla completa' en el menú de configuración de atajos de teclado. En Chrome F11debe activar el modo de pantalla completa de Chrome, pero en su lugar se anula el acceso directo de todo el sistema, es decir, Chrome se convierte en pantalla completa (panel GNOME y barra de título desaparece) pero no ingresa al modo de pantalla completa de Chrome (donde las pestañas, la barra de direcciones y la barra de marcadores también desaparecer).

(Nota al margen: Firefox no tiene el mismo problema, pero esto parece deberse a que la pantalla completa FF es la misma que / es activada por la pantalla completa del administrador de ventanas)

Fred
fuente
La primera pregunta que me viene a la mente; ¿Qué le dice al sistema operativo sobre las pulsaciones de teclas, la aplicación o X / Wayland? Me parece que la X manejará una pulsación de tecla y la destruirá si es necesario, antes de pasarla a la ventana en la que su aplicación lo está esperando. La segunda pregunta es ¿cómo sabría X si la aplicación ha cambiado de estado y cómo sabría si se produjo un cambio directamente debido a una pulsación de tecla? Me inclinaría a arriesgarme y decir que no tienes suerte en esto.
HellionWisp

Respuestas:

2

Descargo de responsabilidad: esto no es exactamente lo que quieres, pero he dedicado demasiado tiempo a esto para no publicarlo y tal vez alguien más pueda usarlo.

¡Llegué a que Ctrl + F11 es pantalla completa en todas partes, excepto Chromium, donde es la pantalla completa de Chromium!

  1. Tren de pensamiento

Pensé que podría engañar al administrador de ventanas si uso xdotooly envío el comando directamente a la ventana de Chrome, pero fue en vano.

Entonces pensé que podría cambiar el atajo de teclado en Google Chrome, pero eso parece codificado: otro callejón sin salida.

  1. Lo que nos deja con esto

Instalar xdotoolpara simular las pulsaciones del teclado

sudo apt-get install xdotool

reconfigurar los atajos de teclado de Ubuntu en algo arbitrario, que nunca escribimos pero que se puede usar en el script

Configuración -> Dispositivos -> Teclado

Desplazamiento hacia abajo y editar el modo de pantalla completa Cambiar a Ctrl + Alt + 1y después haga clic en el +y añadir un atajo de teclado personalizado

atajos de teclado - pantalla completa

y luego presiona +y agrega un atajo de teclado personalizado

cuadro de diálogo de acceso directo personalizado

editar el guión

nano /home/user/fullscreen.sh


#!/bin/bash
export DISPLAY=:0
windowname=$(xdotool getactivewindow getwindowname | cut -d "-" -f 2)
if [[ $windowname != *"Chromium"* ]]
then
xdotool keydown Ctrl keydown Alt key 1 keyup Alt keyup Ctrl
else
xdotool search --onlyvisible --class "Chromium" windowfocus 
sleep 0.2
xdotool key F11
fi

hazlo ejecutable

chmod +x /home/user/fullscreen.sh

  1. Conclusión

Parece imposible engañar al administrador de ventanas y pasar de contrabando, pero ciertamente hay posibles soluciones alternativas. En este caso, Google hizo que el método abreviado de teclado de pantalla completa no sea configurable, por lo que no llega a la marca

Ahora con Ctrl + F11, el administrador de ventana controla el comportamiento de la pantalla completa, excepto en cromo.

Robert Riedl
fuente
1
Cree que tiene razón en que esto es lo mejor que podemos esperar: lástima que Chrome / ium no admita atajos de teclado personalizados. Vale la pena señalar: ¡la elección del atajo de teclado es importante para este truco! Ya tenía Ctrl + F11 vinculado a otra cosa. Intenté con Shift + Alt + F11, que no funcionó. Sin embargo, Alt + F11 funcionó bien. (Supongo que estaba intentando hacer Shift + Ctrl + Alt + F11)
fred