Eu sou o mantenedor de aplicativos recém-nomeado para um programa chamado "xlog". O programa funciona bem em todos, exceto no ambiente Unity. É escrito usando Gtk2.
Eu nunca usei o Unity anteriormente. Percebi no Unity que a barra de menus parece ser "redirecionada" para outro local fora da GUI do meu aplicativo, para uma barra na parte superior da tela. Em segundo lugar, uma das caixas de entrada de texto na minha GUI é exibida como uma linha fina, inacessível ao usuário, exceto pela tecla Tab.
Se eu pegar o executável xlog que funciona perfeitamente no Ubuntu 12.04.2 LTS e copiá-lo para uma distribuição 12.10 Unity, vejo o comportamento diferente.
Não tenho idéia de onde procurar, ou o que devo considerar modificar, no aplicativo xlog, para remediar esta situação. O que há de diferente no Unity, exclusivo para todos os outros ambientes em que esse aplicativo funciona corretamente?
img
. Um pop-in deve aparecer. Siga as instruções.Respostas:
Eu acho que o que você está se referindo é o comportamento padrão no Unity. O Unity usa um menu global (o que você vê no topo) semelhante ao que é visto no OSX.
Se você quiser, isso pode ser desativado em seu aplicativo, mas acho que isso não é muito recomendado: quem usa o Unity espera que o menu não esteja na janela, mas na parte superior.
Em relação à caixa de entrada, acho que pode ser um problema com o tema Ubuntu. Para verificar, tente alterar o tema do Ubuntu (em "Configurações do sistema" -> "Aparência") e veja se a caixa permanece a mesma.
Editar
Fiquei curioso e, olhando o código, parece que o problema está no seu aplicativo. Isso parece corrigir o problema (não consigo inserir uma nova linha nessa caixa, mas não sei se isso é normal ou se existe um erro). Esses valores (100, 200) foram selecionados aleatoriamente, portanto essa pode não ser a melhor maneira de resolver isso.
fonte