以编程方式最小化所有窗口或我的Cocoa应用程序?

时间:2016-07-21 13:32:38

标签: swift cocoa window nswindow minimize

我还没能在Swift中找到任何相关信息。有没有办法以编程方式使我的应用程序最小化在后台打开的所有其他窗口,甚至只是最小化Safari?我基本上希望我的应用程序在桌面上运行,后台没有任何混乱。有没有办法以编程方式为Cocoa应用程序执行此操作?我很快乐,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

您可以在NSWorkspace上使用api,它允许您隐藏后台中的所有可见应用。 您可以在此处找到有关NSWorkspace的更多信息:link

隐藏发件人以外的所有应用程序。必须从应用程序的主线程调用此方法。

NSWorkspace.shared().hideOtherApplications()

如果您只想隐藏Safari,

  let appPath = NSWorkspace.shared().fullPath(forApplication: "Safari")
  let identifier = Bundle.init(path: appPath!)?.bundleIdentifier

  if let bundleID = identifier {
  let runningApps = NSRunningApplication.runningApplications(withBundleIdentifier:bundleID )
        if !runningApps.isEmpty {
            runningApps.first?.hide()
        }
    }