* work in progress make it scrollabel
* adding changes
* adding changes
* cleaning the code
* cleaning the code
* not usnig a vertical scrollbar
* scanning the dom node only on mouse over
* requires tweaking
* now the scrollbar can be used alongside the hovering on the sticky scroll
* setting handle mouse wheel to false in order not to scroll vertically inside of the scrollable element with wheel
* separated the line numbers and the actual line in order to be able to just move one of the scrollbars, the editor one and the line numbers remain the same
* cleanin the code
* we are able to make the full line appear
* the width is correctly updated on the width layout change of the editor
* only rendering when top scroll changed, not when horizontal scroll changed
* using the correct editor layout info, not the one saved in the constructor
* setting the linehtml node style width to 100% so that the whole line is covered, but still not covered after the end of the viewport
* changing the total width after rendering
* placing the color into sticky line number
* removing the direct setting of the colors
* adding the background color inside of sticky line number
* using the view zone in order to increase the scroll width of the editor
* placing the view zone at the very bottom of the file
* limiting the scrollable dom height to the height of the sticky widget lines node inside, so now the sticky widget works as before
* cleaning the code
* cleaning the code
* removing useless variable
* adding 100 pixels in order to see the end of the line
* removing the console logs
* putting back the check to what it was
* using the same string convention
* adding inheritance properties in order for the background color to be propagated
* cleaning the code
* cleaning the code
* using or instead of and in the zone accessos
* cleaning the code
* cleaning the code
* cleaning the CSS
* chaning the order of the CSS properties
* cleaning the code
* Improve rendering
* No need to resize the widget from the outside, the widget resizes itself
* placing the focus method inside of the sticky widget
* céeanig the code
* Minor tweaks
* Also update widget width when the scroll width changes
* Allow overlay widgets to pass in a minimum content width
* Also update the min content width if the position doesn't change
* defining method for mi content width in px
* updating the minimum content width
* adding setting in order to be able to control whether sticky scroll scrolling should be influenced by editor horizontal scrolling
* removing redundant new line
* Fix typo
* Extract code in a function
---------
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
* combinging the setting of max dimensions on the container and on the contents dom node
* adding the css variable in order to be able to specify the max width of the content inside
* cleaning the code
* changing the name of the variable
* cleaning the code
* placing the hover max width variable into the others category of vscode-known-variables json file
* defining a fall back value of 500 pixels
* inlinging the code
---------
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
* 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>