Estou criando um projeto de tela sensível ao toque no Fedora 23 (usando o GNOME 3.18.2) que requer uma tela inteira do Firefox (ou Chrome) que o usuário não pode fechar usando a tela sensível ao toque.
No entanto, percebemos que há um gesto integrado como parte do GNOME que abre o menu Atividades quando você desliza para a direita, começando na borda esquerda da tela. Isso acontece mesmo quando a janela do Firefox ou do Chrome está no modo de tela cheia / no modo quiosque.
Tem havido muitas sugestões em torno da internet sobre como desabilitar gestos multitoque no GNOME, mas eu não vi uma maneira de desativar o gesto de deslizar para a esquerda.
Existe uma maneira de fazer isso no Fedora?
EDITAR: Meu chefe tem uma pergunta relacionada que ele pediu para adicionar ao post:
"Estamos tentando rodar o Firefox no modo" quiosque ", mas notamos que há um" recurso "no fedora gnome-shell 3.13.91 que permite que os usuários arraste a borda do lado esquerdo da tela e tragam o painel - invalidando o quiosque.
Acredito que o código para esse recurso está localizado no link do gnome-shell nos arquivos /js/ui/edgeDragAction.js
e js/ui/viewSelector.js
- mas eu posso estar completamente errado.
Acredito que a sensibilidade de arrasto de borda esteja definida em /js/ui/edgeDragAction.js
(consulte o código abaixo)
E a ação é adicionada a js/ui/viewSelector.js
(veja o código abaixo)
Qual é o melhor método recomendado para desativá-lo? Escrevendo nossa própria extensão do Gnome? Podemos substituir esses métodos ou alterar os limites facilmente?
Por exemplo:
const EDGE_THRESHOLD = 20; <- change to 0
const DRAG_DISTANCE = 80; <- change to 1000
EDIT 2: Com a ajuda de Florian Müllner, escrevemos uma extensão do Gnome com o seguinte código Javascript, e parece ter resolvido nosso problema:
/*
* Disable all of the touchscreen gestures.
*/
function enable() {
global.stage.get_actions().forEach(a => a.enabled = false);
}
/*
* Re-enable the touchscreen gestures.
*/
function disable() {
global.stage.get_actions().forEach(a => a.enabled = true);
}