Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't hide AltTab during Mission Control's "Show Desktop" #960

Closed
ilyabirman opened this issue May 21, 2021 · 5 comments
Closed

Don't hide AltTab during Mission Control's "Show Desktop" #960

ilyabirman opened this issue May 21, 2021 · 5 comments
Labels
enhancement New feature or request need breakthrough Need a breakthrough idea to move forwards

Comments

@ilyabirman
Copy link

When macOS is in Show Desktop state (i.e. after using a Hot Corner), so that all the windows have temporarily moved to the sides, pressing ⌘Tab does not summon AltTab switcher interface. This makes it impossible to drag a file from Desktop and drop it into an application inside the switcher, which I would do with the system app switcher.

  1. Set up a Hot Corner with System Preferences → Mission Control to use “Desktop” command i.e. like this: https://d.pr/i/dpMPX1
  2. Move the mouse pointer to the selected screen corner. All your windows will fly away to show Desktop.
  3. Press ⌘Tab... Nothing happens.
@ilyabirman ilyabirman added the bug Something isn't working label May 21, 2021
@lwouis
Copy link
Owner

lwouis commented May 23, 2021

Hi @ilyabirman

I implemented this behavior on purpose, and it was actually hard to implement (private APIs and workarounds).

The reason I implemented to disable AltTab when Mission Control is open is the following. I noticed this interaction was possible during development. It was kind of goofy since when you released the keys, it would focus the window, while still staying in MC. Imagine the blue outline of the thumbnail'ed windows of MC "zoomed out" view changing focus.

Faced with that unintuitive UX, I looked at Apple HIG as well as the docs of certain methods/attributes of AppKit. I realized some HUD and modals are supposed to hide during MC. I also noticed that the built-in app switcher is disabled during MC. AltTab tries to be consistent with the built-in switcher.

In addition to what is should do in that situation not being clear, and a lot of similar example cases leading to disable AltTab, there is the case of other interactions (e.g. releasing shortcut in the middle of Space transitions) which interact with AltTab and the OS in ways similar to MC (biggest issue are always animations as we have before, during, and after to take into account, and that's a lot of possible states and unexpected things to carefully consider).

So that's the context of why we are where we are. Now your use-case seems useful, so I'll keep this ticket open so we can discuss and experiment with it. It may be possible to implement it, so let's see how it goes 👍

@lwouis lwouis added enhancement New feature or request and removed bug Something isn't working labels May 23, 2021
@lwouis lwouis changed the title ⌘Tab does not summon AltTab when macOS is in Show Desktop mode Don't hide AltTab during Mission Control May 23, 2021
@ilyabirman
Copy link
Author

Hmm, I disagree with your change of the issue title :–)

To me, it totally makes sense to not engage AltTab during MC, in line with your explanation (however I don’t see a big problem with changing the position of the blue outline either).

I was talking specifically about the Show Desktop mode, rather than the Exposé mode. It didn’t occur to me that Show Desktop was also considered a MC state on some technical level, but from the user experience standpoint it’s very different. So I hope you find it a good idea (and technically viable) to show AltTab when I’m dragging a file from Desktop to some window.

(Your explanations are very eye-opening in that how hard it actually is to implement a good alternative to ⌘Tab and help appreciate your work!)

@lwouis lwouis changed the title Don't hide AltTab during Mission Control Don't hide AltTab during Mission Control's "Show Desktop" May 31, 2021
@lwouis
Copy link
Owner

lwouis commented Aug 16, 2021

I tested to ignore MC and always show AltTab. Some issues I noticed when in "Expose" mode:

  • The "focus" doesn't seem to be on AltTab. You can use tab or shift to go left/right, but not the arrows keys for instance.
  • Mouse hover over the thumbnails doesn't work

These issues don't affect "Show Desktop" mode. In "Show Desktop" mode, I noticed that releasing the shortcut would stop the "Show Desktop" mode if the focused window was on the left or right side of the screen when pushed away. If it was a window pushed to the top side, it would focus it but stay in "Show Desktop" mode.

So, it seems to be a decent experience to enable AltTab in "Show Desktop" mode. Now I don't know of a technique to detect that the OS is in this mode. The current technique to detect MC is pretty rough already, but touches on high-level objects so it works across macOS versions. I'm worried that if we find a trick to detect SD mode, it may be more brittle. In any case, first such a trick needs to be found.

@lwouis lwouis added the need breakthrough Need a breakthrough idea to move forwards label Aug 16, 2021
@danilagalimov
Copy link

I also face this issue and would like to get it fixed.

Maybe it is possible to do it in the reverse way? For example, to intercept "Show Desktop" command and do the own version of Show Desktop (i.e. by enumerating and hiding all of the windows)?

@lwouis
Copy link
Owner

lwouis commented Nov 9, 2024

Duplicate of #783

@lwouis lwouis marked this as a duplicate of #783 Nov 9, 2024
@lwouis lwouis closed this as completed Nov 9, 2024
@lwouis lwouis reopened this Nov 9, 2024
@lwouis lwouis closed this as completed Nov 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request need breakthrough Need a breakthrough idea to move forwards
Projects
None yet
Development

No branches or pull requests

3 participants