2014-07-19 25 views
-1

我想知道linux如何处理应用程序窗口菜单。我正在开发面板应用程序,但对于初学者,我想列出当前关注的窗口的菜单项。我应该从哪里开始我的研究? 谢谢Linux中的菜单如何工作?

TLDR(答案):在Linux中,每个窗口都处理自己的菜单。没有像例如中央菜单。 OS X.

编辑:好的,感谢您的见解,即使我的问题是相当广泛的。我现在明白,在Linux中没有一种集中的方式来做窗口菜单,但是每个窗口都处理它自己的菜单。这意味着没有防弹的方法来做全局菜单(虽然Unity有很好的实现)。 无论如何,我决定开始挖掘Qt和appmenu-qt5

+0

谷歌是一个很好的开始研究的地方 –

+0

我做了,芽没有找到任何我可以使用的.. –

+1

我甚至不相信你:p先学习窗口管理器,然后学习x-server,那么你会更接近谷歌搜索正确的事情 –

回答

0

有一些试图获得一个全球性的菜单栏,这部分面临着同样的问题:一个全球性的菜单栏不能如果全局菜单栏无法确定该窗口包含哪些菜单,可能会工作。这需要GTK +,Qt和各种应用程序的补丁,并且并非所有补丁都已被接受。

如果您有兴趣,可以确保您的系统包含所有这些修补程序,然后您可以使用与全局菜单栏所使用的界面相同的界面。(大多数设计使全局菜单栏可选;您不需要使用全局菜单栏来访问该界面。)

并非所有尝试获取全局菜单栏的人都使用相同的方法补丁。在最近一次尝试,我相信,一直被Ubuntu,但他们的做法是不是与早期的方法,如GNOME2-globalmenu项目兼容。 Ubuntu的补丁可以免费使用,或者为了简单起见,您可以在Ubuntu系统上开发。

1

我想知道linux下如何处理应用程序的窗口菜单...我想列出菜单项的目前集中的窗口

  1. 在GNU/Linux系统的桌面GUI是在异质这个级别。大多数应用程序将使用小部件工具包(通常是GTK +)来实现菜单,但不能保证。

  2. 没有要求或标准的方法来报告菜单选项外部。它们是进程私有内存的一部分。

总之,你可以随心所欲地挖掘这个,你不会找到任何东西。单独的窗口管理器/桌面环境不会实现任何东西来促进它,因为按照上面的#2,大多数单独的应用程序也不会有,如果需要这样的话,它将几乎排除所有事情。

+0

应用程序(或工具包)的可访问性支持*可能是一种可能性:如果屏幕阅读器可以获取菜单项的名称,另一个程序也可以。尽管如此,我对这个界面一无所知。 – Wyzard