2014-07-19 47 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