Бортовая клавиатура из bash - противоречивое поведение

Мне нужно открыть встроенную клавиатуру поверх полноэкранного браузера (Chrome) из Python.

Вызов Python:

onscreen_keyboard = subprocess.Popen(['onboard', ])
os.system("wmctrl -a onboard -b above")

Команды python вызываются кнопкой на html-странице, которая открывается в браузере.

Проблема в том, что это не всегда работает. Иногда (особенно после того, как я переключаюсь в браузер и перехожу в полноэкранный режим с помощью клавиши F11), он не открывает kyboard. В этой ситуации мне нужно выйти из полноэкранного режима (теперь на борту появляются!!! или, возможно, там все время спрятаны). Если я закрываю бортовую панель и переключаюсь на полноэкранный режим, она работает - я могу позвонить и закрыть бортовую систему.

Итак, проблемный сценарий:

  1. Я переключаюсь в браузер, переключаюсь в полноэкранный режим
  2. Я звоню на борт, он НЕ появляется
  3. Я выхожу из полноэкранного режима, закрываю бортовую панель и снова включаю полноэкранный режим
  4. Я звоню на борт, и это выглядит правильно. После того, как я закрою это, я могу назвать это снова.

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

(примечание: точно такое же поведение я вижу в Firefox, я тестирую его на Ubuntu 18 и 16).

0 ответов

Примечание: следующий ответ был протестирован в Ubuntu 18.04 LTS

Не уверен, что это точный ответ на ваш вопрос, так как вы вызываете Onboard с кодом, но я нашел конфигурацию по следующей ссылке, чтобы она работала для меня, чтобы Onboard показывался поверх полноэкранных приложений.

https://bugs.launchpad.net/onboard/+bug/1722271

Конкретно этот раздел:

Отключить "Док до края экрана"

Включите "Принудительное окно наверх" (это, кажется, не действует, когда включена стыковка края экрана)

Теперь зайдите в firefox, в полноэкранный режим и сделайте бортовое шоу, и оно покажет.

Я протестировал это как с Firefox, так и с моей собственной программой, и с обоими приложениями Onboard покажет поверх приложений, когда они полноэкранные.

Другие вопросы по тегам