我是名为“xlog”的程序的新任命应用程序维护者。该程序在除 Unity 环境之外的所有环境中运行良好。它是使用 Gtk2 编写的。
我以前从未使用过 Unity。我注意到 Unity 中的菜单栏似乎被“重定向”到应用程序 GUI 之外的另一个地方,即屏幕顶部的一个栏。其次,GUI 中的一个文本输入框显示为一条细线,用户只能通过 Tab 键访问。
如果我将 Ubuntu 12.04.2 LTS 下完美运行的 xlog 可执行文件复制到 12.10 Unity 发行版,我会看到不同的行为。
我不知道在 xlog 应用程序中应该查看哪里,或者应该考虑修改什么来补救这种情况。Unity 与其他所有可以正常工作的环境相比,有什么不同?
答案1
我注意到在 Unity 中菜单栏似乎被“重定向”到应用程序 GUI 之外的另一个地方,即屏幕顶部的栏。
我认为您所指的是 Unity 上的默认行为。Unity 使用全局菜单(您在顶部看到的菜单),类似于 OSX 上的菜单。
如果您愿意,可以在应用程序中禁用此功能,但我认为不太推荐:任何使用 Unity 的人都希望菜单不在窗口上,而是在顶部。
关于输入框,我猜可能是 Ubuntu 主题的问题。要检查它,请尝试更改 Ubuntu 主题(在“系统设置”->“外观”下),看看框是否保持不变。
编辑
我很好奇,看了代码后发现问题似乎出在你的应用程序中。这似乎解决了这个问题(我无法在该框中输入换行符,但我不能说这是正常现象还是错误)。这些值(100、200)是随机选择的,因此这可能不是解决问题的最佳方法。