Combinación de teclas para cambiar entre las ventanas de una aplicación en todas las ventanas gráficas

Combinación de teclas para cambiar entre las ventanas de una aplicación en todas las ventanas gráficas

Alt- `se utiliza para cambiar entre las ventanas de una aplicación en la ventana gráfica actual en Unity.

¿Existe otra combinación de teclas para cambiar entre las ventanas de una aplicación en todas las ventanas gráficas?

No quiero cambiar el comportamiento predeterminado de Alt- `, que consiste en cambiar entre las ventanas de una aplicación en la ventana gráfica actual.

Estoy usando Ubuntu 14.04 y Unity.

Respuesta1

Inspirándome en la respuesta de Pineau, encontré un truco sucio para hacerlo: mantenga Alt+ `para cambiar entre ventanas de aplicaciones en una ventana gráfica y (por ejemplo) Alt+ 1para cambiar entre ventanas de aplicaciones en todas las ventanas gráficas.

El menor inconveniente cosmético es que la capacidad de respuesta es un poco menos precisa, ya que la configuración necesita una fracción de segundo para cambiar. Sin embargo, en la práctica apenas lo notarás.

  1. instalar xdotool:

    sudo apt-get install xdotool
    
  2. Copie el siguiente fragmento en un archivo vacío y guárdelo comoswitch.sh

    #!/bin/bash
    
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
    sleep 0.2
    xdotool keydown alt key 0x60
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
    sleep 1
    
  3. establezca una combinación de teclas para ejecutar el script: System Preferences > Keyboard > Shortcuts > Custom Shortcuts. Elijo Alt+ 1, ya que está cerca del otro.

    Ahora puedes usar Alt+ 1para cambiar entre todas las ventanas de (por ejemplo) gedit:

    ingrese la descripción de la imagen aquí

    o Alt+ `para cambiar entre ventanas de gedit solo del espacio de trabajo actual:

    ingrese la descripción de la imagen aquí

nota:

  1. En el script, la clave encima de Tabestá configurada en key 0x60. Esto podría ser diferente en otros diseños. En caso de que no funcione, ejecútelo en una terminal xev, luego presione Returny luego la tecla sobre la pestaña. En el resultado, busque una cadena como (keysym 0x60, grave). El valor de keyym es el valor que necesita en la línea (script-):

    xdotool keydown alt key 0x60
    
  2. Los valores de sleep 0.2y sleep 1hacen que el script funcione bien en mi sistema, pero pueden estar sujetos a optimización para sistemas más rápidos (reducir).

Mas opciones

Del mismo modo, puede configurar una combinación de teclas para cambiar entre todosventanas de aplicacionesentodas las ventanas gráficasel guión entonces sería:

#!/bin/bash

dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
sleep 0.2
xdotool keydown alt key 0xff09
dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
sleep 1

Si configura, por ejemplo Alt+, Qpara esto, tendrá un buen conjunto de todas las opciones:

Alt+ ` Cambiar entreaplicaciones actualesventanas encendidasventana gráfica actual

Alt+ 1 Cambiar entreaplicaciones actualesventanas encendidastodas las ventanas gráficas

Alt+ Tab Cambiar entretoda la aplicaciónventanas encendidasventana gráfica actual

Alt+ Q Cambiar entretoda la aplicaciónventanas encendidastodas las ventanas gráficas

ingrese la descripción de la imagen aquí

Alt+ Tab: Cambiar entre todas las ventanas de aplicaciones activadasventana gráfica actual

ingrese la descripción de la imagen aquí

Alt+ Q: Cambiar entre todas las ventanas de la aplicación en todas las ventanas gráficas

Respuesta2

Solución genérica usandowmctrl


Descripción general

El siguiente script debería ser compatible con todosCumple con EWMHadministradores de ventanas (por ejemplo, xfwm4, openbox, kwin, compiz...). Utiliza wmctrly xprop, que se puede instalar con:

sudo apt-get install x11-utils wmctrl

Instalación

Copie y guarde el siguiente pasaje como simple-window-switcher:

#!/bin/bash

# based on a script by Robert Steiniger
# (http://lars.st0ne.at/blog/switch%20between%20windows%20within%20the%20same%20application)

Usage="
  Title:        simple-window-switcher 0.1
  Description:  switch between all windows of active application
  Author:       Copyright Glutanimate 2014 (https://github.com/Glutanimate)
  License:      GNU GPLv3
  Usage:        $(basename "$0") [-g|-l|-h]
                -g: global window switching (across all workspaces)
                -l: local window switching (current workspace)
                -h: display this help message

                If no argument is provided window switching will be set to global.
"

while getopts "lgh" OPTIONS; do
  case $OPTIONS in
    l ) Fields="3-4"
        ;;
    g ) Fields="4"
        ;;
    h ) echo "$Usage"
        exit 0
        ;;
   \? ) echo "$Usage"
        exit 1
        ;;
  esac
done

ActiveWinID="$(xprop -root | sed -n 's/_NET_ACTIVE_WINDOW(WINDOW): window id # 0x//p')"
# fields 3-4: <desktop number> <window class>
ActiveWinClass="$(wmctrl -xl | grep "$ActiveWinID" | cut -d" " -f${Fields})"
WindowList="$(wmctrl -xl | grep "$ActiveWinClass" | cut -d" " -f1)"
NextWindow="$(echo "$WindowList" | grep -A1 "$ActiveWinID" | sed -n 2p)"

if [[ -z "$NextWindow" ]]; then
  NextWindow="$(echo $WindowList | head -n 1)"
fi

wmctrl -i -a "$NextWindow"

Marque el script como ejecutable y guárdelo en cualquier lugar que desee (preferiblemente en su RUTA, por ejemplo, /usr/local/bino ~/bin).

Uso

Utilice el menú de atajos de teclado de su administrador de ventanas para asignar simple-window-switcheruna tecla de acceso rápido de su elección. Puede utilizar los siguientes parámetros para controlar cómo se comporta el script:

  • -g: cambio de ventana global (en todos los espacios de trabajo)
  • -l: cambio de ventana local (espacio de trabajo actual); Es posible que no funcione con Unity/Compiz (consulte la sección de comentarios para obtener más información)

Respuesta3

Abra una Terminal y escriba el siguiente comando:

dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false

Alternativamente, puedes instalar la herramienta Unity Tweak:

sudo apt-get install unity-tweak-tool
unity-tweak-tool

Luego habilite elCambiar entre ventanas en todos los espacios de trabajoopción en la pestaña Conmutador:

ingrese la descripción de la imagen aquí

información relacionada