Ban's Blog.

Gnome extension : Désactiver le swipe down réduisant la fenêtre de Chrome

Cover Image for Gnome extension : Désactiver le swipe down réduisant la fenêtre de Chrome
Alban Fresil
Alban Fresil

Dans cet article, je vous partage une solution pour désactiver le swipe down (ou drag down) qui provoque la sortie du mode plein écran de Chrome.

Un peu de contexte : Chez nutripoint, nous distribuons des bornes tactiles sur lesquelles les utilisateurs peuvent faire un quiz afin d'obtenir une liste de recommandations de produits pour être en meilleur santé. Pour ce besoin, nous utilisons des mini-pc tournant sous Unbuntu 20.04.

Malgré l'utilisation de l'extention disable-gestures de Matt Bell, nous rencontrions toujours un léger problème : en faisant un geste de swipe down depuis le haut de l'écran, la fenêtre Chromium sortait du mode plein écran : pas vraiment souhaitable pour nos utilisateurs !

Outils utilisés :

Modification du fichier extension.js :

Tout le mérite de cette solution revient à Alex, pour sa réponse sur superuser.com

Je n'ai fait que l'implémenter et soumettre la nouvelle extension sur gnome-extension.org

Si vous souhaitez modifier directement l'extention de disable-gestures, voici ce qu'il faut modifier :

// ~/.local/share/gnome-shell/extensions/disable-gestures@mattbell.com.au/extension.js
let focusWindow = null;
let inFullScreenChanged = null

// When the extension is enabled, disable the gestures
function enable() {
    global.stage.get_actions().forEach(a => a.enabled = false);

    let disableDemaximizingWindow = () => {
        global.stage.get_actions().forEach(a => { if (a != this) a.enabled = false;});
    }
    focusWindow = global.display.connect('notify::focus-window', disableDemaximizingWindow);
    inFullScreenChanged = global.display.connect('in-fullscreen-changed', disableDemaximizingWindow);
}

// When the extension is disabled, enable the gestures
function disable() {
	global.stage.get_actions().forEach(a => a.enabled = true);
    global.display.disconnect(focusWindow);
    global.display.disconnect(inFullScreenChanged);
}

Conclusion et sources

Si vous souhaitez, vous pouvez utiliser directement l'extension a publiée ici

Pour l'installer, voici le process :

  1. Télécharger l'extension
wget 'https://extensions.gnome.org/extension-data/disable-gesturesalbanfresil.fr.v3.shell-extension.zip'
  1. Installer l'extension
gnome-extensions install disable-gesturesalbanfresil.fr.*.zip
  1. Activer l'extension
gnome-extensions enable disable-gesturesalbanfresil.fr

Enfin, merci à la communauté gnome et plus spécifiquement à Just Perfection pour sa réactivité et son aide précieuse dans la publication de l'extension.