-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Labels
featureNew feature or requestNew feature or request
Description
Summary
Deprecate the current hyperlink widget in favor of backend-level hyperlink handling to behave more like a standard terminal emulator.
Problem
The current hyperlink widget creates an inconsistent user experience where some text that looks like URLs will be clickable (if wrapped in the widget) while other URL text won't be, even though they appear identical to the user. Additionally, the current implementation relies on hijacking style modifiers (SLOW_BLINK
) to mark hyperlink cells, which is a hacky workaround.
Proposed Solution
- Expose enable_hyperlinks() in some appropriate option struct (maybe the Terminal).
- Deprecate the
Hyperlink
widget - Allow backends to automatically detect and handle URLs in rendered text
- This provides a consistent "all URLs are clickable" or "no URLs are clickable" experience per backend configuration
Implementation Notes
- WebGL2 backend already supports this via
enable_hyperlinks()
option - The hyperlink widget uses the
HYPERLINK_MODIFIER
(slow blink) to mark cells, which feels hacky - Backend-level handling allows for automatic URL detection and consistent behavior
orhun
Metadata
Metadata
Assignees
Labels
featureNew feature or requestNew feature or request