2016-04-27 5 views
0

Приношу свои извинения всем, если это неправильная группа.Программирование расширения Gnome, чтобы отключить жест перетаскивания левого края, чтобы показать приложение для выбора приложений

Мы хотели бы использовать 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, но мы можем Похоже, что выясняется, где код оболочки gnome проверяется на машине, когда мы используем JHBuild.

Если есть более простой способ сделать/установить, это было бы здорово. Вероятно, мы просто воспользовались неправильной рекомендованной ссылкой.

3) Откат к предыдущей версии GNOME Shell

Но это возвращает нас к проблеме проверки из GNOME Shell и сделать/установить, как показано на # 2.

4) Переключение в KDE

Мы могли бы попробовать KDE вместо Gnome, но мы сделали много испытаний в Gnome уже и может стать серьезным препятствием.

5) Построить коробку Fedora 22, чтобы вернуться к Gnome 3.16 - мой нелюбимый

Это огромное усилие, и мы не можем быть уверены, что изменилось и что сломается. Наше программное обеспечение для киосков может даже не работать на Fedora 22. Но это план града mary back up

ответ

2

Я работаю с SciComputing, и, с помощью Флориана Мюллера, мы поняли, что расширение со следующим кодом 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); 
} 
+0

Благодарим за этот обменный код @kepler_kingsnake! Я нахожусь в одной лодке, пытаясь заставить GNOME нормально работать как киоск для сенсорных устройств. Я отправил его как [расширение] (https://extensions.gnome.org/review/6428), и я добавлю еще один ответ, когда он будет рассмотрен и выпущен. – mattbell87

+1

Вот расширение для тех, кто будет использовать на основе этого ответа. Я чувствую, что это не относится к другому ответу, потому что вопрос касается скорее кодирования для решения проблемы. https://extensions.gnome.org/extension/1140/disable-gestures/ – mattbell87