问题标签 [mission-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1980 浏览

macos - 切换空间时保持窗口在顶部

但是,我使用-[NSWindow setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces].
它创建了一个窗口,它只完成了我想要的一半:当我切换空间时,窗口也会切换空间(如预期的那样),但我的窗口会移到该空间中所有其他窗口的后面。这尤其糟糕,因为我的应用程序处于活动状态,但它的窗口低于所有其他应用程序的窗口。我尝试将级别更改为 NSFloatingWindowLevel,并且确实将其保持在顶部,但是在切换空间时它会丢失关键状态(焦点)。

我尝试NSWindowCollectionBehaviorMoveToActiveSpace了收集行为,但这绝对不是我想要的。

有希望吗?我知道几乎没有其他与 Spaces 相关的 API。

0 投票
8 回答
17766 浏览

macos - OSX Lion AppleScript:如何从任务控制中获取当前空间#?

我试图弄清楚如何从任务控制中获取当前空间#。来源会有所帮助,但更有帮助的是有关如何自己解决这个问题的信息。我写了一些applescripts,但似乎任何时候我都需要做一些新的事情(我找不到字典文档)它属于“告诉这个特定的应用程序”的类别(例如“系统事件“)这个非常具体的事情”,我不知道我将如何真正弄清楚这一点。


特别是我想要做的事情:

讨厌OSX 10.7 中的新任务控制。我希望我的空间“网格”回来,因为我一直在使用它。我曾经使用箭头键在空格之间导航(例如ALT+↑</kbd>) every few seconds. Now I'm stuck with this clunky 1x9 array of spaces instead of an elegant 3x3 grid. I've re-mapped all my spaces to use the number pad, which partially takes care of the problem (since it is a 3x3 grid), but only when I have an external keyboard attached.

基本上,我希望能够使用ALT+↑</kbd> and ↓</kbd> again, but to do so I need to detect the current space # so that I can switch from space 5-->2, for example.

戴夫在下面的回答虽然比我预期的要详细得多,但需要编写一个应用程序才能做到这一点(而且它仍然不能完全回答这个问题)。如果可能的话,我宁愿将几个键绑定到一个applescript。

0 投票
2 回答
2827 浏览

objective-c - 将窗口移动到任务控制中的新空间

我想编写一个小实用程序,在 OS X Lion 中将窗口从一个空间移动到另一个空间。我不在乎该实用程序是用 AppleScript 还是 Objective-C 编写的。我似乎无法弄清楚的是给了一个窗口,我怎样才能将它移动到不同的空间。我在这个线程中看到了很多有用的信息,但没有关于如何实际移动窗口的信息。如果有人有任何想法或想法,我将不胜感激。谢谢。

0 投票
2 回答
3488 浏览

macos - 如何以编程方式将空间添加到任务控制?

我想创建一个新空间(并且以后也可以将其删除),而不必通过标准的任务控制 gui。有没有办法以编程方式做到这一点?通过终端命令、applescript 或一些可可?

0 投票
0 回答
451 浏览

macos - 任务控制中桌面级别的 NSWindow

我正在制作一个应用程序,用交互式应用程序替换 OS X 上的墙纸。当我使用热角调出任务控制时,应用程序窗口保持静止并保持相同大小(占据整个屏幕)。我必须将收集行为设置如下,以使其完全显示在任务控制中。

如何使它像普通桌面图像一样缩小并在屏幕中居中?

0 投票
0 回答
72 浏览

macos - 如何捕获空间的提要并将其嵌入到类似于任务控制空间预览的 NSView 中?

我想做的是显示另一个空间的桌面预览,就像当前空间的实现显示所有其他桌面的预览一样。我在底部提供了一个图形供视觉参考。您可以在桌面 1 上看到我在 StackOverflow 上,在桌面 2 上我正在观看 youtube 上的视频。在 Spaces 中,即使我在 Desktop 1 上,我仍然可以在播放视频时看到 Desktop 2 的小预览。简而言之,我想做的是在我的应用程序中实现相同的功能,在那里我抓取 Spaces 使用的相同提要(如果正在播放视频,我会看到它播放)并将其放在我的主应用程序的 NSView 中窗户。这是可能吗?

Spaces 桌面预览示例

0 投票
1 回答
282 浏览

objective-c - NSStatusBar 应用程序 - 窗口始终在顶部(忽略热点)

我正在尝试复制在 Evernote 的 NSStatusBar 图标中发现的行为(见图)。我的左上角 - 热角设置为显示桌面。这会将所有窗口移开,除了印象笔记菜单。他们如何做到这一点?

我已经尝试了所有的 setLevel 选项。hideOnDeactive NO.

Evernote 忽略热点

0 投票
0 回答
82 浏览

macos - 与 Mac OS X Lion 1.07 中的 GUI 元素交互

您如何与构成 OS X GUI 的许多东西(特别是任务控制)进行交互?Apple 似乎对试图弄乱他们的东西的开发人员不太开放,所以我似乎无法在任何地方找到它的公共 API。真的,我只是想根据自己的喜好调整一些东西。

我知道这不可能;我已经看到第三方应用程序切换了一两件事。

谢谢你的帮助!

0 投票
4 回答
3141 浏览

applescript - Applescript 击键未按预期运行

我第一次尝试使用 Applescript,并且正在尝试构建一个脚本来设置我在工作中开发的应用程序的默认布局。这涉及将应用程序放置在多个任务控制空间中。我手头的问题只是在空间中移动。我在许多与此类似的帖子中发现,可以通过以下方式实现此类操作

如果适当的键绑定到位。我更改了首选项,因此我可以使用 control+1 移动到第一个 MC 空间。但是,运行脚本不会做任何事情。这是事件日志输出:

我看不到任何错误,但又一次:Applescript 的新手。我已经尝试了这个命令的许多变体,包括control down用花括号括起来并将调用包装到这样"System Events"的调用中"Finder"

但输出完全一样,没有变化。我想我在这里遗漏了一些东西......

根据这个问题的回答,我尝试添加延迟以确保我在运行脚本时不会踩到自己的脚,CMD-r但没有任何反应。当您尝试从重要的焦点窗口中单击时,我会听到声音效果(如果有任何意义的话),那是一声短促的哔哔声。我是否与应用程序交谈不当?

编辑

好的,我有一些工作,但我有点困惑为什么会这样。

这完成了我所需要的,但我必须将键绑定更改为字母。当 Applescript Editor 处于活动状态时,我可以通过按 control+1 来复制错误音调。我想AE有一个使用组合键的快捷方式。但是为什么在 Finder 应该处于活动状态时运行呢?

0 投票
0 回答
779 浏览

macos - 如何以编程方式将 Spaces 的焦点移动到特定的 Space 一个我想关注的窗口在带有 Objective-C 的 Mac OS X 上生活?

NSWindow在我的 OSX 菜单栏应用程序中,用户可以从下拉菜单项中打开特定的应用程序。作为一个菜单栏应用程序,它可以从任何桌面任务控制“空间”中的桌面)访问。

我以编程方式引用了窗口。

假设用户在当前活动的桌面Desktop 1上单击了菜单项。自然地,它NSWindow被创建、打开、带到了前面。它现在存在于桌面 1上

用户浏览到Desktop 2,因此它现在是活动桌面。

用户再次单击菜单项。

由于窗口已经在Desktop 1上打开,我希望 Spaces 自动将活动桌面再次设置为Desktop 1,以便用户可以看到他/她想看到的窗口。

如何在 OSX 中使用 Objective-C Cocoa 以编程方式实现这一点?