Skip to content

Comments

Fix scrollbar occlusion of taskbar in desktop environments#214

Merged
Code-Hex merged 3 commits intoCode-Hex:mainfrom
stuffbucket:scrollbar-config
Feb 9, 2026
Merged

Fix scrollbar occlusion of taskbar in desktop environments#214
Code-Hex merged 3 commits intoCode-Hex:mainfrom
stuffbucket:scrollbar-config

Conversation

@stuffbucket
Copy link
Contributor

Scrollbars currently occlude ~16px on each edge, making taskbars in Linux desktop environments unusable.

This disables scrollbars by default and adds scroll wheel zoom. Scrollbars re-enable automatically when zoomed.

hasVerticalScroller / hasHorizontalScroller = NO:
Makes desktop taskbars fully accessible. NSScrollView remains for magnification support.

Scroll wheel zoom (Cmd+scroll / Opt+scroll):
Adjusts NSScrollView magnification. Useful on devices without trackpad pinch-zoom.

Dynamic scrollbar management:

  • magnification > 1.0: scrollers = YES, supports panning zoomed content
  • magnification == 1.0: scrollers = NO, returns to normal view

Also included:
.gitignore for example binaries

Tested with gui-linux example running Debian.

@stuffbucket
Copy link
Contributor Author

This PR is in relation to Enhancement (issue #210).

Examples below of behavior with scrollbars enabled/disabled:

Here are a few examples with just the scrollbars turned off

Console (note the text is cut off on the bottom of the terminal):
Image

Image

Debian Trixie - KDE Plasma (this desktop isn't as bad as others about having important controls in the corner of the window:

Image

And here is an example with scrollbars turned on, but zoomed all the way out:

Image

The scrollbars interfere with window sizing and cause content to be cut off,
especially on HiDPI displays and newer macOS versions (26.x). The NSScrollView
is still needed for magnification/zoom support, but the scrollbars themselves
are not necessary for normal operation.

Changes:
- Set hasVerticalScroller = NO
- Set hasHorizontalScroller = NO
- Set autohidesScrollers = YES (for any edge cases)

This fixes the issue where the VZ window shows scrollbars that cut off
approximately 16px of content in each direction.
When zoom mode is enabled, scrollbars now appear and support mouse
wheel zooming with Cmd+scroll or Opt+scroll. When zoom is disabled,
scrollbars are hidden and the view fits the window. This makes zoom
functional on devices without trackpads.
Copy link
Owner

@Code-Hex Code-Hex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Code-Hex Code-Hex merged commit 0d35cf3 into Code-Hex:main Feb 9, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants