以不同方式在 Mac OSX 中禁用应用程序的停靠栏图标

发布于 2024-10-20 04:34:38 字数 257 浏览 6 评论 0原文

在 mac osx 中,大多数应用程序都保留一个停靠栏图标。 但是如果同一个应用程序的开发者想要隐藏dock图标,那么他该如何隐藏呢?

作为一名开发人员,我知道“Info.plist”属性文件是隐藏应用程序的停靠图标的一种方法。

但是我们对此没有其他解决方案吗?

我希望应该有一些其他方法,因为每个人都知道“问题没有解决方案”

提前感谢

M@k4mac

In mac osx for most of the applications keeps a dock icon.
But if the developer of the same applications wants to hide the dock icon, then how do he hide it?

As a developer i know 'Info.plist' property file is one way to hide the dock icon for an application.

But dont we have any other solution for this?

I hope there should be some other ways as everybody know "there are N no of way of solutions for a problem"

Thanks in advance

M@k4mac

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

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

发布评论

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

评论(3

羁绊已千年 2024-10-27 04:34:38

如果您正在开发应用程序,则需要在 Info.plist 中将 LSUIElement 设置为 TRUE。

如果您运行该应用程序,则可以使用类似

如果你想要多余的选项,请使用 Linux :)

If you're developing the app, you want to set LSUIElement to TRUE in your Info.plist.

If you're running the app, you can use a program like Dockless.

If you want superfluous options, use Linux :)

枯叶蝶 2024-10-27 04:34:38

Info.plist 解决方案是从 Dock 中隐藏图标的唯一方法(对于 GUI 应用程序)。

你想实现什么目标?如果您提供更多详细信息,也许可以找到解决方案。

The Info.plist solution is the only way to hide the icon from the Dock (for a GUI application).

What are you trying to accomplish? Maybe there's a solution that can be worked out if you give more details.

眉目亦如画i 2024-10-27 04:34:38

下不再起作用

此 LSUIElement 方法在 10.8添加 Carbon.framework
make plist 应用程序是代理 (UIElement) =1 检查

// this should be called from awakeFromNib method
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"LaunchAsAgentApp"]) 
{   ProcessSerialNumber psn = { 0, kCurrentProcess };

// display dock icon
TransformProcessType(&psn, kProcessTransformToForegroundApplication);

// enable menu bar
SetSystemUIMode(kUIModeNormal, 0);

// switch to Dock.app
[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.apple.dock"    options:NSWorkspaceLaunchDefault additionalEventParamDescriptor:nil launchIdentifier:nil];

// switch back
[[NSApplication sharedApplication] activateIgnoringOtherApps:TRUE];

}

this LSUIElement method is no longer work under 10.8

add Carbon.framework
make plist Application is agent (UIElement) =1 checked

// this should be called from awakeFromNib method
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"LaunchAsAgentApp"]) 
{   ProcessSerialNumber psn = { 0, kCurrentProcess };

// display dock icon
TransformProcessType(&psn, kProcessTransformToForegroundApplication);

// enable menu bar
SetSystemUIMode(kUIModeNormal, 0);

// switch to Dock.app
[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.apple.dock"    options:NSWorkspaceLaunchDefault additionalEventParamDescriptor:nil launchIdentifier:nil];

// switch back
[[NSApplication sharedApplication] activateIgnoringOtherApps:TRUE];

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