lwouis / alt-tab-macos

Windows alt-tab on macOS
https://alt-tab-macos.netlify.app
GNU General Public License v3.0
11.04k stars 330 forks source link

CleanShot shows screenshot-less window in AltTab #420

Closed alt-tab-macos-bot closed 4 years ago

alt-tab-macos-bot commented 4 years ago

This issue was opened by a bot after a user submitted feedback through the in-app form.

From: w0225@hotmail.com

Message:

Hi, here are some issues and suggestions

1) I want to be able to press two keys to select the previous window, and the key position is comfortable. So I set shortcut keys like pictures. (hold ⌘, next⇥, previous⇧) But when I click the shortcut key "⌘+⇧" anywhere, the AltTab window will pop up. I don’t know if it’s possible to add background conditions, ⌘+⇧ only works when the AltTab window has appeared.

2) AltTab's switching windows often have apps (such as pictures), that have been activated but don't have any windows. Although I can switch between all app and active app in the preferences, this leaves only the frontmost application window, which is useless. Can I maintain all application settings, but hide app without window, or directly Blacklist some apps? Thank you

Ps. Sorry, I didn't find it possible to send pictures after writing

Debug profile

* App version: 4.3.0 * App preferences: * NSStatusItem Preferred Position Item-0: 1398.5 * NSWindow Frame SUUpdateAlert: 970 768 620 392 0 0 2560 1417 * NSWindow Frame com.sindresorhus.Preferences.FrameAutosaveName: 1184 749 340 267 0 0 2560 1417 * SUAutomaticallyUpdate: 1 * SUEnableAutomaticChecks: 1 * SUHasLaunchedBefore: 1 * SULastCheckTime: 2020-07-14 22:48:55 +0000 * SUUpdateRelaunchingMarker: 0 * alignThumbnails: 0 * appsToShow: 1 * arrowKeysEnabled: true * cancelShortcut: ⎋ * fadeOutAnimation: true * hideShowAppShortcut: S * hideSpaceNumberLabels: false * holdShortcut: ⌘ * maxScreenUsage: 70 * minDeminWindowShortcut: Z * nextWindowShortcut: ⇥ * preferencesVersion: 4.3.0 * previousWindowShortcut: ⇧ * showFullscreenWindows: true * showHiddenWindows: true * showMinimizedWindows: true * showOnScreen: 1 * showTabsAsWindows: true * spacesToShow: 1 * startAtLogin: true * theme: 0 * windowDisplayDelay: 0 * Applications: 125 * Windows: 6 * {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 1, spaceIndex: 1} * {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 1, spaceIndex: 1} * {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 1, spaceIndex: 1} * {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 4, spaceIndex: 2} * {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 5, spaceIndex: 3} * {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: true, isOnAllSpaces: false, spaceId: 1, spaceIndex: 1} * OS version: Version 10.15.5 (Build 19F101) * OS architecture: x86_64 * Locale: en_TW (current) * Spaces: 5 * Dark mode: Dark * "Displays have separate Spaces": checked * Hardware model: MacBookPro15,2 * Screens: 2 * {x: 0.0, y: 0.0, width: 2560.0, height: 1440.0} * {x: 422.0, y: -1050.0, width: 1680.0, height: 1050.0} * CPU model: Intel(R) Core(TM) i7-8569U CPU @ 2.80GHz * Memory size: 17.18 GB * Active CPU count: 8 * Current CPU frequency: 2.8 Ghz * Resource utilization: * CPU: 0.0% * Memory: 74M- * Threads count: 12

lwouis commented 4 years ago

Hi and thanks for the feedback!

  1. if it’s possible to add background conditions

I like the idea of enabling all sort of workflows. That's why the current shortcut situation is so flexible compare to all other similar apps. Your proposal of adding background conditions would add great complexity to the preferences UX though. To the point where it would be overwhelming for someone opening up the preferences I think. Currently, showing next and showing previous are the only 2 shortcut that can activate the app. All other shortcuts, including the arrows, only activate once the app is showing.

  1. AltTab's switching windows often have apps (such as pictures), that have been activated but don't have any windows.

I don't understand the situation. I think pictures are really needed here to understand the issue you face. At first I thought you wanted the same feature as discussed in #397 but then I read again and I think you may be experiencing a bug where empty windows are showing? Could you please add pictures or a loom? Either here or by email if you don't want to create an account on github? Thank you!

sk-gara commented 4 years ago

⌘+⇧ only working after AltTab has been activated by ⌘+⇥ would be important for me too. alt+⇧ and ⌘+⇧ are reserved for selecting a word/a line and pressing 3 keys for switching back will break my fingers :).

lwouis commented 4 years ago

Hey @sk-gara, thank you for joining the conversation! You helped me understand the need better.

I double-checked on Windows 10, and they don't support that workflow. They do exactly like current AltTab: back-shortcut is alt-shift-tab and can be pressed even if the UI is not showing.

I like the idea of just using shift for the back part as an ergonomics option. I guess you both learned that from HyperSwitch offering the option. I just checked on HyperSwitch, and their UX is not very polished. You can't summon the UI with the full alt-shift-tab. You have to first summon it, then you can do the back-shortcut. Furthermore, if you have checked the "use shift to cycle backwards" checkbox, when you press alt-shit, it works as expected, but when you press alt-shit-tab, it moves back twice, once for each shortcut lol

Here are my requirements if we add this new enhancement:

I have a few UX ideas, but I'll have to flesh it out.

sk-gara commented 4 years ago

In fact, i used LiteSwitch which offered this behaviour, but it couldn't display high resolution icons and I'm not even sure if it still runs with macOS 10.14. I tried all the other app switch apps, but none of them did exactly what i was looking for. Actually, apart from what macOS offers natively, I only want cmd+shift for backwards. Switching apps instead of windows is more what i would want, but that's not the goal of AltTab, right? Anyway, let's see what you come up with.

(just tried taking a screenshot with cmd+shift+4 - damn...)

lwouis commented 4 years ago

Simple approach:

image

Revamp of the UX, also more flexible as you can have 2 shortcuts, one that brings the UI, and one that only functions when the UI is already showing:

image

lwouis commented 4 years ago

I think this is the winner for me:

image

mw0225 commented 4 years ago

Hi @lwouis  I replied to your email, it seems you haven't received it In fact, when I set it myself, I found this setting is the most convenient and comfortable Since the arrow keys are valid only after the AltTab window is started, the "previous window" shortcut key should have the same logic. But this leads to another problem when the AltTab window is activated, that is the first time you press ⌥+⇥, whether the target stays in the original window or moves to the next (because ⌥+⇥ is the next displacement by default). This may also set as an option I like the UI and design of AltTab very much. That's why I will write to you. I even set Hold to ⌘ , replace the one that comes with macOS. In addition, I have two other suggestions, If possible, this can be the ultimate switching App.

1) Use shortcut keys to switch windows, (similar to Manico or CmdTap)

2) Put the Tab window menu into the second layer (optional), when the selected App has multiple windows, enter the second layer menu and select Tab

This is only recommended for your reference (attach the missing photos in addition), and thank you for your time.

https://www.dropbox.com/sh/g41pqqqlojgmz24/AADP6aGN2W0rUiWF4GdXyep7a/CleanShot%25202020-07-15%2520at%252007.02.39.AM.jpg?dl=0

https://www.dropbox.com/sh/g41pqqqlojgmz24/AADETf92_qEhLI_Qg5sgo1bBa/CleanShot%25202020-07-15%2520at%252007.11.05.AM.jpg?dl=0

lwouis commented 4 years ago

Hey @w0225 i didn't receive an email unfortunately. Anyway if we can talk in the open here, it's even better 👍

For the topic of backward-cycling shortcut, I will go with the design i shared above. It works for all workflows, as i explained.

when the AltTab window is activated, that is the first time you press ⌥+⇥, whether the target stays in the original window or moves to the next (because ⌥+⇥ is the next displacement by default). This may also set as an option

I don't get this idea. If I understand correctly, you suggest that doing alt-tab would bring the UI but would select the currently focused window instead of the previously focused window? Who would want that? I don't understand the benefit. When i press alt-tab, i want to go back to a previous window. Sometimes i press alt-tab without even waiting for the UI because i know i want the previous window specifically.

Use shortcut keys to switch windows, (similar to Manico or CmdTap)

This is already being discussed in #210

Put the Tab window menu into the second layer (optional), when the selected App has multiple windows, enter the second layer menu and select Tab

If i understand you right, i think this is already being discussed in #396

Regarding the no-picture window for CleanShot, i will try to use that app and see if i can reproduce. Could you please share the steps i need to take to get to that result?

mw0225 commented 4 years ago

Hi @lwouis, Sorry for not being clear, please let me explain more clearly. I mean, when I actually want to select "previous window", but because of the background conditions mentioned earlier, I have to press "next window" first. So when I press"next window", the target moves to the next, but I actually want the opposite direction. Can you understand what I mean? So when the background condition is set to your design shared above, "Next window" should also have an option, whether it is about staying or move to next like the original.

Regarding the no-picture window, there are other apps in this situation, and they happen from time to time. CleanShot is just an example. Frankly, I don’t know what I did before that led to this result, I tried to restore this situation but couldn't find away. I think if you can add options to exclude or block applications, this should be fine. This can rule out problematic apps, and there are some floating windows or resident applications that don’t want to be displayed. The floating apps have no response even after it is selected, such as nvAlt or Tot, etc. Thank you

lwouis commented 4 years ago

Next window" should also have an option, whether it is about staying or move to next like the original.

That sounds pretty confusing for users opening the preferences for the first time. Here is how i see the situation:

Most users want to go back in time, not forwards, thus most people press alt-tab, 1 or multiple times. Sometimes they press it too many times and want to "correct" and back left one time. At this point they press alt-shift-time. Because it's hard to do, people suggested alt-shift only, as Hyperswitch does too.

Actually now that i think about it, i don't think anyone presses alt-shift-tab as a first command. It would be hard to know where it's going to bring you since its target would be the last open window you used. I think i'm going to scratch my previous plan, and simply have the backwards-cycling shortcut be only working if AltTab is already showing. The only reason if it able to summon AltTab today is because i copied Windows 10, but thinking about it critically now, i can't imagine anyone would want to do that.

This made me also realize i should rework the wording of "select previous window" and "select next window" as "next window" is the next window in space, but the previous window in time. It's confusing and there must be a better way to say what it does.

I think if you can add options to exclude or block applications, this should be fine. This can rule out problematic apps, and there are some floating windows or resident applications that don’t want to be displayed.

I added this feature in AltTab on Friday night. Please update the app and check it out :)

That being said, it's not good that empty windows are showing. If you see some show up again, it would be useful if you tried to share the steps you took, so that i can perhaps reproduce locally and find and fix the root cause 👍

lwouis commented 4 years ago

The first element of this ticket is done.

Please share steps to reproduce the issue with CleanShot when the issue happens again 👍

lwouis commented 4 years ago

@w0225 Is the issue still happening, or should I close this ticket?

lwouis commented 4 years ago

Closing as unactionable as i'm not getting any reply from the author.