¿Cómo enumerar las combinaciones de teclas de Compiz en uso?

16

Además de buscar cada complemento activo y buscar manualmente combinaciones de teclas / métodos abreviados de teclado en uso por parte de compiz, ¿hay una forma "simple" de recopilar esta información?

es decir, algún panel que muestra todas las combinaciones de teclas activas actualmente en uso (por compiz), o algún comando de terminal para hacer lo mismo.

Los atajos de teclado no parecen enumerar ciertos atajos de compiz específicos.

Gracias

Jay_11
fuente

Respuestas:

12

Aquí hay una línea muy larga que devuelve todos los accesos directos de todos los complementos activos:

for i in $(gconftool-2 --get /apps/compiz-1/general/screen0/options/active_plugins|sed "s/\[\|\]//g"|sed "s/,/ /g"); do echo "# $i:"; gconftool-2 -a /apps/compiz-1/plugins/"$i"/screen0/options | grep "_key\|_button\|trigger_\|initiate\ \|panel_first_menu\|keyboard_focus\|execute_command\|show_launcher" | grep -v "Disabled\|=[[:space:]]*$" | sort; done; echo -e "\n# metacity overrides:"; gconftool-2 -a /apps/metacity/global_keybindings | grep -v "disabled\|cycle\|switch_panels" | sort; gconftool-2 -a /apps/metacity/window_keybindings | grep -v "disabled" | sort

Actualización : la
versión anterior ahora obtiene todas las combinaciones de teclas no vacías / deshabilitadas (tecla, mouse, tecla + mouse) de todos los complementos activos.

Sin embargo, el valor de la clave X-GNOME-WMSettingsModule en /usr/share/applications/compiz.desktop hace que Metacity anule varias teclas Compiz. Notarás las etiquetas en cursiva ccsm: es cuando el valor proviene de Metacity y no de Compiz.

Como no encontré una manera fácil de solucionar esto, simplemente agregué todos los atajos de Metacity al final de la salida.

htorque
fuente
1
Eso parece hacer el trabajo muy bien, gracias. Aunque devuelve show_desktop_key = <Control> <Alt> d, en lugar de <super> d como lo he redefinido.
Jay_11
Ahora, eso es extraño ... cambiar el muro "left_key" cambia "/ apps / metacity / global_keybindings / switch_to_workspace_left" en su lugar. ¿Parece que algunas combinaciones de teclas que cambias en Compiz están configuradas para metacity? Eso haría la tarea un poco más difícil. : - /
htorque
Gracias por la actualizacion. Ahora muestra el valor modificado para revelar el escritorio en # metacity sobrescribe: - Muy buen trabajo, gracias de nuevo.
Jay_11
Tenga en cuenta que, dado que hay varios comandos allí, si desea guardar la salida en un archivo, debe envolver todo en parens y redirigir la salida después del par final.
nealmcb
1
Esto ya no funciona a partir del 14.04:No value set for /apps/compiz-1/general/screen0/options/active_plugins
Jonathan Hartley
1

No necesita encadenar 2 scripts sed, podrían ser uno, separados por ';'. Pero aún más simple sería canalizar a tr. Para 12.04 sin metacity esto debería ser:

for i in $(gconftool-2 --get /apps/compiz-1/general/screen0/options/active_plugins|tr '[],' ' '); do echo "# $i:"; gconftool-2 -a /apps/compiz-1/plugins/"$i"/screen0/options | grep "_key\|_button\|trigger_\|initiate\ \|panel_first_menu\|keyboard_focus\|execute_command\|show_launcher" | grep -v "Disabled\|=[[:space:]]*$" | sort; done

Sin embargo, como Jay_11 ya señaló, toda la construcción parece mostrar parte de lo que entra en compiz, no el resultado. Por ejemplo, lo entiendo close_window_key = <Alt>F4, pero lo apagué. Como un ávido usuario de Emacs, no dejo que un administrador de ventanas se acerque a nada excepto <Super>, ¡pero esto no se muestra!

Entonces la pregunta sigue siendo: ¿qué está haciendo realmente Compiz?

Daniel
fuente