* Add settings for fixed-width tabs
This is meant at least partially to address #40290 and
is a continuation of the unfinished work from #40750.
* Only apply fixed width when the setting is on
* Implement chrome-like tab width behavior
Tabs shrink uniformly (down to a limit) but stay fixed-width
when the mouse is over the tab bar.
* Rename width setting to max width
* Make the ifs more readable
* Have event handlers only if the option is set
* 🎨
* Handle sizing artifacts present with wrapping tabs
To achieve this, it's best to remove the transition delay.
* Rename setting to apply only for fixed-sized tabs
* Set default fixed max tab width to 160px
* Minor code tweaks from review comments
* formatting
Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
* Use disposable listeners
* Remove redundant check for last-in-row
* Apply fade gradient from shrink tabSizing to fixed
* Trying to make the code cleaner and understandable
* Remove transition
On advice of @bpasero, removed transition because
the editor doesn't really use transition that much.
* some cleanup
* fix typo
* Simplify workaround for the overflow issue
* 💄
* 💄
* Let the tabs fix their width before closing the editor
* 💄
---------
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>