Como criar uma associação de teclas baseada em condições?

1

No início, como uma espécie de prólogo, digamos que isso não é uma pergunta para pessoas de coração fraco. Isso significa que eu não sou iniciante na configuração do Ubuntu MATE . Eu criei um script que eu iniciei com META + F1 , que primeiro me dá zenity --entry e então faz várias coisas sobre o que eu entro. Se eu digitar " ff hb " e apertar enter, recebo o Firefox com Humble Bundle . Eu tive que criar isso em resposta à falta de "comando de execução" igual ( Alt + F2 ) para um presente no KDE, onde eu simplesmente preciso digitar kon e tecle Enter para abrir o terminal (konsole). Eventualmente, eu gosto mais da minha solução, porque eu posso expandi-la como eu quero em limites de aplicações bash, distro e instaladas.

Uma situação de exemplo
Como todos sabemos, apertar Ctrl + B não negrito sua seleção de texto em editores de texto projetados para codificação, em vez disso, faz qualquer aplicação está definido para fazer. Geany, por padrão, salta entre parênteses, se você tiver um cursor próximo. Pluma não faz nada (parece). Kate, bem, não me lembro. Você começa a idéia no entanto.

Agora, se eu quiser mudar as coisas assim, há uma associação de teclas em toda a área de trabalho que inicia um determinado script. E quando Geany é a aplicação mais avançada, e eu clico em Ctrl + B , algumas coisas mágicas acontecem. Como, o texto selecionado é cortado (você sabe, Ctrl + X ), um snippet aparece, e o texto selecionado anteriormente aparece no meio do trecho. Eu escrevo um monte de código que contém HTML, se não editando diretamente o documento HTML, assim você pode facilmente imaginar algo como <span class="b">some text</span> . Esta parte não é o problema - eu sou muito capaz de criar isso.

O problema
Se eu tiver feito atalhos de teclado para toda a área de trabalho para Ctrl + B , é aqui que as coisas mordem a poeira, com a boca cheia. No LibreOffice, não consigo mais negrito usando teclas de atalho. No Firefox, não consigo abrir a barra lateral de favoritos com teclas de atalho. Porque a associação de teclas em toda a área de trabalho rouba o controle total do atalho e não sei como "devolvê-lo".

A questão
Como faço para que quando uma tecla de atalho, como Ctrl + B , inicie um script que verifica algumas condições, faça com que o evento padrão real aconteça se as condições necessárias forem não conheceu? É possível ter keybindings baseados em condições com o Ubuntu?

Epílogo
Ninguém deveria vir me dizer que isso é completamente impossível. Eu usei iKey no Mac, que foi capaz de produzir exatamente o que eu estou tentando realizar no Ubuntu. Não pode não ser possível atualmente , e se assim for, é uma grande falta. Se realmente é possível atualmente, gostaria de uma solução que me obriga a instalar o menor software possível e, se necessário, a partir dos repositórios. Obrigado.

    
por F-3000 01.10.2015 / 13:40

0 respostas