Skip to content

Wide character support in meter text#1648

Open
Explorer09 wants to merge 5 commits intohtop-dev:mainfrom
Explorer09:screen-tab-2
Open

Wide character support in meter text#1648
Explorer09 wants to merge 5 commits intohtop-dev:mainfrom
Explorer09:screen-tab-2

Conversation

@Explorer09
Copy link
Copy Markdown
Contributor

@Explorer09 Explorer09 commented Mar 22, 2025

htop-screenshot-meter-bar-unicode

This PR will be a set of experimental changes I would like to do for meters. The meter draw routines were not capable of calculating the terminal widths when the meter text or caption contains wide (wide) or combining characters (e.g. Zalgo text). And this PR will make it possible.

This PR uses the routines from #1642 to make calculating the terminal widths of multibyte strings easy.

@Explorer09 Explorer09 force-pushed the screen-tab-2 branch 3 times, most recently from e8e8af2 to 21c4c84 Compare March 26, 2025 22:20
@Explorer09 Explorer09 force-pushed the screen-tab-2 branch 5 times, most recently from 801948a to 811f998 Compare June 28, 2025 08:58
Explorer09 referenced this pull request Jul 11, 2025
The new logic reads the source buffer exactly once and
moves the accumulated buffer in the dedicated buffer.

This implementation avoids VLAs and instead uses
a dedicated buffer allocated with xCalloc. The buffer is
guaranteed to be at least 40 characters wide, meaning on narrow
displays horizontal scrolling will be necessary. Doing so ensures
a half-decent chance for arguments to fit fully in one line.
@Explorer09 Explorer09 force-pushed the screen-tab-2 branch 2 times, most recently from 17f09b4 to 877a31b Compare January 9, 2026 08:23
@Explorer09 Explorer09 force-pushed the screen-tab-2 branch 2 times, most recently from 58d44cd to d56d186 Compare February 23, 2026 22:39
@Explorer09 Explorer09 force-pushed the screen-tab-2 branch 3 times, most recently from 1ca15ad to fa19d4f Compare April 13, 2026 18:11
@Explorer09 Explorer09 force-pushed the screen-tab-2 branch 3 times, most recently from 24b74d3 to 3073aa3 Compare April 18, 2026 21:20
@Explorer09 Explorer09 marked this pull request as ready for review April 18, 2026 23:07
* String_makePrintable()
* EncodePrintableString()
* String_lineBreakWidth()
* String_mbswidth()

Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
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.

1 participant