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