wavebox / waveboxapp

Wavebox, the revolutionary and feature-rich Chromium browser that's built for productive working across Google Workspaces, Microsoft Teams, ClickUp, Monday, Atlassian, Asana, AirTable, Slack, and every other web app you use to get work done.
https://wavebox.io
1.3k stars 135 forks source link

[Feature request] Keyboard shortcut to switch to the most recent app/tab #1339

Open ferenczy opened 3 years ago

ferenczy commented 3 years ago

This feature request is for Wavebox 10.

The Current State

Currently, it seems that keyboard shortcuts Ctrl+Tab / Ctrl+Shift+Tab and Ctrl+PageUp / Ctrl+PageDown are assigned to the same activity. I'm just not exactly sure what activity it is. It looks like they're switching to the previous/next active (i.e. not sleeping) app or tab. The order is defined by the physical order of groups on the sidebar (from top to bottom) and by the physical order of apps and tabs on a group app/tab bar (from left to right). When you press the shortcut to switch to the next app/tab, it switches to the first active app/tab to the right of the currently active app/tab in the current group, if there's none, it tries the next group down from the currently active group until it finds an app/tab that's active.

Sometimes, it actually activated (wakes up) some app or tab and switched to it when I have been playing with it so I'm not really sure how it's supposed to work.

The Feature Request

In other applications (e.g. Vivaldi browser, Visual Studio Code editor, etc.), the keyboard whortcuts Ctrl+Tab / Ctrl+Shift+Tab usually switch to the next/previous tab in the order they have been previously active. That's what I'm really missing in Wavebox.

Basically exactly what the keyboard shortcut "Switch to the last active tab", that's possible to assign in the Settings, is doing. But with a very important difference: the shortcut "Switch to the last active tab" is cycling just between the active and the previously active tab when pressed repeatedly. It's not possible to go further back.

This is how it works in the Vivaldi browser (also based on Chromium) and the Visual Studio Code editor and it's also my proposal for this feature request:

  1. If you press Ctrl+Tab quickly, it switches to the most recently active tab (so it behaves like the Wavebox's "Switch to the last active tab" shortcut)
  2. But when you press Ctrl+Tab and keep the Ctrl key pressed, the most recent tabs menu is displayed: Recently opened tabs in Vivaldi
  3. The tabs are displayed in the most recently active order, so the first one is the currently active tab, the second one (selected when the menu is opened) is the previously active tab, the third is the tab that was active before that, etc.
  4. When you press the Tab key while the Ctrl key is still pressed, the next tab in the list is selected (the Shift key reverses the direction)
  5. If you release Ctrl, the currently selected tab is activated

Why it's important for me

When using a browser, I have constantly opened tens to hundreds of tabs, but when I'm switching between tabs, I'm almost always interested in the most recently used ones (depending on what I'm currently doing, I'm usually switching between let's say 2 - 10 most recently active tabs), but in Wavebox, I can switch to the single previously active tab only.

Also, for me, it's very important to be able to see the tabs in their most recently used order so I can recollect what I have been doing before something else has distracted me.

I have been using Wavebox for years, but I don't think I have ever used keyboard shortcuts to switch to the next/previous group or app in the current group. I don't care about the physical location of groups/app/tabs when using the keyboard. When I need to switch a specific app or tab (i.e. I know the name), I'm using the Quick switch feature, which is great, otherwise, I need to switch to a recently active app/tab (not just the immediate one, maybe it was two tabs ago, three tabs, etc.), so I need to see the most recently active list. It's even more important to have such a list in Wavebox since, in a regular browser, I have usually related tabs in the same window close to each other but in Wavebox, they may be spread all over various groups and their tabbars.

Thomas101 commented 3 years ago

I totally agree with you, the behaviour is confusing at the moment and something we need to work on.

The actual implementation of Ctrl+Tab/Ctrl+Shift+Tab etc is to switch between running tabs, this matches what's already implemented in Chromium. It used to work reasonably well, but we've been adding features that have had a negative impact on this. For example, there's actually two levels of app sleep, a light sleep where the app is still running, and also a deep sleep when the app is completely closed. There's nothing in the interface to indicate the difference between these, however when using Ctrl+Tab, it will cycle between apps in light sleep, but not those in deep sleep.

I think there's a chunk of work to do here, as you pointed out. It's on our list, I'll see if I can carve some time out over the next few weeks to get something working a bit more consistently.