gpt4 book ai didi

c - "Bring to front"OS-X 上的 GTK/C 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:34 24 4
gpt4 key购买 nike

我正在开发一个在 GNU/Linux 和 OS-X 上运行的应用程序。在 Linux 上,如果我使用命令行启动应用程序,我没有问题。在 OS-X 上,应用程序启动但不在“前面”。我必须单击停靠栏中的图标才能查看该应用程序。有没有办法在开始时将应用程序放在前面。

最佳答案

这个问题与 OS X 的进程启动模型有关,与 GTK+ 无关。解决此问题的唯一正确且可持续的方法是使用 .app 包。

在 OS X 上运行应用程序时,应用程序需要在使用 NSApplication 方法 activateIgnoringOtherApps: 设置其激活策略后明确要求置于最前面。然而,当 Launch Services 启动一个 .app 包时,它会自动处理这个问题。在您的代码中显式调用 activateIgnoringOtherApps: 只会让事情变得更加复杂,让您无法正确处理所有事情。 I asked this question a while ago; the answer there explains in more detail.

出于同样的原因,GTK+ 本身也不进行此调用。如果您想要开发,您可以在 gtk_main() 之前自己添加此调用,但对于实际分发您的应用程序,最好保持原样。

关于c - "Bring to front"OS-X 上的 GTK/C 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43918827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com