GithubHelp home page GithubHelp logo

DAE hate the scrollbar? about hyper HOT 12 OPEN

vercel avatar vercel commented on April 28, 2024
DAE hate the scrollbar?

from hyper.

Comments (12)

esphen avatar esphen commented on April 28, 2024 9

@rauchg: Just my five cents, if you don't mind.

I am on Linux and use rxvt-unicode (AKA urxvt), which is a popular terminal emulator. In urxvt it is common practice to hide the scrollbar because it is also very ugly. When hidden, it behaves like the hterm option you disagree with, where the scrollbar is always hidden. I find this to be preferable, as the mouse wheel handles the scrolling, and when I start typing the terminal snaps back to the bottom. No Ugly scrollbar takes up any of my precious ultrabook pixels or obscures my text.

Besides, many people are going to be using Terminal Multiplexers like tmux or screen where the scrollback buffer is completely handled by the multiplexer and mouse scrolling is absolutely void.

In both these cases, there is an argument to be made for hiding the scrollbar completely, which I support. At the very least, please consider making it an option in .hypertext.js, where the option can be either Always show, Hidden when not in use or Always hidden.

from hyper.

rauchg avatar rauchg commented on April 28, 2024 2

It seems like the hterm options hides them completely, all the time. I don't like that. Upon the user scrolling, they should be shown. I'll have to think more about how to do that nicely. One idea is listening on scroll events and ignore them whenever we know that the terminal itself is triggering scrolling.

from hyper.

rauchg avatar rauchg commented on April 28, 2024 2

This actually sounds like a very difficult problem :(. Here's the best solution I can think of:

  • If the user places their mouse on the rightmost 50px[1] of the screen, mark overflow: auto (and get rid of it after the mouse leaves that area)
  • If the user triggers wheel events, mark overflow: auto (and get rid of it after a timer)

[1] 50 is arbitrary to encompass linux, windows, mac. Can probably be less on the mac.

from hyper.

assertchris avatar assertchris commented on April 28, 2024 2

On the other hand, scrolling far back is so difficult using only the scroll wheel. Neither arrow keys nor page up/page down keys control the scroll position...

from hyper.

montogeek avatar montogeek commented on April 28, 2024

We should :)

from hyper.

montogeek avatar montogeek commented on April 28, 2024

It does not hide it?

from hyper.

montogeek avatar montogeek commented on April 28, 2024

I like the second idea, is how iTerm works by default, it only shows the scrollbar if you scroll using wheel's mouse, when you stop it disappears after ~500 ms

from hyper.

jesseditson avatar jesseditson commented on April 28, 2024

I occasionally run into a situation where the scrollback is super long, and I want to scrub it much faster than scrollwheel lets me. I usually start scrolling, then grab the scroll handle and drag it up and down. I noticed that unlike most OSX apps, this behavior is not the same (normally when you hover the scroll handle in an OSX app, it'll slightly expand it's width and become draggable), I'd love to see that act like the rest of the OS!

from hyper.

jesseditson avatar jesseditson commented on April 28, 2024

Here's a quick gif of that behavior in chrome:

from hyper.

MartyGentillon avatar MartyGentillon commented on April 28, 2024

related: #1540 #1251

from hyper.

chabou avatar chabou commented on April 28, 2024

other related: #301

from hyper.

chabou avatar chabou commented on April 28, 2024

I totally agree with @esphen:

the option can be either Always show, Hidden when not in use or Always hidden.

from hyper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.