Я недавно назначен сопровождающим приложения для программы под названием «xlog». Программа отлично работает во всех, кроме среды Unity. Это написано с использованием Gtk2.
Я никогда ранее не использовал Unity. В Unity я заметил, что строка меню, кажется, «перенаправлена» в другое место за пределами моего графического интерфейса приложения, в панель в верхней части экрана. Во-вторых, одно из полей ввода текста в моем графическом интерфейсе отображается в виде тонкой линии, недоступной для пользователя, кроме как с помощью клавиши табуляции.
Если я возьму исполняемый файл xlog, который отлично работает под Ubuntu 12.04.2 LTS, и скопирую его в дистрибутив Unity 12.10, я увижу другое поведение.
Я не имею ни малейшего понятия, где искать или что мне следует рассмотреть изменение в приложении xlog, чтобы исправить эту ситуацию. Чем отличается Unity от других сред, в которых это приложение работает правильно?
img
. Должно появиться всплывающее окно. Следуйте инструкциям.Ответы:
Я думаю, что вы ссылаетесь на поведение по умолчанию в Unity. Unity использует глобальное меню (которое вы видите вверху), похожее на то, что вы видите в OSX.
Если вы хотите, это можно отключить в вашем приложении, но я думаю, что это не очень рекомендуется: любой, кто использует Unity, будет ожидать меню не в окне, а в верхней части.
Что касается поля ввода, я бы предположил, что это может быть проблема с темой Ubuntu. Чтобы проверить это, попробуйте изменить тему Ubuntu (в «Системных настройках» -> «Внешний вид») и посмотреть, останется ли поле таким же.
редактировать
Мне было любопытно, и, глядя на код, кажется, что проблема в вашем приложении. Это , кажется, исправить эту проблему (я не могу ввести символ новой строки на этом поле, но я не могу сказать , если это нормально или ошибка). Эти значения (100, 200) были выбраны случайным образом, так что, возможно, это не лучший способ решить эту проблему.
источник