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.
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?
img
. Pojawi się wyskakujące okienko. Postępuj zgodnie z instrukcjami.Odpowiedzi:
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.
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.
źródło