0

如果这是在错误的组中,我向所有人道歉。

我们想在 Kiosk 模式下使用 Fedora 23,但最近添加了一个左边缘滑动功能,该功能已添加到 Gnome Shell ( https://github.com/GNOME/gnome-shell ) ,不能轻易禁用。

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 上运行。但这是万岁的备用计划

4

1 回答 1

2

我与 SciComputing 合作,在 Florian Müllner 的帮助下,我们意识到使用以下 Javascript 代码的扩展将摆脱关闭信息亭窗口的手势:

/*
 * 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);
}
于 2016-04-29T22:22:23.617 回答