[HN Gopher] Vertical Tabs in Visual Studio Code
       ___________________________________________________________________
        
       Vertical Tabs in Visual Studio Code
        
       Author : domysee
       Score  : 23 points
       Date   : 2023-11-19 13:56 UTC (9 hours ago)
        
 (HTM) web link (weberdominik.com)
 (TXT) w3m dump (weberdominik.com)
        
       | yuppie_scum wrote:
       | It feels like the explorer bar kinda does this intrinsically, or
       | am I missing something?
        
         | domysee wrote:
         | You can see it like that. The difference is that in the
         | explorer bar you can't choose how many there are. It's just a
         | list of all files. Personally I like it better if I open the
         | files I currently need to work with, and they're all grouped as
         | open tabs.
        
           | DonHopkins wrote:
           | Also, not everything is a file. Tabs should apply to all
           | edges of all windows, including top level windows, not just
           | one edge of only windows with files in them. And you should
           | be able to drag any window out to top level and it still has
           | its tab attached, then move it around to any position along
           | any edge, or hide it, and of course snap windows together
           | along their tabbed edges, either tiling or overlapping.
           | 
           | How do you control all of that? That's where the pie menus on
           | the tabs come in, of course. Thanks to the tabs, you can even
           | pop up pie menus on windows that are completely covered up,
           | and perform commands on them even though they're not visible,
           | like bringing them to the top (stroke up) or down (stroke
           | down), or closing them (diagonal stroke for confirmation
           | submenu, then stroke up to confirm), or whatever (paste into
           | terminal emulator, evaluate code in editor, etc).
        
         | rstat1 wrote:
         | It does, but it also limits the "open editors" list to a
         | smallish size that makes it annoying to use when you have a lot
         | of open files, and you can't resize it either.
         | 
         | I never knew you could drag the open editors list off to its
         | own thing though.
        
           | seritools wrote:
           | workbench.editor.limit.value to change the limit, and
           | workbench.editor.limit.perEditorGroup to change whether the
           | limit applies to each editor group, or the total amount
        
       | DonHopkins wrote:
       | I've been implementing and using vertical tabs since around 1988,
       | with I released a commercial product with tabbed windows, the
       | NeWS version of UniPress Emacs, and used it to develop a
       | hypermedia authoring environment for HyperTIES at the UMD Human
       | Computer Interaction Lab.
       | 
       | https://en.wikipedia.org/wiki/Tab_(interface)#/media/File:Hy...
       | 
       | Vertically tabbed windows combine synergistically well with pie
       | menus, and are great for window management, especially when you
       | have many windows.
       | 
       | They are purposefully NOT patented, since the idea is so fucking
       | obvious, but it's disappointing they took so many decades to
       | catch on finally. Still there aren't any decent desktop window
       | managers I know of that implement tabs the right way. (tvtwm is
       | not the right way!)
       | 
       | The later NeWS Toolkit versions from the early 1990's let you
       | drag the tabs around to any side of the window you like: left,
       | right, top or bottom, to any position along any edge. The user
       | should be able to decide which edge and where the tabs are
       | attached to for each window, it should not be hard wired like the
       | tabs in VSCode and web browsers typically are. Being able to
       | choose which edge the tab is on and where the tab is gives users
       | better more flexible ways to organize and manipulate their
       | windows.
       | 
       | https://en.wikipedia.org/wiki/Tab_(interface)
       | 
       | HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS,
       | tabbed windows, pie menus:
       | 
       | https://www.youtube.com/watch?v=hhmU2B79EDU
       | 
       | I had a video of the NeWS tabbed windows, demonstrating dragging
       | the tabs to different window edges, but youtube took it down
       | because it contained copyrighted music (Herbie Hancock's Rockit).
       | 
       | Oh, here's the original video you can download from my server:
       | 
       | https://donhopkins.com/home/movies/TabWindowDemo.mov
       | 
       | Here are some different version from 1988-1991 for different
       | versions of NeWS:
       | 
       | https://donhopkins.com/home/archive/NeWS/tabwin.ps
       | 
       | https://donhopkins.com/home/archive/NeWS/tab-1.ps
       | 
       | https://donhopkins.com/home/archive/NeWS/tabframe-1.ps
       | 
       | https://donhopkins.com/home/archive/NeWS/tab-3.0.2.ps
       | 
       | Here's another NeWS program that uses vertical (by default, but
       | any edge if you want) tabs on windows around PostScript objects
       | that you can push and pop on the stack with "direct stack
       | manipulation":
       | 
       | The Shape of PSIBER Space: PostScript Interactive Bug Eradication
       | Routines -- October 1989
       | 
       | https://donhopkins.medium.com/the-shape-of-psiber-space-octo...
       | 
       | PSIBER Space Deck Demo:
       | 
       | https://www.youtube.com/watch?v=iuC_DDgQmsM
        
       | ofek wrote:
       | This is a long-standing feature request that has not made any
       | progress nor can I tell that there is a plan to work on this at
       | all in the near future:
       | https://github.com/microsoft/vscode/issues/108264
        
       | j1elo wrote:
       | 99% of the time I'm with 2 side-by-side editor panes open, so
       | horizontal estate is very precious in this case, otherwise both
       | documents won't fit well.
       | 
       | That's also why I'm thankful when people don't assume 16:9 screen
       | estate and configure their max line length to huge amounts like
       | 120 or more! 80, 100 max, is still today the sweet spot. But I
       | digress.
       | 
       | For an IDE I wouldn't use vertical tabs on a side. But for web
       | browsing they've become second nature to me, and Tree Style Tab
       | for Firefox [1] changed the way I use the browser!
       | 
       | [1]: https://addons.mozilla.org/en-US/firefox/addon/tree-style-
       | ta...
        
         | DonHopkins wrote:
         | This is why you should be able to choose which side and
         | position any tab is positioned along any window at any time,
         | and change them at any time by dragging them to where you want.
         | 
         | Then you can assign meanings to each side, depending on your
         | workflow, for example (this should be under user control, not
         | set in stone, of course):
         | 
         | Tabs on the top for important stuff.
         | 
         | Tabs on the bottom for administrative stuff.
         | 
         | Tabs on left for things you haven't read yet.
         | 
         | Tabs on right for things you've already read.
         | 
         | Then drag the tab from the left to the right after you read
         | something (like moving it from your "in box" to your "out
         | box"), or pin its tab on the top or bottom of it's important
         | and you want to keep it around and easy to find.
         | 
         | And if you really want, you should be able to hide the tab to
         | save space.
         | 
         | And not only tabs for apps like browser and IDEs, but also the
         | desktop window manager should support tabs on top level windows
         | in a consistent manner, so you can drag tabbed windows in and
         | out of other window frames, as well as arranging them in
         | hierarchical outlines along the edges.
         | 
         | All this is super obvious, and saves a lot of time and effort,
         | so it bewilders me why tabs like I described and implemented in
         | the 1980's aren't universally supported on all desktops and
         | applications by now.
         | 
         | It's not because they're patented. Adobe tried, and sued
         | Macromedia over it, but that patent (illegitimate in my view,
         | since it ignored the prior art, and was extremely obvious and
         | not patentable) has long since expired.
         | 
         | https://www.metafilter.com/2805/Adobe-sues-Macromedia-over-i...
        
         | bicx wrote:
         | I used to set max line length on my projects to 120. However, I
         | now live off-grid and primarily work from my 14" MBP. At this
         | level, 80-100 really is the sweet spot, particularly with side-
         | by-side or just a couple levels of sidebar.
        
       | wahidislam wrote:
       | looks like arc is changing the ui space quite well
        
         | maleldil wrote:
         | Arc the browser? The idea of vertical tabs is way older.
         | Firefox has had Tree Style Tabs or variants for a long time,
         | for example.
        
           | DonHopkins wrote:
           | UniPress Emacs for NeWS, with tabbed windows and pie menus:
           | 1988.
           | 
           | https://en.wikipedia.org/wiki/Tab_(interface)#/media/File:Hy.
           | ..
           | 
           | https://www.youtube.com/watch?v=hhmU2B79EDU
        
           | jwells89 wrote:
           | I think Arc is the first browser I've seen to not offer it as
           | a toggle, but instead make it the default and only option and
           | to design the rest of the UI around it. Wouldn't be surprised
           | if for many people Arc is the first time they've encountered
           | vertical tabs as a feature.
        
             | PurpleRamen wrote:
             | Is Arc even known enough to have a significant influence
             | today?
        
       ___________________________________________________________________
       (page generated 2023-11-19 23:01 UTC)