-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Description
We had a long discussion about this in Teams the other day, trying move it to Github to make sure we don't lose it. Expando the below expand to see the entire line of reasoning that got us here.
Unfiltered chat
tbh, I like the tab switcher (with previewing), and in-order history. I also don't think it's out of the realm of possibility for someone to want MRU order, no switcher. So I guess I do think there should be two bools - useTabSwitcher and tabSwitchOrder
For me I like just having useTabSwitcher and have it only be MRU. If people want in order, the tab switcher feels redundant? So they could just disable it?
I disagree - I'm a tabWidth:equal kind of guy, and I like the tab switcher for my longer tab titles:
But I also like in-order traversal, and can't stand MRU traversal. So I want both the switcher and in-order at the same time.
Plus, let's consider when panes are in the tab switcher too. I dont want to be forced to use MRU switching if I want to be able to use the tab switcher to navigate through panes.
Oh yeah those are excellent points. Could we combine the two bools to just one? Like, "useTabSwitcher": "MRU", "inOrder", "off" or something?
i'm in the "defer it until later" camp. tab switcher is always MRU until more than one user (hi mike ;P) complains
firefox did this. it's either tab-row in-order no-popup, or with-popup MRU
and i explicitly always go knife the popup as early as humanly possible when i install it fresh
my rationale is really just "looks like we've got MRU in PR today; making it configurable would complicate the PR and delay the feature for the people who are mad at us"
> we should of course go add the setting later! I'm just thinking this is an area for incremental improvement. Do it one way, see how people react, add the new thing, etc etc etc
I can get behind the wait and see approach - changing the setting is relatively straightforward, so if we do get enough requests it'll be a short turnaround time. I agree tho that the option for inorderATS makes a lot of sense when pane switching comes into the picture. maybe i can make a secret setting for mike to use inorderATS (tongueout)
lol let's merge MRU for now and I'll ship the setting (tongueout)
ah shiz tho, what's the default value for the setting?
tabSwitchOrder: inOrder|mostRecentlyUsed
right now we're using inOrder as the "default". After your current PR, the switcher will default to MRU, and after my PR, the switcher will default to inOrder, with the option for MRU
the ATS is enabled by default, so I think MRU-ATS should be the default fresh install behavior.
I'm pretty confident if we do that, then people are gonna complain about us breaking their next/prev tab muscle memory
We also need to comport tabSwitchOrder with useTabSwitcher. The first only makes sense with the second. You can pry “no popup, screen order” from my cold dead hands
But depending on how we configure the defaults, we’re going to keep our users on a horrible treadmill where they need to keep adding new disablement settings just to keep up with us
The top right box just looks like “terminal is broken”
Should it be a possible state at all?
tbh i like Kayla's suggestion of combining the two to make useTabSwitcher an enum. i tried doing MRU switching with no popup, i didn't know what tab i was getting next
idk, there's a bunch of people who all want MRU order switching, and TBH I've never seen a MRU popup before in another app. So presumably?
Huh, alt tab is MRU and ctr tab in both Visual Studios is MRU+popup
I agree that it's an insane behavior, but
>
okay yea I guess alt tab counts as a popuplike regardless of which box we choose, some set of people will change their settings. If we choose box N (clockwise from top-left) as the default:
- Nothings changed from the pre-ATS build. People who want MRU or ATS need to change settings
- Everyone is unhappy and changes their settings
- Everyone with muscle memory of in-order switching needs to change the setting
- Everyone who wants MRU needs to change the setting
I think it's usually best to have people opt-in to new "muscle" behavior like this. The switcher could be on by default b/c it doesn't affect muscle memory, but MRU would
when changing defaults there's also the consideration of "what do we want our fresh install experience to be". I don't particularly care if it's inorder or mru bc I don't mind changing my settings, but I think that if we go with inorder, it should use no popup by default, and if we go with mru, it should use a popup. I feel like these two combos are the most common combos seen in a wide range of apps.
I feel like mru vs in-order muscle memory has already been developed through a user's experience with other apps, which is probably why they get angerey at us for not implementing an order they've used their entire life (mru) (laugh)
Yeah I’m on board with all these assertions. Well said, both of you!
Should it actually be more like “tabSwitchOrder: default, inorder and mru” and default is “the presence or absence of the tab switcher decides”?
We have had two releases to build muscle memory with ATS versus the twelve for the normal inorder switcher. Just a thought
default is “the presence or absence of the tab switcher decides”?
ooooooh now there's a thought
So I think the conclusion was
"tabSwitchOrder": "default|inorder|mru" defaultis “the presence or absence of the tab switcher decides”. So,"tabSwitchOrder":"default", "useTabSwitcher":trueis MRU switching with the tab switcher"tabSwitchOrder":"default", "useTabSwitcher":falseis in-order switching without the tab switcher, basically what the behavior was before the ATS."tabSwitchOrder":"inOrder", "useTabSwitcher":trueis in-order switching with the tab switcher"tabSwitchOrder":"inOrder", "useTabSwitcher":falseis in-order switching without the tab switcher, basically what the behavior was before the ATS, and the same as case 2."tabSwitchOrder":"mru", "useTabSwitcher":trueis MRU switching with the tab switcher, and the same as case 1"tabSwitchOrder":"mru", "useTabSwitcher":falseis MRU switching without the tab switcher
