Dlaczego moja aplikacja zachowuje się inaczej w Unity?

13

xlog podczas pracy zgodnie z oczekiwaniami poza środowiskiem Unity

Jestem nowo mianowanym opiekunem aplikacji dla programu o nazwie „xlog”. Program działa dobrze we wszystkich środowiskach oprócz Unity. Jest napisany przy użyciu Gtk2.

Nigdy wcześniej nie korzystałem z Unity. Zauważyłem w Unity, że pasek menu wydaje się być „przekierowywany” do innego miejsca poza moim graficznym interfejsem aplikacji, do paska u góry ekranu. Po drugie, jedno z pól wprowadzania tekstu w moim GUI jest wyświetlane jako cienka linia, niedostępna dla użytkownika, chyba że za pomocą klawisza Tab.xlog w jedności - zwróć uwagę na brakujący pasek menu, a pole uwag nie jest polem.

Jeśli wezmę plik wykonywalny xlog, który działa idealnie pod Ubuntu 12.04.2 LTS i skopiuję go do dystrybucji Unity 12.10, zobaczę inne zachowanie.

Nie mam pojęcia, gdzie szukać ani co powinienem rozważyć zmodyfikować w aplikacji xlog, aby naprawić tę sytuację. Czym różni się Unity od wszystkich innych środowisk, w których ta aplikacja działa poprawnie?

Andy Stewart
źródło
Korzystne może być przesłanie kilku zrzutów ekranu w celu podkreślenia problemu.
Oli
Oli: Nie jest dla mnie oczywiste, jak przesyłać zrzuty ekranu. Po raz pierwszy korzystam z tej strony.
Andy Stewart
Kliknij link edytuj, kliknij miejsce w poście, w którym ma się pojawić obraz, a następnie kliknij małą ikonę na pasku narzędzi, który czyta img. Pojawi się wyskakujące okienko. Postępuj zgodnie z instrukcjami.
Oli
Próbowałem tego, Oli, ale mówi, że do publikowania zdjęć potrzebuję „10 reputacji”.
Andy Stewart

Odpowiedzi:

10

Zauważyłem w Unity, że pasek menu wydaje się być „przekierowywany” do innego miejsca poza moim graficznym interfejsem aplikacji, do paska u góry ekranu.

Myślę, że to, o czym mówisz, to domyślne zachowanie Unity. Unity używa globalnego menu (tego, które widzisz u góry) podobnego do tego, co widać w OSX.

Menu aplikacji Unity w akcji.

Jeśli chcesz, możesz to wyłączyć w swojej aplikacji, ale myślę, że nie jest to bardzo zalecane: każdy korzystający z Unity będzie oczekiwać menu nie w oknie, ale na górze.

Jeśli chodzi o pole wprowadzania, zgaduję, że może to być problem z motywem Ubuntu. Aby to sprawdzić, spróbuj zmienić motyw Ubuntu (w „Ustawieniach systemu” -> „Wygląd”) i sprawdź, czy pole pozostaje takie samo.

Edytować

Byłem ciekawy i patrząc na kod wydaje się, że problem dotyczy twojej aplikacji. To wydaje się rozwiązać problem (nie mogę wejść do nowej linii na tym polu, ale nie mogę powiedzieć, czy to jest normalne, czy to błąd). Te wartości (100, 200) zostały wybrane losowo, więc może to nie być najlepszy sposób na rozwiązanie tego problemu.

wprowadź opis zdjęcia tutaj

Salem
źródło
Dzięki, Salem. W przypadku motywu „Wysoki kontrast” pole Uwagi jest wyświetlane poprawnie. W przypadku domyślnego motywu otoczenia pole Uwagi nie jest poprawnie wyświetlane.
Andy Stewart
@AndyStewart zobacz moją edycję.
Salem,
Salem, spróbowałem tego lokalnie i widzę pole uwag o różnych rozmiarach. Umieszczam plik wykonywalny w mojej wersji Virtual Box Ubuntu z Unity i widzę, że teraz pole uwag działa zgodnie z oczekiwaniami. Przyjrzę się niemożności wprowadzenia <cr> - takie zachowanie istnieje przed sugerowaną modyfikacją. Dziękuję Ci!!! Byłeś bardzo pomocny. 73 de Andy KB1OIQ
Andy Stewart
Właśnie wydałem xlog 2.0.7 z tą poprawką. Dzięki, Salem, za twoją pomoc!
Andy Stewart