编程Gnome扩展以禁用左边拖动手势以显示应用程序选择器

时间:2016-04-27 17:14:06

标签: gnome-shell gnome-shell-extensions

如果这是错误的群体,我向所有人道歉。

我们希望在Kiosk模式下使用Fedora 23,但最近添加了一个添加到Gnome Shell的左边缘滑动功能(https://github.com/GNOME/gnome-shell)that无法轻松禁用。

https://github.com/GNOME/gnome-shell/commit/9c4ffc4bf353fe9c64368f3e194e38b0e8f61311

据我所知,我们的选择是:

1)写一个扩展来解决这个问题 - 我最喜欢的

我们与原作者进行了交谈,他建议通过扩展程序删除手势。

我们尝试编写扩展程序,但无法想出一种方法来迭代global.stage中的手势列表以将其删除。

(这些手势是使用global.stage.add_action(gesture)添加的,可以使用global.stage.remove_action(gesture)删除。)

此后,作者停止回复我们的电子邮件:(

对此的任何建议都会很棒!

2)查看我们所使用的版本,注释掉代码,重新编译 并安装到我们的机器上

这听起来很棒!这样我们也可以修复其他错误。查看README文件

https:// github.com/GNOME/gnome-shell/blob/master/README

它说:

  

有关GNOME Shell的更多信息,包括有关如何

的说明      

从源代码构建GNOME Shell以及如何参与   项目,

     

请参阅https:// wiki.gnome.org/Projects/GnomeShell

所以,我们已经关注了这个页面:

https:// wiki.gnome.org/Newcomers/BuildGnome

这告诉我们查看JHBuild,但是当我们使用JHBuild时,我们似乎无法弄清楚机器上的gnome shell代码的检出位置。

如果有更简单的制作/安装方式,那就太好了。我们可能只是按照错误的建议链接。

3)回滚到早期版本的gnome shell

但是这让我们回到了检查gnome shell和make / install的问题,如#2所示。

4)切换到KDE

我们可以尝试使用KDE而不是Gnome,但我们已经在Gnome中进行了大量测试,可能是一次重大挫折。

5)构建一个Fedora 22盒子以回到Gnome 3.16 - 我最不喜欢的

这是一项巨大的努力,我们无法确定会发生什么变化以及会发生什么变化。我们的Kiosk软件甚至可能无法在Fedora 22上运行。但这是冰雹玛丽备份计划

1 个答案:

答案 0 :(得分:2)

我使用SciComputing,并且在FlorianMüllner的帮助下,我们意识到使用以下Javascript代码的扩展将摆脱关闭我们的kiosk窗口的手势:

/*
 * Disable all of the unwanted 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);
}
相关问题