有没有办法在 OS X 中不使用鼠标将当前窗口移动到另一个桌面?

134 keyboard-shortcuts virtual-desktop macos

在 OS X 中,我知道要将当前窗口移动到下一个桌面,我会点击窗口的标题栏使其处于移动模式,然后在按住鼠标按钮的同时,按Ctrl+Ctrl+ . 如果您没有笔记本电脑,这可能需要三只手。或者,您可以进入空格并将窗口从一个桌面拖到另一个桌面。

有没有更简单的方法来做到这一点,只用键盘(最多两只手)?

小智 54

从 10.7 开始,您可以激活“任务控制”,然后将窗口拖放到任何桌面组。

在此处输入图片说明

请参阅:OS X Mountain Lion:在多个空间中工作

  • 该问题特别要求不需要鼠标的答案。 (131认同)
  • 无鼠标......这个问题特别要求无鼠标的答案。 (5认同)
  • CTRL+UP 在 Windows/通用键盘上工作以打开任务控制。 (2认同)

Jay*_*rod 51

我认为你能做的最好的事情是用鼠标按住窗口标题栏,然后按 Ctrl-1(或 2、3、4,等等)。这需要使用鼠标,但比其他方法要方便一些。

  • @AWrightIV:它适用于 OSX 10.7。我不确定 10.8,但您可能必须先在系统偏好设置 > 键盘下启用 Ctrl-1 和 Ctrl-2 快捷键才能切换桌面。这可能是它不起作用的原因。 (10认同)
  • 不适用于 OSX 10.8.4 (7认同)
  • 无鼠标......这个问题特别要求无鼠标的答案。 (4认同)
  • 2017 年这仍然是一个不错的选择。即使您需要使用鼠标,它也比其他方式方便得多 (3认同)

小智 17

如果您安装“BetterTouchTool”,您可以创建一个键盘/鼠标/手势快捷方式:

  1. 将应用程序窗口移动到另一台显示器,
  2. 将应用程序窗口最大化到另一台显示器。

真的很好用!此外,“BetterTouchTool”还有大量其他您可能会觉得有用的漂亮功能。免费。

  • BetterTouchTool 很棒,但问题是移动到另一个 ***DESKTOP***,而不是另一个显示器! (10认同)
  • BetterTouchTouch 具有“将窗口移动一个空间/桌面左/右”操作。 (3认同)

小智 12

这不是一个解决方案,但它解释了为什么很难找到支持在空间之间移动窗口的应用程序。

据基于键盘的窗口管理器开源 Rectangles 应用程序的开发人员称,“Apple 不提供 Spaces 的公共 API。如果他们在某个时候提供,我将很高兴重新审视此[功能请求]。 ”

提供此功能的应用程序使用 Apple 的私有 API,Apple 不支持或记录该 API。Amethyst 是一个支持该功能的开源应用程序(在另一个答案中提到)。如果您好奇,执行将窗口从一个空间移动到另一个空间的代码似乎位于Window.swift 中

// A method of Window:
final class AXWindowID: Hashable, Codable {
    // ...
    func move(toSpace spaceID: CGSSpaceID) {
        let currentSpace = CGSGetActiveSpace(CGSMainConnectionID())
        let ids = [cgID()]
        CGSRemoveWindowsFromSpaces(CGSMainConnectionID(), ids as CFArray, [currentSpace] as CFArray)
        CGSAddWindowsToSpaces(CGSMainConnectionID(), ids as CFArray, [spaceID] as CFArray)

        if UserConfiguration.shared.followWindowsThrownBetweenSpaces() {
            focus()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 9

不幸的是,至少从 10.5.4 开始,仅使用键盘快捷键无法做到这一点。

但是,您可以只使用鼠标(也只需要一只手)将窗口拖动到屏幕边缘。您可以使用WarpSecrets首选项窗格(均免费)为此设置更多选项。


Jon*_*han 7

最简单的方法是启用设置中的快捷方式以切换到您选择的桌面,如下所示。启用它后,您可以通过按住鼠标按钮并执行快捷方式来移动您选择的窗口。

在此处输入图片说明

  • 再次......这不是一个无鼠标的解决方案 (8认同)
  • 无鼠标...该问题特别要求无鼠标答案。 (3认同)
  • 这接近于无鼠标。很酷。我不知道这是可能的。 (3认同)

小智 5

似乎 Amethyst ( https://github.com/ianyh/Amethyst ) 可以将应用程序切换到任何工作区。