El Capitan,默认情况下在Mission Control中展开桌面缩略图


107

在OS X的早期版本中,默认情况下,任务控件中会显示桌面缩略图。

但是,在El Capitan中,默认情况下它们是折叠的,并且仅显示名称(即Desktop1,Desktop2等)。我必须将鼠标指针放在其上以将其展开并查看缩略图。

有什么办法可以恢复以前的行为?


22
请向苹果提交反馈,因为这很烦人。
At0mic 2015年

1
我曾经是El Capitan的Beta版测试人员,几个月前我提交了反馈。基本上,我告诉他们默认情况下应该有一个选项来选择展开/折叠。我在GM上,找不到任何此类选择。因此,我发布了此消息以了解是否有任何黑客入侵。
该死的蔬菜

1
我也这样做了,我希望当它发布时,有人可以找到一个hack。
At0mic

4
就此向苹果提交了反馈。这是一个小麻烦,但是我经常使用任务控制,最终使我发疯。就像慢慢地被戳死。
斯科特·蒂森

1
我曾经尝试过Sierra的第一个公开测试版;没变。我认为无论我们说多少,​​苹果都不会改变这一点。
该死的蔬菜

Answers:


30

编辑1/30/16:在过去几个月中,我在日常工作流程中使用了几个不同的选项之后,我几乎完全确定了@Arctus提出的解决方案。尽管需要第三方程序BetterTouchTool(BTT),但我认为它是当前最好的选择。

有关常规方法和有用的屏幕截图,请参见@Arctus的答案。这是该职位缺少的细节:

  • 您要确保在系统偏好设置中打开了任务控制手势,并将其设置为三指或四指向上滑动(唯一的选项)。(我曾尝试在BTT宏中添加一个步骤来打开任务控制,但由于您无法使用反向手势(向下滑动三或四指)来关闭任务控制,因此我放弃了该操作。)
  • 对于“延迟下一步操作”步骤,您很可能需要将其设置为至少0.06秒。我安顿了0.08秒。(我尝试了更短的持续时间,例如0.02和0.03秒,但它们并没有始终如一地工作。似乎有时这太快了,所以它没有触发扩展。仅在某些情况下有效,请尝试将其增加一点。)
  • 对于“将鼠标移至”步骤,我使用了屏幕的正中间位置来找到最佳结果。(例如:我的屏幕宽度为1280像素,所以我使用x = 640,y = 0。)

您可能会注意到,BTT实际上有一个预定义的操作,称为“任务控制并立即显示桌面预览”。不幸的是,在打开任务控制与扩展桌面预览之间有一个令人讨厌的漫长延迟,这使我无法使用它。此自定义解决方案非常流畅,非常一致,并且似乎不会引起任何不良行为。

BetterTouchTool方法的另一个主要变体是使用左上角或右上角的热角打开任务控制,然后使用BTT将鼠标移到角落并在选择手势时返回。除了向上或向下滑动三指或四指外,这还允许其他手势,但是它会引入您可能不需要的热角。我发现我经常不小心触发热点,以至于这对我来说是不可行的选择。再次,YRMV。

无论如何,我都不是BTT的专家,但是如果有人有任何疑问,我很乐意提供帮助。祝好运!

/编辑


原始帖子:

埃尔卡皮坦任务控制机制

作为Fletcher91提到,缩略图的,如果你从“桌面空间”发射任务控制(一个空间中包含“桌面1”,“桌面4”等的名称),默认的崩溃,而缩略图扩展默认情况下,如果您启动来自“全屏应用程序空间”(通过全屏显示窗口并为该应用程序窗口命名的空间,如“注释”或网页标题(如果是浏览器窗口)的任务控制)。

这样做的原因是任务控制具有两个功能:

  1. 显示当前桌面空间中的所有打开的窗口,以方便在它们之间进行切换(“所有打开的窗口”视图)。

  2. 显示所有空间的列表,以便在它们之间轻松切换。

我与一位苹果代表交谈时告诉我,从桌面空间打开“任务控制”时,折叠缩略图的动机是为全开窗口视图提供更多的屏幕房地产,并减少混乱。当从一个全屏应用空间,焦点更改到打开任务控制所有打开窗口查看了最近查看的桌面空间和缩略图均展开(胡乱猜测:这大概是因为全屏应用空间,也没有其他窗口位于同一空间,因此打开任务控制的唯一原因是切换空间)。


有没有办法始终默认显示缩略图?

Apple代表还确认,默认情况下当前无法启用缩略图扩展

但是,我进行了一些研究并测试了一些其他答案,并且我已经确认了一些可能有用的特殊情况:

  1. 如果您使用“热角” System Preferences >> Mission Control并设置左上角或右上角以打开Mission Control,它将模拟旧的行为,但这仅是因为在触发热角回调时,您将鼠标放置在了无论如何都会触发缩略图扩展)。不幸的是,这可能是目前最好的选择,尽管它涉及到改变习惯,但这并不总是那么容易。如果您采用这种方法,建议您禁用触控板手势,以便这是唯一的方法-至少要等到习惯养成。

  2. akaRem所述如果您打开足够的空间,则默认情况下将展开Mission Control缩略图!我在我的13英寸2013 MBP Retina上使用所有全屏Chrome空间,所有桌面空间以及两者的各种组合以及一些其他随机空间(包括打开和关闭的仪表板空间)进行了测试,并且总是要占用13个空间使其从桌面空间打开Mission Control时默认情况下会扩展缩略图,该数字与akaRem不同。我不知道它是否随硬件或其他因素而变化,但这很有趣。(如果有人对此进行了测试, ,让我知道您的结果。)尽管如此,最终这不是一个实际的解决方案。

  3. 目前,与可用的解决方法(如果您要使用手势或热键打开Mission Control)最接近的方法是,使用BetterTouchTool之类的第三方软件来创建可在您选择的手势上执行的宏,就像Arctus的那样

像这里的其他人一样,我已就此问题向Apple提交了反馈。如果您要执行此操作,请点击以下链接


3
+1!高品质的答案。编写良好,组织合理且有用的链接。…(不幸的是,这也让我难过!☹)
Zearin

谢谢@Zearin。实际上,我只是在顶部添加了一个新部分,并附有我的更新建议。设置完成后,它非常无缝。您可能要试一试。不过,我很赞同你的观点。令人失望的是,这种解决方法是必要的。绝对是用户体验的回归。
Sherlock_HJ

BTT几个月前就已付款。
ahnbizcad

BTT的问题是速度慢!再花半秒钟,有时它会晃动您的光标。当您在流程中尝试快速执行操作时非常烦人:(
Dzh

Apple的费用返还链接已更改为apple.com/feedback/macos.html –如果您可以更新答案@Sherlock_HJ,那就太好了!
亚历山大·卡奇凯夫18'Feb

22

是的,这很烦人,我在http://www.apple.com/feedback/macosx.html提交了反馈

我建议每个同意的人都这样做,因为它是错误或设计回归。


@Tetsujin我不同意您的评论。这个答案清楚地表明这是一个错误。这不是OP想要的答案,而是答案。
bmike

我不认为这是一个错误。可能是苹果公司认为程序标题文本与程序缩略图一样直观。但是,对我和许多人来说,一张图片值得一千个字。我还提出了有关在IME切换器弹出窗口中添加IME图标的建议(长按Command + Space键),因为它目前仅显示IME名称文本。
该死的蔬菜

我喜欢您的建议,即沮丧的用户会使用反馈表。我在那里加入了你。
贾斯汀原力

4
我刚才提交了反馈。我刚刚升级,很生气。我经常使用MC来查看要转到的屏幕,然后使用三指轻扫以根据屏幕顶部的视觉反馈快速到达该屏幕。现在,我必须手动将鼠标移到屏幕顶部。真是令人讨厌!
Art Geigel 2015年

它只需要一个设置选项。如果您喜欢其中一种方式,则可以指定所需的行为。并非所有内容都必须一刀切
ahnbizcad

13

我要做的一项工作是在左上角设置一个热角以打开任务控制。这样,当我通过它打开任务控制时,它们已经扩展了。

仍然可以使用,但Bettertouchtools 1.24已添加了一个显示任务控件,并立即显示了以前的桌面,效果非常好。


1
仅当您使用顶部拐角时
LyK

不幸的是,Bettertouchtools的1.27版中的该功能不适用于我。这似乎是错误的,因为当我执行“两指双击”时,所有窗口都有些微动(仅几个像素):(
JBantje 2015年

我正在使用v1.27,对我来说效果很好。
亚伦

这对我不起作用。
ahnbizcad

1
注意:如果您将osx手势保持活动状态,则BBT将无法工作。
Andres Canella 2015年

10

我暂时使用BetterTouchTools解决了这个问题。具体来说,我已经设置了三指滑动手势,将鼠标移至屏幕顶部,然后再次移回。它足够无缝,我看不到鼠标实际在移动,所以现在就可以了。

BetterTouchTool轨迹板手势

同时,我也已向苹果提交了有关此更改的反馈。

似乎他们正在推动所有人使用其全屏功能,当从全屏应用程序/桌面打开Mission Control时,该功能会自动扩展空格键。但是我们当中的许多BetterTouchTool用户特别不喜欢OSX的全屏功能的运行方式,因此不使用它。

如果默认全屏功能有一个选项可以始终显示而不是隐藏OSX菜单栏,我可能会习惯了。选项很好:)


1
是的,我同意人们实际上可能不需要在任务控制中增加40像素的垂直空间。当您将鼠标悬停在桌面上时,让桌面移动的烦恼的负面影响大于任务控制空间imo带来的负面影响。我相信95%的人会同意。他们只需要允许一个选项即可在任务控制首选项中进行切换。木已成舟。插入一个布尔值。将代码包装在if-else语句周围。进行另一个配置复选框。完成。
ahnbizcad

3
BTT现在有一个名为“任务控制和立即显示桌面预览”的特定操作,因此不再需要该宏;)
Alessandro Vendruscolo 2015年

9

开发人员Brian Kendall已创建此文件来恢复旧的行为:https : //github.com/briankendall/forceFullDesktopBar

它将代码注入Dock进程中,以调用显示任务控制且showFullBar参数设置为的方法true。因此,虽然很简单,但它很干净,可以很好地适用于激活任务控制的所有不同方式(例如,我使用键盘快捷键,魔术鼠标上的两指点击和触控板上的三指向上滑动)。

令人困惑的是,为什么苹果这么简单就没有将此设置作为首选项。


1
不幸的是,在自述文件中:“ forceFullDesktopBar当前不适用于macOS Sierra。尽管我试图弄清楚如何更新它,但我很有可能永远无法进行更新。10.12中的Dock已在Swift中进行了重大重写,如今,方便的从Objective-C方法轻松地从其二进制文件中提取,具有清晰易读的名称和参数的方法已经消失了,而被完全没有符号的功能所取代。”
jononomo

这在El Capitan之后就中断了,但是同一位作者提出了一个新程序:请参阅我的答案
durka42 '18

1
对于仍在阅读的用户,我已经更新了forceFullDesktopBar以在macOS 10.13和10.14中工作。
GuyGizmo

4

尽管BetterTouchTool(BTT)现在具有可以分配给触控板手势的“任务控制和立即显示桌面预览”操作,但是在任务控制开始和显示桌面预览之间存在令人讨厌的延迟。

我偶然发现了与@Arctus建议的宏类似但略有不同的宏,这使我回到了与优胜美地几乎相同的行为。

第一步是启用左上角的“热角”以显示任务控制。

在此处输入图片说明

第二步是BTT中的以下宏:

BTT巨集

编辑:您还必须为三个或四个手指向上滑动设置标准触控板任务控制手势(似乎无关紧要)。

在此处输入图片说明


行为现在可能已经改变,因为它几乎是即时的!
dain

3

玩耍时,我了解到缩略图仅在用户激活了全屏应用程序时切换到任务控制时显示。

如果使用多个监视器,则所有屏幕都必须启用以全屏模式运行的应用程序。

因此,暂时尝试在所有显示器上使用全屏应用程序。


我试过了。当我从全屏应用程序向上滑动时,它仅显示缩略图。即使我从另一个应用程序向上滑动,即使有一个全屏应用程序,它也不会显示缩略图。
该死的蔬菜》

没错,在任何桌面上时,所有空间均会折叠。在全屏应用程序上时,所有空间都会扩展。不确定多显示器,但在内置显示器上这样运行。
akaRem 2015年

3

我找到了一种解决方法。如果您有很多空间,即使从常规桌面启动了任务控制,它们也将显示为展开的缩略图。

例如,在我的MacBook Pro 13上,当我有1个桌面+ 7个全屏Safari或3个桌面+ 6个全屏Safari时,一切都会像以前一样显示。


3

我的一个朋友拥有10.11.4 beta版,他说这个实现又回来了。如果他们将此作为首选项,那就太好了。这是他发送给我的屏幕截图:

任务控制缩略图

编辑:此信息不正确。如果有大量空格,任务控制会立即显示缩略图。


哦,很好。最后,苹果公司听取了用户的意见。
该死的蔬菜

2
感谢您的输入。不幸的是,您的朋友可能会误会。此屏幕快照有许多空白(又称“桌面”)打开(其中有17个)。正如我在回答中所描述的那样(最初由@akaRem指出),如果您一次可以打开一定数量以上的空格(在我的测试中为13个空格),则桌面预览会在激活任务后自动显示控制。因此,您的朋友的行为可能是由于这种影响。您能否在仅打开2或3个空格的情况下再次测试您的朋友,然后看看会发生什么?谢谢。
Sherlock_HJ

@Sherlock_HJ您是正确的。我的朋友弄错了。
adrum

3

塞拉利昂/高塞拉利昂更新

为了跟上Kevin C.回答,forceFullDesktopBar的作者创建了一个新版本https://github.com/briankendall/missionControlFullDesktopBar,可在10.12+上运行。安装有点麻烦,但对我来说效果很好-我发现的唯一解决方案完全没有延迟!

设置步骤:

  1. 在中禁用任务控制手势System Preferences -> Trackpad

  2. 克隆missionControlFullDesktopBar存储库

    • git clone https://github.com/briankendall/missionControlFullDeskopBar
  3. missionControlFullDeskopBar.xcodeproj在Xcode中打开。

  4. 生成项目(⌘B)。

  5. 通过检查来找出问题所在File -> Project Settings...。在我的机器上是~/Library/Developer Tools/Xcode/DerivedData。在那里将有一个以项目名称(例如missionControlFullDeskopBar-cjhllkdjkhncuzglpiezmyqmdufu)开头的文件夹。

  6. 在BetterTouchTool中,将Mission Control快捷方式绑定到Execute Shell Script / Task。作为Launch Path,输入编译后的可执行文件的完整路径:(~/Library/Developer/Xcode/DerivedData/missionControlFullDesktopBar-cjhllkdjkhncuzglpiezmyqmdufu/Build/Products/Debug/missionControlFullDesktopBar.app/Contents/MacOS/missionControlFullDesktopBar如果您的路径不同,则进行调整)。作为Parameter,输入-d -i

    BetterTouchTool Shell命令详细信息

    可选:绑定另一个快捷方式以关闭任务控制。我习惯于四指向下滑动以关闭,但在“系统偏好设置”中禁用四指向上滑动可消除此问题。作为快速解决方案,我绑定了四根手指向下滑动至BTT中的Escape。完整的BTT设置:

    BetterTouchTool快捷方式设置


2

好的,我有一个针对High Sierra的快速解决方法,可以在没有第三方工具或不正确手势的情况下恢复旧的行为。但是,您需要连接到外部显示器。这是您的工作:

1)在“偏好设置”>“任务控制”中,打开“显示器有单独的空格”(我不知道这是否有必要,但是我必须注销才能进行测试)

2)在外接显示器上,以全屏方式显示在那里的任何应用

3)多田!现在,默认情况下,即使只有2-3个空格的监视器,所有监视器的空格都将扩展为缩略图视图。

您可以选择在所需的任何显示器上进行全屏显示,可能不是您的主要显示器。您必须将应用程序全屏显示在外部显示器上,以便其他显示器具有缩略图空间预览。


0

除了pjvArctus的答案外,我还发现临时鼠标坐标(0,0)无法可靠地触发空格预览。不过,我在x轴上的显示分辨率的一半和在y轴上的少许偏差都可以正常工作。在1440x900分辨率的MacBook Air上,(720,25)设置非常可靠。


0

为了给Better Touch Tool戴上帽子,他们现在似乎可以立即使用此操作:

  1. 选择全局应用
    选择全局应用
  2. 选择触摸板手势
    选择触摸板手势
  3. 新增手势
    新增手势
  4. 选择“三指向上滑动”
    选择“三指向上滑动”
  5. 选择预定义动作
    选择预定义动作
  6. 搜索“任务控制并立即显示桌面预览”
    任务控制并立即显示桌面预览
  7. 最后应该看起来像这样
    手势摘要
    手势场

0

missionControlFullDesktopBar在High Sierra上效果很好。我有它与Hammerspoon一起拦截任务控制(F3)按键,它的视频在这里工作,请在此处查看我的完整Hammerspoon配置

-- if missionControlFullDesktopBar installed, intercept Mission Control (F3) keypresses and launch it instead
-- See https://github.com/briankendall/missionControlFullDesktopBar
local MCFDB_PATH = '/Applications/missionControlFullDesktopBar.app/Contents/MacOS/missionControlFullDesktopBar'
local mcfdbSize = hs.fs.attributes(MCFDB_PATH, 'size')
if mcfdbSize then
    local MISSION_CONTROL_KEYCODE = 160
    local log = hs.logger.new('missionControlFullDesktopBar', 'debug')
    log.i('missionControlFullDesktopBar found, intercepting Mission Control key events')
    function handleMissionControl(e)
        local code = e:getProperty(hs.eventtap.event.properties.keyboardEventKeycode)
        if code == MISSION_CONTROL_KEYCODE then
            -- ignore auto-repeats
            local isAutoRepeat = e:getProperty(hs.eventtap.event.properties.keyboardEventAutorepeat)
            if isAutoRepeat == 1 then
                return true -- discard
            end
            -- don't intercept cmd+f3 or ctrl+f3
            local flags = e:getFlags()
            if (flags.cmd or flags.ctrl) then
                return false -- propogate
            end
            local type = e:getType()
            if type == hs.eventtap.event.types.keyDown then
                --log.i('intercepted Mission Control DOWN')
                os.execute(MCFDB_PATH..' -d -i')
                return true -- discard
            elseif type == hs.eventtap.event.types.keyUp then
                --log.i('intercepted Mission Control UP')
                os.execute(MCFDB_PATH..' -d -r')
                return true -- discard
            end
        end
        return false -- propogate
    end
    trapMissionControl = hs.eventtap.new({hs.eventtap.event.types.keyDown, hs.eventtap.event.types.keyUp}, handleMissionControl)
    trapMissionControl:start()
end
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.