[HN Gopher] Using tree data structures to implement terminal spl...
       ___________________________________________________________________
        
       Using tree data structures to implement terminal split panes
        
       Author : lukastyrychtr
       Score  : 37 points
       Date   : 2022-01-28 21:54 UTC (2 days ago)
        
 (HTM) web link (blog.warp.dev)
 (TXT) w3m dump (blog.warp.dev)
        
       | zevv wrote:
       | Xmonad has been using the the Zipper for this for decades:
       | https://wiki.haskell.org/Zipper
        
         | sfvisser wrote:
         | But a zipper on a tree I assume.
        
       | jitl wrote:
       | There's a very handy implementation of this splitting model for
       | React called react-mosaic: https://github.com/nomcopter/react-
       | mosaic
        
       | colordrops wrote:
       | A tree makes more sense than a two dimensional array for
       | representing panes, but not for the reasons stated in the
       | article. Sparseness and performance will not be issues with the
       | low number of panes that will ever be used. The main reason to
       | use trees is just that they are a closer representation of the
       | abstraction, and will be easier to reason about and code.
       | 
       | On a side note, I wasn't able to figure out what problem this
       | company is trying to solve. I've been using nvim+tmux+kitty and
       | it does all the things they sell, while being open source.
        
         | lupire wrote:
         | Its a vanity project for retured Googlers.
         | 
         | The blog author thinks copying a smaller than 10x10 array of
         | pointers, less than once per minute, is a memory-intensive,
         | performance-sensitive operation, so it's pretty clear that they
         | don't know what they are doing.
        
       | traceroute66 wrote:
       | I've still yet to read an honest account of why I need a 60fps
       | GPU-accelerated terminal for SSH-ing or vim'ing.
       | 
       | Its always smelt to me as a "we can, so we will" rather than a
       | genuine need.
        
         | quag wrote:
         | We don't need 60fps gpu accelerated terminals. What we do need
         | is terminals with low latency between pressing a key and seeing
         | the result.
         | 
         | I find the longer the lag, the harder I press the keys, and the
         | more it hurts my hands. So lower latency helps me a lot and I
         | immediately notice lag.
        
       | Per_Bothner wrote:
       | DomTerm (https://domterm.org) uses the Golden Layout library
       | (https://github.com/golden-layout/golden-layout). As far as I can
       | tell, this does everything mentioned in the article. It also
       | supports tabs, and you can also reposition terminal windows by
       | dragging, neither of which I saw mentioned in the article. (I'm
       | currently working on being able to drag between top-level
       | windows. It sort-of-works, but only at the proof-of-concept
       | level.)
        
       ___________________________________________________________________
       (page generated 2022-01-30 23:01 UTC)