Mac OS X - 没有菜单的应用程序?

发布于 2024-11-09 00:32:48 字数 237 浏览 0 评论 0原文

我想构建一个没有菜单栏、停靠栏图标或位于应用程序切换器中的应用程序。基本上,它应该像 Quicksilver 一样:我通过全局热键(例如 Safari)激活它,然后会出现一个小窗口,但 Safari 不会变得不活动,也不会显示不同的菜单栏。我希望你明白我的意思...

我该怎么做?我可以阻止停靠图标、应用程序切换器,但我不知道如何在我的应用程序窗口显示时阻止其他应用程序变为非活动状态,也不知道如何删除菜单。

感谢您的任何提示!

I'd like to build an app that does not have a menubar, a dock icon, or sits in the app switcher. Basically, it should be like Quicksilver: I'd active it through a global hot key, say from Safari, and a little window appears, but Safari does not get inactive, neither does a different menubar show. I hope you understand what I mean...

How would I do that? I can prevent the dock icon, the app switcher, but I do not know how I can prevent the other apps from becoming inactive when my app's window shows or how I can remove the menu.

Thanks for any hints!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦魇绽荼蘼 2024-11-16 00:32:48

尝试搜索“LSUIElement”。这应该会为您提供所需的所有信息。

(具体来说, 文档中的此页面)。

Try searching for "LSUIElement". That should give you all the information you need.

(Specifically, this page in the documentation).

江南烟雨〆相思醉 2024-11-16 00:32:48

正如 Dave 已经说过的,添加到

LSUIElement  YES

应用程序的 Info.plist 文件中。这将摆脱图标和菜单栏。

然后,要在适当的时间(例如,通过全局键盘快捷键触发时)实际将窗口置于最前面,您可以执行以下操作:

ProcessSerialNumber psn = {0, kCurrentProcess};
SetFrontProcess(&psn);

[someWindow makeKeyAndOrderFront:nil];

As Dave already said, add

LSUIElement  YES

in your application's Info.plist file. That will get rid of icon and menu bar.

Then, to actually bring a window to the front at the appropriate time (e.g. when triggered through a global keyboard shortcut), you could do something like this:

ProcessSerialNumber psn = {0, kCurrentProcess};
SetFrontProcess(&psn);

[someWindow makeKeyAndOrderFront:nil];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文