4

I would like to completely disable Mission Control in Big Sur. If there is a way to stop it from triggering when I drag a window to the top of a screen that would also be greatly appreciated. I've disabled all options in System Preferences aside from Displays have separate spaces, which I would like to keep for other reasons.

It appears that defaults write com.apple.dock mcx-expose-disabled -bool TRUE && killall Dock used to work, but no longer does. Please tell me there is some way to disable this annoying behavior. Thanks.

From comments:
This issue can apparently only be triggered if

  1. There are multiple displays &
  2. Displays have separarate Spaces is enabled.
12
  • 1
    What precisely triggers when you drag a window to the top of the screen? Nothing at all happens here. Tested on a Mac Pro still on Mojave & a new iMac M1 running Big Sur.
    – Tetsujin
    Jul 15, 2021 at 9:22
  • I need to slide the window up against the top of the screen fairly quickly for this to trigger, so it's a somewhat inconsistent. But when it happens, suddenly every single window from every screen shifts into view. It extremely distracting when I'm quickly moving a bunch of windows around.
    – rurp
    Jul 15, 2021 at 15:34
  • I suspect you are actually accidentally using the trackpad gesture for Mission Control - by default a 4-finger swipe up. You should be able to disable or change that in Trackpad prefs. See support.apple.com/en-us/HT204895
    – Tetsujin
    Jul 15, 2021 at 15:39
  • 2
    That's a really highly annoying problem with Big Sur! A somewhat related post: github.com/rxhanson/Rectangle/issues/250#issuecomment-710784481 The only advice there was to reduce the speed of your dragging and/or not go too high :( Sep 6, 2021 at 15:13
  • 1
    @sam - D'oh, missed that. I have to withdraw from the discussion as I cannot test those criteria. This detail needs adding to the question, though. If a very specific setup is required to repro, then only people with that setup can test.
    – Tetsujin
    Sep 12, 2021 at 10:26

1 Answer 1

2

The best solution I came across so far is to use hammerspoon:

disableTopScreenEdgeForDragging = hs.eventtap.new({ hs.eventtap.event.types.leftMouseDragged }, function(e)

    local loc = e:location()

    if loc.y == 0.0 then
        hs.mouse.setAbsolutePosition({ x = loc.x, y = 0.01 },
                1337 -- a hack, do not remove
        )
    end
end)

disableTopScreenEdgeForDragging:start()

https://gist.github.com/raxigan/588bb3c97ec2a2a3b3042846fbf7fe51

0

You must log in to answer this question.

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