philc / philc/vimium

Scroll bar overlay doesn't appear when scrolling with Chrome #overlay-scrollbars flag

Open
#4,382 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
27k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

Describe the bug

I have been using the #overlay-scrollbars Chrome flag for many years. It makes the browser window viewport size consistent as the side scrollbar is overlayed instead of taking width away when the webpage is longer than the viewport (making the scrollbar appear). It's just a lot nicer and I believe that this is one of the most popularly used Chrome flags.

A few Chrome versions ago this flag disappeared, but could be re-enabled using some special flag that re-enabled disabled flags. Then, more recently the flag reappeared, but it was new code.

Now enabling the #overlay-scrollbars flag works fine when using the mouse to scroll, but not when using keys that are captured by a Chrome extension, like Vimium.

My guess is that Vimium is not using some new API to scroll when #overlay-scrollbars is enabled and that it would work properly if it did use it.

To Reproduce

Steps to reproduce the behavior:

  1. Go to URL 'chrome://flags'.
  2. Search for #overlay-scrollbars and enable it.
  3. Restart browser
  4. Observe that the scroll overlay doesn't appear when scrolling using vimium keys, but does when using the mouse or arrow keys (unless an extension using capturing those).

Browser and Vimium version

Chrome 119
Vimium 2.0.5

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the behavior from chrome://flags with #overlay-scrollbars enabled, comparing Vimium-captured keys with mouse and arrow-key scrolling. Trace the extension's keyboard scrolling entry point and determine whether it uses the browser API needed for overlay scrollbars; done means the overlay appears for captured-key scrolling as it does for the other inputs.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.