Бортовая клавиатура из bash - противоречивое поведение
Мне нужно открыть встроенную клавиатуру поверх полноэкранного браузера (Chrome) из Python.
Вызов Python:
onscreen_keyboard = subprocess.Popen(['onboard', ])
os.system("wmctrl -a onboard -b above")
Команды python вызываются кнопкой на html-странице, которая открывается в браузере.
Проблема в том, что это не всегда работает. Иногда (особенно после того, как я переключаюсь в браузер и перехожу в полноэкранный режим с помощью клавиши F11), он не открывает kyboard. В этой ситуации мне нужно выйти из полноэкранного режима (теперь на борту появляются!!! или, возможно, там все время спрятаны). Если я закрываю бортовую панель и переключаюсь на полноэкранный режим, она работает - я могу позвонить и закрыть бортовую систему.
Итак, проблемный сценарий:
- Я переключаюсь в браузер, переключаюсь в полноэкранный режим
- Я звоню на борт, он НЕ появляется
- Я выхожу из полноэкранного режима, закрываю бортовую панель и снова включаю полноэкранный режим
- Я звоню на борт, и это выглядит правильно. После того, как я закрою это, я могу назвать это снова.
Почему это не работает в первый раз, когда я переключаюсь на браузер из другого окна? Как это исправить и сделать последовательное поведение на борту?
(примечание: точно такое же поведение я вижу в Firefox, я тестирую его на Ubuntu 18 и 16).
0 ответов
Примечание: следующий ответ был протестирован в Ubuntu 18.04 LTS
Не уверен, что это точный ответ на ваш вопрос, так как вы вызываете Onboard с кодом, но я нашел конфигурацию по следующей ссылке, чтобы она работала для меня, чтобы Onboard показывался поверх полноэкранных приложений.
https://bugs.launchpad.net/onboard/+bug/1722271
Конкретно этот раздел:
Отключить "Док до края экрана"
Включите "Принудительное окно наверх" (это, кажется, не действует, когда включена стыковка края экрана)
Теперь зайдите в firefox, в полноэкранный режим и сделайте бортовое шоу, и оно покажет.
Я протестировал это как с Firefox, так и с моей собственной программой, и с обоими приложениями Onboard покажет поверх приложений, когда они полноэкранные.