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

Alternate control scheme: can release the shortcut without the UI going away #458

Closed
alt-tab-macos-bot opened this issue Jul 22, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@alt-tab-macos-bot
Copy link

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

From: [email protected]

Message:

allowing the interface to come up using a mouse button rather than key combo.
Ive been trying to simulate the alt(hold) with tab(tap) using various software but thus far to no avail. Just tap a button and put the window up and leave it there until I click the mouse again.. on the window to select or OFF the window to cancel. Even just being able to use any key combo without have to hold anything would be good becuase then I could likely program it onto a mouse button.. so just hit (for example) the tilde key (left of number 1) and it brings up the window for me to click into or click outside of to dismiss.

Cheers.

Debug profile

  • App version: 4.7.2
  • App preferences:
    • NSStatusItem Preferred Position Item-0: 546.34765625
    • NSWindow Frame SUStatusFrame: 1480 1303 400 129 0 0 3360 1867
    • NSWindow Frame SUUpdateAlert: 1370 1106 620 392 0 0 3360 1867
    • NSWindow Frame com.sindresorhus.Preferences.FrameAutosaveName: 1226 569 556 586 0 0 3008 1669
    • SUAutomaticallyUpdate: 1
    • SUEnableAutomaticChecks: 1
    • SUHasLaunchedBefore: 1
    • SULastCheckTime: 2020-07-21 15:58:56 +0000
    • SUUpdateGroupIdentifier: 683741955
    • SUUpdateRelaunchingMarker: 0
    • alignThumbnails: 1
    • arrowKeysEnabled: false
    • cancelShortcut: ⎋
    • closeWindowShortcut: W
    • disableShortcutsBlacklist:
    • dontShowBlacklist:
    • fontHeight: 24
    • hideShowAppShortcut: H
    • hideSpaceNumberLabels: true
    • holdShortcut: ⌥
    • iconSize: 64
    • maxCellsPerRow: 4
    • minCellsPerRow: 2
    • minDeminWindowShortcut: M
    • nextWindowShortcut: ⇥
    • preferencesVersion: 4.7.2
    • previousWindowShortcut: ⇧⇥
    • quitAppShortcut: Q
    • rowsCount: 2
    • showHiddenWindows: false
    • showHiddenWindows2: false
    • showMinimizedWindows: false
    • showMinimizedWindows2: false
    • showOnScreen: 1
    • showTabsAsWindows: false
  • Applications: 124
  • Windows: 11
    • {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 4, spaceIndex: 1}
    • {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 4, spaceIndex: 1}
    • {isFullscreen: true, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 252, spaceIndex: 3}
    • {isFullscreen: true, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 256, spaceIndex: 6}
    • {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 4, spaceIndex: 1}
    • {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 4, spaceIndex: 1}
    • {isFullscreen: false, isMinimized: false, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 7, spaceIndex: 5}
    • {isFullscreen: false, isMinimized: true, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 5, spaceIndex: 2}
    • {isFullscreen: false, isMinimized: true, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 5, spaceIndex: 2}
    • {isFullscreen: false, isMinimized: true, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 4, spaceIndex: 1}
    • {isFullscreen: false, isMinimized: true, isHidden: false, isTabbed: false, isOnAllSpaces: false, spaceId: 7, spaceIndex: 5}
  • OS version: Version 10.15.6 (Build 19G73)
  • OS architecture: x86_64
  • Locale: en_AU (current)
  • Spaces: 6
  • Dark mode: Light
  • "Displays have separate Spaces": checked
  • Hardware model: MacPro7,1
  • Screens: 2
    • {x: 0.0, y: 0.0, width: 3008.0, height: 1692.0}
    • {x: -3008.0, y: 0.0, width: 3008.0, height: 1692.0}
  • CPU model: Intel(R) Xeon(R) W-3245 CPU @ 3.20GHz
  • Memory size: 309.24 GB
  • Active CPU count: 32
  • Current CPU frequency: 3.2 Ghz
  • Resource utilization:
    • CPU: 1.2%
    • Memory: 85M
    • Threads count: 12

@lwouis
Copy link
Owner

lwouis commented Jul 22, 2020

There is a way to do that with the mouse, but it's 2 clicks. Note that this triggers with the filters of tab1, not tab2 (see screenshot of the preferences bellow)

image

I think I understand what you want to achieve. You would like a do the whole flow with the mouse frequently. Like press an extra mouse button > brings the UI > click a thumbnail > done.

Today, the hold-and-release shortcut design is deeply integrated into AltTab. Releasing the modifiers focuses the window. In your workflow, let's say your bring the UI with the mouse button or a keyboard shortcut that you can release. At this point, how would you focus a window without clicking with the mouse? You could press the shortcut with escape, or even just escape to close the UI, but what would you press to focus the window? We would need new shortcuts I believe. Maybe space and/or enter.

To recap how I think this would look like:

  • Add an alternate way to control AltTab. It should not remove any of the existing controls, but be switched to from the preferences somehow.
  • Add a shortcut which displays the UI, and doesn't close it on releasing the modifiers. At that point:
    • other shortcuts don't need their modifiers to work (e.g. quit with escape not alt-escape)
    • new shortcuts allow to focus the window (e.g. enter, space)

For this to work, I think we would have to extend the tabbed area with is today used to have 2 alternate shortcuts, with different filters:

Screen Shot 2020-07-22 at 19 11 24

We would extend the tabbed area to the rectangle I drew here. Then we could have 4 tabs, at the top of the area: Hold 1, Hold 2, Press 1, Press 2. The first 2 tabs would be like today, and the next 2 tabs would change the wording of Hold to Press, and remove the line with then release entirely.

It's all doable, and I think it's great to have such workflows enabled! However it represents quite a lot of work

@lwouis lwouis added the enhancement New feature or request label Jul 22, 2020
@lwouis lwouis changed the title [In-app feedback] Alternate control scheme: can release the shortcut without the UI going away Jul 22, 2020
@lwouis
Copy link
Owner

lwouis commented Jul 22, 2020

Author replied by email. It's hard to copy paste his in-place responses. I'll just paste my response here:

I think you misunderstood me. All the points for which you said "no" are me trying to design a solution that is also keyboard friendly. You want to have a mouse workflow. That's great. I'm thinking ahead, and generalising that workflow. I want to have AltTab have 2 modes:

  • keyboard hold to display > release to focus
  • keyboard press to display > press to focus

The second workflow can work with a mouse since you can bind the shortcut to a mouse button, but some people may want to actually use it with the keyboard that way! It's more flexibility for everyone, whether they use keyboard, mouse, or an organic mix of both.

My proposal design accommodates your use-case, and more. It also fixes coherency of secondary shortcuts while the ui is open in the press > press mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants