Altera o atalho de teclado para page up e page down em Evince

5

Gostaria de alterar os atalhos de teclado para "Página anterior" e "Próxima página" em evince . Eu tenho um laptop Dell Vostro 5568 onde as teclas PgUp e PgDn estão localizadas desajeitadamente à direita do teclado. Em vez disso, eu gostaria de usar Ctrl+Left e Ctrl+Right (atualmente vinculado a "Girar à Esquerda" e "Girar à Direita" ) ou, alternativamente, usar Ctrl+Up e Ctrl+Down .

Na página de ajuda do Gnome , achei que precisava usar dconf-editor . Aqui estão dois screenshots mostrando minhas configurações:

Agora, quando clico em menu "Go" no Evince, e movo o ponteiro do mouse para o item de menu "Previous Page" , eu devo poder inserir um novo atalho de teclado. Mas se eu pressionar Ctrl+Up e fechar o Evince e reabri-lo, o atalho não funciona. Aqui está uma imagem do Evince:

Estou usando o Ubuntu 16.10. Há também uma questão mais antiga para o Ubuntu 10.10 aqui .

    
por Håkon Hægland 02.01.2017 / 07:28

1 resposta

1

Primeiramente, caso você não saiba, use Space e Shift-Space em vez de PgDn e PgUp .

Se você ainda quiser mudar as combinações de teclas, então infelizmente eu acho que para evidenciar as combinações de teclas são codificadas. Três soluções possíveis são:

  1. Mude para atril , que é o bifurcação MATE do evince e que permite a customização de atalhos de teclado, pelo menos através de um arquivo accels (em ~/.config/atril/accels ). Para comparação, você pode ver, digamos, ~/.config/nautilus/accels .

  2. Use algo com a funcionalidade AutoHotkey (para algumas possibilidades, consulte esta pergunta do stackexchange ).

  3. (Se você estiver se sentindo aventureiro), corrija a fonte de evince e recompile:

Para obter a fonte usada pelo Ubuntu:

apt-get source evince

Se isso não funcionar, descomente as linhas deb-src em /etc/apt/sources.list .

As linhas ofensivas, responsáveis pelas ligações no evince são:

add_scroll_binding_keypad (binding_set, GDK_KEY_Page_Up, 0, GTK_SCROLL_PAGE_BACKWARD, GTK_ORIENTATION_VERTICAL);
add_scroll_binding_keypad (binding_set, GDK_KEY_Page_Down, 0, GTK_SCROLL_PAGE_FORWARD, GTK_ORIENTATION_VERTICAL);

em shell/ev-view.c . (Veja aqui no GitHub. O link do GitHub é fornecido por conveniência, mas de preferência não obtém a fonte de lá, mas via apt-get como descrito acima.)

As linhas precisam ser alteradas para:

add_scroll_binding_keypad (binding_set, GDK_KEY_Up, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_BACKWARD, GTK_ORIENTATION_VERTICAL);
add_scroll_binding_keypad (binding_set, GDK_KEY_Down, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_FORWARD, GTK_ORIENTATION_VERTICAL);

Observe, no entanto, que você não obterá correções de segurança para evidenciar automaticamente se você mesmo compilá-lo.

Para referência, se alguém quiser modificar outros atalhos de teclado no evince, algumas das ligações de ação (em oposição ao movimento) são especificadas em shell/ev-application.c na definição de const gchar *action_accels[] (aqui no GitHub ).

    
por aplaice 04.01.2018 / 22:56