107

On previous versions of OS X, desktop thumbnails were showing by default in the Mission control.

In El Capitan, however, they are collapsed by default and only the names are showing (i.e., Desktop1, Desktop2, etc.). I have to place the mouse pointer onto them to expand it and see the thumbnails.

Is there any way I can get the previous behaviour back?

  • 22
    Please submit feedback to apple, as this is very annoying. – At0mic Sep 13 '15 at 16:15
  • 1
    I have been a beta tester of El Capitan, and I submitted a feedback months ago. Basically I told them there should be an option to choose expanded/collapsed by default. I am on the GM, and I cannot find any such option. So I posted this to find out if there was any hack. – Damn Vegetables Sep 13 '15 at 17:12
  • 1
    I did too, and I hope when it's released, someone can find a hack. – At0mic Sep 13 '15 at 17:31
  • 4
    Submitted feedback to Apple about this. It's a minor annoyance, but I use Mission Control so often, it ends up driving me crazy. It's like slowly getting poked to death. – Scott Thiessen Oct 13 '15 at 22:53
  • 1
    I had tried Sierra first public beta; no change. I think Apple will never change this no matter how much we say no. – Damn Vegetables Aug 8 '16 at 19:04

14 Answers 14

30

Edit 1/30/16: After using a few different options in my daily workflow over the past few months, I've settled on almost exactly the solution proposed by @Arctus. Despite requiring a 3rd-party program, BetterTouchTool (BTT), I believe it to be the best current option.

See @Arctus's answer for the general method and a helpful screenshot. Here are the specifics that were missing from that post:

  • You want to make sure that you have the mission control gesture turned on in your system preferences and set to either a 3- or 4-finger swipe up (the only options). (I tried adding a step to my BTT macro to open mission control, but I abandoned that because you lose the ability to use the inverse gesture, a 3- or 4-finger swipe down, to close Mission Control.)
  • For the "Delay Next Action" step, you'll most likely need to set it to at least 0.06 seconds. I settled on 0.08 seconds. (I tried shorter durations like 0.02 and 0.03 seconds, but they didn't work consistently. It seems that sometimes that was too fast so it didn't trigger the expansion. YRMV on this, so if it's not working for you, or if it only works sometimes, try increasing this a bit.)
  • For the "Move Mouse To" step, I found best results using the exact top-middle of my screen. (ex: My screen width is 1280 pixels, so I used x=640, y=0.)

You'll probably notice that BTT actually has a predefined action called "Mission Control & Immediately Show Desktop Previews". Unfortunately, it has an annoyingly long delay between opening mission control and expanding the desktop previews that made it unusable for me. This custom solution is very smooth, very consistent, and doesn't seem to cause any undesired behavior.

The other main variation of the BetterTouchTool method is to use either the top-left or top-right hot-corners to open mission control and then to use BTT to move your mouse to the corner and back upon your chosen gesture. This allows other gestures besides 3- or 4-finger swipe up, but it introduces a hot corner that you may not want. I found that I was triggering the hot corner accidentally far too often for this to be a viable option for me. Again, YRMV.

I'm not an expert at BTT by any means, but if anyone has any questions, I'm happy to try to help. Good luck!

/edit


Original Post:

El Capitan Mission Control Mechanics

As Fletcher91 mentioned, thumbnails are collapsed by default if you launch Mission Control from a "Desktop Space" (a Space with a name like "Desktop 1", "Desktop 4", etc.) whereas the thumbnails are expanded by default if you launch Mission Control from a "Fullscreen App Space" (a Space that was generated by fullscreen-ing a window and that is named for that app window, like "Notes" or the title of a webpage if it's a browser window).

The reason for this is that Mission Control serves two functions:

  1. Display all open windows in your current Desktop Space to enable easy switching between them (the "all-open-windows" view).

  2. Display the list of all Spaces to enable easy switching between them.

An Apple rep I spoke to told me that that the motivation behind collapsing the thumbnails when opening Mission Control from a Desktop Space was to provide more screen real-estate to the all-open-windows view and to reduce clutter. When opening Mission Control from a Fullscreen App Space, the focus changes to the all-open-windows view for the most recently viewed Desktop Space and the thumbnails are expanded (unfounded speculation: presumably this is because for Fullscreen App Spaces, there are no other windows in the same Space, so the only reason to open Mission Control would be to switch Spaces).


Any way to always show thumbnails by default?

The Apple rep also confirmed that there is currently no way to enable thumbnail expansion by default.

However, I did some research and tested out a few other answers and I've been able to confirmed some special cases that may be useful:

  1. If you use "Hot Corners" System Preferences >> Mission Control and set either the top-left or top-right corners to open Mission Control, it simulates the old behavior, but only because in triggering the Hot Corner callback, you've placed your mouse within the area that triggers the thumbnail expansion anyway). Unfortunately, this is probably the best option at this point, even though it involves changing a habit which isn't always easy. If you go with this approach, I recommend disabling the trackpad gesture so that this is the only way you can do it—at least until the habit sinks in.

  2. As akaRem mentioned, if you open enough Spaces, Mission Control thumbnails will be expanded by default! I tested this on my 13" 2013 MBP Retina using all fullscreen Chrome Spaces, all desktop Spaces, and various combinations of the two along with some other random Spaces (including the Dashboard Space both on and off) and it always took exactly 13 spaces to make it so that the thumbnails were expanded by default when opening Mission Control from a Desktop Space, which is a different number from akaRem. I don't know if it varies with hardware or what, but it's interesting. (If anyone else tests this, let me know your results). Ultimately though, this is not a practical solution.

  3. The closest thing to a usable workaround that we have at this point (if you want to open Mission Control with gestures or hotkeys) is to use third-party software like BetterTouchTool to create a macro that executes on your chosen gesture like Arctus's did.

Like others here, I have submitted feedback to Apple for this issue. Here's the link if you want to do the same.

  • 3
    +1! Top-quality answer. Well written, well organized, and useful links. …(Unfortunately, it also makes me sad! ☹) – Zearin Dec 29 '15 at 13:53
  • Thanks @Zearin. I actually just added a new section at the top with my updated recommendation. It's pretty seamless once you have it set up. You may want to give it a shot. I echo your sentiments though. It's pretty disappointing that this kind of a workaround is necessary. Definitely a regression in user experience. – Sherlock_HJ Jan 31 '16 at 6:12
  • BTT became paid a few months ago. – ahnbizcad Jun 12 '16 at 20:51
  • The problem with BTT is it is slow! It takes another half a second and sometimes it jiggles your cursor. Extremely annoying when you are in the flow trying to do something quickly :( – Dzh Jun 22 '16 at 11:43
  • Apple's feeback link was changed to apple.com/feedback/macos.html – would be great if you could update your answer @Sherlock_HJ! – Alexander Kachkaev Feb 22 '18 at 12:17
22

Yes, this is very annoying I submitted feedback at http://www.apple.com/feedback/macosx.html

I suggest everyone who agrees does the same as this is either a bug or design regression.

  • @Tetsujin I disagree with your comment. This answer states plainly that this is a bug. It's not the answer the OP wanted, but it is an answer. – bmike Oct 1 '15 at 13:30
  • I don't think it is a bug; probably Apple thought program title texts were as intuitive as the thumbnails of the programs. But alas, to me and many people, a picture is worth a thousand words. I had also submitted a suggestion about adding IME icons in the IME switcher popup (Command + Space long press), as it currently only shows IME name texts. – Damn Vegetables Oct 1 '15 at 23:26
  • I like your suggestion that frustrated users take to the feedback form. I've joined you there. – Justin Force Nov 12 '15 at 18:25
  • 4
    I just submitted feedback a moment ago. I just upgraded and I'm pissed. I regularly use MC to see what screen I want to go to and then use 3-finger swipe to quickly get there based on visual feedback at the top of the screen. Now I have to manually move my mouse to the top of the screen. So unbelievably annoying! – Art Geigel Dec 7 '15 at 0:38
  • it simply needs a settings option. if you like it one way or the other, be able to specify which behavior you want. not everything has to be one-size-fits-all – ahnbizcad Jun 12 '16 at 20:51
13

A work around I have is to set a hot corner to the top left to open mission control. That way, when I open mission control via this, they are already expanded.

This still works, but bettertouchtools 1.24 has added a show mission control and immediately show desktop previous which works pretty much perfectly.

  • 1
    Only if you use the top corners – LyK Oct 6 '15 at 23:45
  • Unfortunately version in version 1.27 of bettertouchtools this feature is not working for me. It seems bugged, because all windows jiggle a little bit (just a few pixels), when I do the "Two Finger Double-Tap" :( – JBantje Oct 17 '15 at 14:48
  • I am using v1.27 and it's working great for me. – Aaron Oct 23 '15 at 13:37
  • it doesn't work for me. – ahnbizcad Nov 1 '15 at 19:46
  • 1
    Note: BBT wont work if you leave the osx gesture active. – Andres Canella Nov 26 '15 at 16:11
10

I managed to get around this for the time being using BetterTouchTools. Specifically I've set my 3 finger swipe gesture to move the mouse to the top of the screen and back again. It's seamless enough that I don't see the mouse actually move so it'll do for now.

BetterTouchTool Trackpad Gesture

Meanwhile I too have submitted feedback to Apple about this change.

It does seem like they're pushing everyone to use their fullscreen feature which does automatically expand the spaces bar when Mission Control is opened from a fullscreen application/desktop. But many of us BetterTouchTool users specifically don't like the way OSX's fullscreen feature operates and therefore don't use it.

If there were an option for the default fullscreen feature to always show and not hide the OSX menu bar I'd probably get used to it. Options are good :)

  • 1
    yeah I agree that people really probably didn't need that extra 40 pixels of vertical space in mission control. The downsides of the annoyance of having desktops move when you hover over them is greater than the upsides of extra mission control space imo. I'msure 95% of people would agree. They need to just allow an option to toggle this in mission control preferences. done deal. Insert a boolean. wrap the code around an if-else statement. Make another config checkbox. done. – ahnbizcad Nov 1 '15 at 19:46
  • 3
    BTT now has a specific action called "Mission Control & Immediately Show Desktop Previews", so there's no need for the macro anymore ;) – Alessandro Vendruscolo Nov 16 '15 at 11:45
9

Developer Brian Kendall has created this for restoring the old behaviour: https://github.com/briankendall/forceFullDesktopBar

It injects code into the Dock process to call the method that shows mission control with the showFullBarparameter set to true. So while it's a hack, it's a pretty clean one that works well for all the different ways to activate mission control (e.g., I use a keyboard shortcut, 2-finger tap on magic mouse, and 3-finger swipe up on trackpad).

It's puzzling why Apple didn't include this setting as a preference when it's that simple.

  • 1
    Unfortunately, from the README: "forceFullDesktopBar does not currently work with macOS Sierra. Though I am trying to figure out how to update it, there's a good chance I never will be able to. The Dock in 10.12 has been significantly rewritten in Swift, and the convenient Objective-C methods that were easy to extract from its binary and had clearly readable names and arguments are now gone, replaced with functions that have no symbol at all." – jononomo Jan 30 '17 at 23:20
  • This broke after El Capitan but there is a new program from the same author: see my answer. – durka42 Mar 13 '18 at 13:33
  • 1
    For those still reading, I've updated forceFullDesktopBar to work in macOS 10.13 and 10.14. – GuyGizmo Oct 24 '18 at 18:17
4

Although BetterTouchTool (BTT) now has the "Mission Control & Immediately Show Desktop Previews" action that you can assign to a trackpad gesture, there is an annoying delay between when mission control starts and when the desktop previews are displayed.

I've stumbled onto a macro similar to, but slightly different from the one suggested by @Arctus, that gets me back to nearly the same behavior as in Yosemite.

Step one is to enable the upper left "hot corner" to show mission control.

enter image description here

Step two is the following macro in BTT:

BTT macro

EDIT: You also have to have the standard trackpad mission control gesture set for either three or four finger swipe up (doesn't seem to matter which).

enter image description here

  • The behaviour might have changed now as it is pretty much instant! – dain Feb 25 '16 at 10:09
3

Playing around, I've learned that thumbnails are only displayed when the user switches to mission control while having a full screen app active.

If you use multiple monitors, all the screens must have an application running in full screen mode enabled.

So for the time being, try to have a full screen app on all monitors.

  • I tried. It only showed thumbnails when I swipe up from a full screen application. It did not show thumbnails even if there was a full screen app, if I swipe up from another app. – Damn Vegetables Oct 2 '15 at 13:43
  • True, When on any desktop, all spaces are collapsed. When on full-screen app, all spaces are expanded. Not sure about multimonitor, but on built-in this works like this. – akaRem Oct 2 '15 at 21:36
3

I found some kind of workaround. When you have lots of spaces they will be shown as expanded thumbnails even if Mission Control is launched from regular Desktop.

For example, on my MacBook Pro 13, when I have 1 Desktop + 7 Fullscreen Safari or 3 Desktop + 6 Fullscreen Safari, then everything is shown like before.

3

A friend of mine who has the 10.11.4 beta said this implementation is coming back. It would be nice if they made this a preference. Here is the screenshot he sent me:

Mission Control Thumbnails

Edit: This information is incorrect. Mission control shows thumbnails instantly when there is a large number of spaces.

  • Oh, that is good. Finally, Apple listened to users. – Damn Vegetables Jan 27 '16 at 7:04
  • 2
    Thanks for the input. Unfortunately though, your friend may be mistaken. This screenshot has many spaces (aka "desktops") open (17 of them). As I described in my answer (and as was originally pointed out by @akaRem) if you have more than a certain number of spaces open at any one time (13 spaces was the cutoff in my tests) the desktop previews appear automatically upon activating mission control. So the behavior your firend is experiencing could be due to that effect. Could you have your friend test again with only 2 or 3 spaces open and see what happens? Thanks. – Sherlock_HJ Jan 31 '16 at 4:18
  • @Sherlock_HJ You are correct. My friend is mistaken. – adrum Feb 17 '16 at 14:19
3

Sierra/High Sierra update

To follow up on Kevin C.'s answer, the author of forceFullDesktopBar has created a new version, https://github.com/briankendall/missionControlFullDesktopBar, which works on 10.12+. It was a bit involved to install but works great for me -- the only solution I've found that has no delay at all!

Setup steps:

  1. Disable the Mission Control gesture in System Preferences -> Trackpad.

  2. Clone the missionControlFullDesktopBar repository

    • git clone https://github.com/briankendall/missionControlFullDeskopBar
  3. Open missionControlFullDeskopBar.xcodeproj in Xcode.

  4. Build the project (⌘B).

  5. Find out where it went by checking File -> Project Settings.... On my machine it's ~/Library/Developer Tools/Xcode/DerivedData. And there will be a folder in there that starts with the project name (e.g., missionControlFullDeskopBar-cjhllkdjkhncuzglpiezmyqmdufu).

  6. In BetterTouchTool, bind your Mission Control shortcut to Execute Shell Script / Task. As the Launch Path, enter the full path to the compiled executable: ~/Library/Developer/Xcode/DerivedData/missionControlFullDesktopBar-cjhllkdjkhncuzglpiezmyqmdufu/Build/Products/Debug/missionControlFullDesktopBar.app/Contents/MacOS/missionControlFullDesktopBar (adjust if your paths are different). As Parameter, enter -d -i.

    BetterTouchTool shell command detail

    Optional: bind another shortcut for dismissing Mission Control. I was used to the four-finger swipe down to dismiss, but disabling the four-finger swipe up in System Preferences got rid of this. As quick fix, I bound four-finger swipe down to Escape in BTT. Full BTT setup:

    BetterTouchTool shortcut setup

2

Okay guys, I have a quick workaround for High Sierra that will restore the old behavior without third party tools, or gestures that don't feel right. HOWEVER, you'll need to be connected to an external monitor. Here's what you do:

1) In Preferences>Mission Control, turn on "Displays Have Separate Spaces" (I don't know if this is necessary, but I'd have to log-out to test this)

2) On the external monitor, fullscreen whichever app you have on there

3) Tada! Now all your monitors' spaces are expanded into thumbnail view by default, even the ones with only 2-3 spaces.

You can choose to make fullscreen in whichever monitor you want, probably one that's not your main. You have to keep the app on the external monitor fullscreen in order for the other monitors to have thumbnail spaces previews.

0

In addition to pjv's and Arctus' answer, I found the temporary mouse coordinate of (0,0) to not reliably trigger the spaces preview. Half of my display resolution on the x-axis and a little deviation on the y-axis are working fine, though. On my MacBook Air with a 1440x900 resolution, (720,25) is a robust setting.

0

To throw another hat in the ring for Better Touch Tool, it looks like they now provide this action right out of the box:

  1. Select Global Application
    Select Global Application
  2. Select Touchpad Gesture
    Select Touchpad Gesture
  3. Add a New Gesture
    Add a New Gesture
  4. Select "3 Finger Swipe Up"
    Select "3 Finger Swipe Up"
  5. Choose Predefined Action
    Choose Predefined Action
  6. Search for "Mission Control & Immediately Show Desktop Preview"
    Mission Control & Immediately Show Desktop Preview
  7. It should look like this at the end
    Gesture Summary
    Gesture Fields
0

missionControlFullDesktopBar works great on High Sierra. I have it working with Hammerspoon to intercept Mission Control (F3) keypresses, video of it working here, see my full hammerspoon config here:

-- 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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .