Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 有没有办法替换默认的X11菜单栏?_Objective C_Cocoa_X11 - Fatal编程技术网

Objective c 有没有办法替换默认的X11菜单栏?

Objective c 有没有办法替换默认的X11菜单栏?,objective-c,cocoa,x11,Objective C,Cocoa,X11,我有一个适用于Mac OS X 10.5及更高版本的X11应用程序,我正试图在其周围编写一个包装器,使其更具本地风格。 有人知道是否可以用我自己的自定义菜单栏替换默认的X11菜单栏,以便在应用程序窗口打开时显示它吗? 如果是这样的话,我该如何使用可可粉呢?简言之:不,X11不允许您修改它的菜单栏。这将是困难的,因为首先没有X呼叫来设置菜单栏(由工具包提供),但也因为苹果想要区分原生应用程序和那些使用X11作为“黑客”解决方案来提供Mac兼容性的应用程序 为此,您需要修改X11.app/XQuar

我有一个适用于Mac OS X 10.5及更高版本的X11应用程序,我正试图在其周围编写一个包装器,使其更具本地风格。
有人知道是否可以用我自己的自定义菜单栏替换默认的X11菜单栏,以便在应用程序窗口打开时显示它吗?
如果是这样的话,我该如何使用可可粉呢?

简言之:不,X11不允许您修改它的菜单栏。这将是困难的,因为首先没有X呼叫来设置菜单栏(由工具包提供),但也因为苹果想要区分原生应用程序和那些使用X11作为“黑客”解决方案来提供Mac兼容性的应用程序

为此,您需要修改X11.app/XQuartz.app的源代码,并自己添加此功能。但是请记住,除非您小心,否则您的解决方案将无法在其他X服务器上工作,因为X不提供菜单栏功能


有关Mac X服务器源代码的信息,请参阅。

啊,我想我只需将菜单项放入包装器的dock菜单中即可。这不是最优雅的解决方案,但也可以。