4
27
Fork
You've already forked Tuba
5

[Request]: Even larger text render #402

Closed
opened 2023年07月21日 19:00:06 +02:00 by eobet · 6 comments
eobet commented 2023年07月21日 19:00:06 +02:00 (Migrated from github.com)
Copy link

Describe the request

Text render settings currently only has one level of larger text. It would be nice if there was one additional, or perhaps even a slider like in Discord or a value like in Firefox.

This might not be according to the Gnome HIG, but today very few applications seem to support display scaling on the Gnome desktop and instead become blurry when you attempt to use it (in Wayland at least), so until most of them support it, an even larger text size would be a nice feature to have (even though Trumpet is one of the few apps which behave very well with display scaling).

Perhaps by labeling extra large text as an accessibility option there would be an excuse to keep it around even if the current display scaling bugs in Gnome get resolved in the future.

Implementation Details

  • This should be an option in settings.
  • This should be only available to some fediverse backends. (Include which ones on the above field).
  • This is client-only (and shouldn't sync with the instance).
  • This follows the GNOME HIG.
### Describe the request Text render settings currently only has one level of larger text. It would be nice if there was one additional, or perhaps even a slider like in Discord or a value like in Firefox. This might not be according to the Gnome HIG, but today very few applications seem to support display scaling on the Gnome desktop and instead become blurry when you attempt to use it (in Wayland at least), so until most of them support it, an even larger text size would be a nice feature to have (even though Trumpet is one of the few apps which behave very well with display scaling). Perhaps by labeling extra large text as an accessibility option there would be an excuse to keep it around even if the current display scaling bugs in Gnome get resolved in the future. ### Implementation Details - [X] This should be an option in settings. - [ ] This should be only available to some fediverse backends. (Include which ones on the above field). - [X] This is client-only (and shouldn't sync with the instance). - [X] This follows the [GNOME HIG](https://developer.gnome.org/hig/).

Not really sure about this.

The current implementation is CSS based and just sets the font-size to larger. This has the positive side effect of respecting the base font size which might have been modified by custom themes or accessibility options:

Tuba Normal size:

Screenshot from 2023年07月22日 04-37-45

Tuba Larger font size:

Screenshot from 2023年07月22日 04-38-03

Tuba Normal size + Desktop Large font size accessibility option:

Screenshot from 2023年07月22日 04-39-12

Tuba Larger font size + Desktop Large font size accessibility option:

Screenshot from 2023年07月22日 04-38-35

Not really sure about this. The current implementation is CSS based and just sets the `font-size` to `larger`. This has the positive side effect of respecting the base font size which might have been modified by custom themes or accessibility options: Tuba Normal size: ![Screenshot from 2023年07月22日 04-37-45](https://github.com/GeopJr/Tuba/assets/18014039/6a71670b-3faa-40d0-b110-5f65f82f3e85) Tuba Larger font size: ![Screenshot from 2023年07月22日 04-38-03](https://github.com/GeopJr/Tuba/assets/18014039/6f13113a-ed5b-4bfd-9a71-d4ac68ea8150) Tuba Normal size + Desktop Large font size accessibility option: ![Screenshot from 2023年07月22日 04-39-12](https://github.com/GeopJr/Tuba/assets/18014039/5ed1aff1-e5f7-4312-98de-ba180709787d) Tuba Larger font size + Desktop Large font size accessibility option: ![Screenshot from 2023年07月22日 04-38-35](https://github.com/GeopJr/Tuba/assets/18014039/c587775e-e404-4019-82cc-bcbfe61882c3)
dolzenko commented 2023年12月03日 07:45:10 +01:00 (Migrated from github.com)
Copy link

Why this can't be done as in browser?

Why this can't be done as in browser?
TriMoon commented 2025年08月27日 12:25:36 +02:00 (Migrated from github.com)
Copy link

@GeopJr

The current implementation is CSS based and just sets the font-size to larger. This has the positive side effect of respecting the base font size which might have been modified by custom themes or accessibility options:

Why not make a setting where the user can select custom font-size, and set that as the window's base font-size in the CSS?
Just like is done for normal webpages...
It will still allow to use font-size:larger; etc in the divs etc...

something like:

/* Auto updated file and values from UI-settings */
:root {
 --main-text-size: ???;
}
@import UserSettings.css; /* This is the file above */
html {
 font-size: var(--main-text-size, normal);
 div#somepost {
 font-size: larger;
 }
}

Disclaimer:

I'm not familiar enough with the css usage in this app to provide better pointers.

@GeopJr > The current implementation is CSS based and just sets the `font-size` to `larger`. This has the positive side effect of respecting the base font size which might have been modified by custom themes or accessibility options: Why not make a setting where the user can select custom font-size, and set that as the window's base font-size in the CSS? Just like is done for normal webpages... It will still allow to use `font-size:larger;` etc in the divs etc... something like: ```css /* Auto updated file and values from UI-settings */ :root { --main-text-size: ???; } ``` ```css @import UserSettings.css; /* This is the file above */ html { font-size: var(--main-text-size, normal); div#somepost { font-size: larger; } } ``` - https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_cascading_variables/Using_CSS_custom_properties --- ## Disclaimer: I'm not familiar enough with the css usage in this app to provide better pointers.

Native applications are not browsers, there are more layers to font sizing as mentioned in the comment you are quoting. Specifically: system font size and large text accessibility mode.


Here's firefox if I set my system font size to 19 from 11:

[画像:Image]

Firefox' UI has followed my system settings but the page hasn't.

Here's firefox if I set my system font size to 19 from 11 and enable the Large Text accessibility option:

[画像:Image]

Firefox' UI has followed my system settings AND the accessibility option on top of it. The page has only followed the accessibility option.


Let's apply the same logic on GTK. If I set my system font to 19 from 11:

[画像:Image]

The label that has a static font size follows that and it's not relative to my system settings.

If I also enable the Large Text accessibility option:

[画像:Image]

... the label with the static font size, stays 16px


I hope this demonstrates why a 'font size' slider is a BAD choice over relative sizes. The platform provides numerous other ways to increase the size. Otherwise the best alternative would be setting font multipliers, e.g. x1.5 larger, but overall desyncing the app font size from the platform font size is a bad idea.

Native applications are not browsers, there are more layers to font sizing as mentioned in the comment you are quoting. Specifically: system font size and large text accessibility mode. --- Here's firefox if I set my system font size to 19 from 11: <img width="1100" height="326" alt="Image" src="https://github.com/user-attachments/assets/55d1166c-5c31-4ffc-8a6e-41508cd6ac42" /> Firefox' UI has followed my system settings but the page hasn't. Here's firefox if I set my system font size to 19 from 11 and enable the Large Text accessibility option: <img width="1100" height="326" alt="Image" src="https://github.com/user-attachments/assets/68b4536e-a72e-42d0-b684-54740ace19d7" /> Firefox' UI has followed my system settings AND the accessibility option on top of it. The page has only followed the accessibility option. --- Let's apply the same logic on GTK. If I set my system font to 19 from 11: <img width="346" height="164" alt="Image" src="https://github.com/user-attachments/assets/8a6e85ac-921a-4afe-b330-5734338a6682" /> The label that has a static font size follows that and it's not relative to my system settings. If I also enable the Large Text accessibility option: <img width="346" height="164" alt="Image" src="https://github.com/user-attachments/assets/d404735d-2cf7-416b-9bd2-565799a43cef" /> ... the label with the static font size, stays 16px --- I hope this demonstrates why a 'font size' slider is a BAD choice over relative sizes. The platform provides numerous other ways to increase the size. Otherwise the best alternative would be setting font multipliers, e.g. x1.5 larger, but overall desyncing the app font size from the platform font size is a bad idea.
TriMoon commented 2025年08月28日 09:04:59 +02:00 (Migrated from github.com)
Copy link

but overall desyncing the app font size from the platform font size is a bad idea.

So the real issue at hand is:

  • You don't like to desync app font size from the platform font size.
  • Users of your app ASK you to allow to desync if THEY want to, especially for the text inside of posts...

I hope this demonstrates why a 'font size' slider is a BAD choice over relative sizes....
Otherwise the best alternative would be setting font multipliers, e.g. x1.5 larger

Not a multiplier like that but more like *x% using a slider that starts from 100% going up to lets say 300%...

I'm also in favor of a setting like that due to use of an extra-wide-screen, and don't want my whole system to use larger fonts.
It's easier on the eyes for me personally to read posts that way.


Keep in mind options are your best friend...

> but overall desyncing the app font size from the platform font size is a bad idea. So the real issue at hand is: - You don't like to desync app font size from the platform font size. - Users of your app ASK you to allow to desync if THEY want to, especially for the text inside of posts... > I hope this demonstrates why a 'font size' slider is a BAD choice over relative sizes.... > Otherwise the best alternative would be setting font multipliers, e.g. x1.5 larger Not a multiplier like that but more like *x% using a slider that starts from 100% going up to lets say 300%... I'm also in favor of a setting like that due to use of an extra-wide-screen, and don't want my whole system to use larger fonts. It's easier on the eyes for me personally to read posts that way. --- Keep in mind options are your best friend...

You don't like to desync app font size from the platform font size.

This makes it sound like a personal opinion when it's more of an objective truth, that 'desyncing' just breaks things for everyone but those few that want an exact font size for a specific app. Large Text accessibility? Nope. System font size? Nope.

Users of your app ASK you to allow to desync if THEY want to, especially for the text inside of posts...

I'm also in favor of a setting like that due to use of an extra-wide-screen, and don't want my whole system to use larger fonts.
It's easier on the eyes for me personally to read posts that way.

I'm genuinely curious, sorry if this comes across as a bit rude (not my intention), but do you expect all apps to implement custom font sizing? Isn't that why all toolkits respect the platform settings, so there's a global setting for the font size?

I'm not opposed to a multiplier slider but at some point it becomes a bit silly to propagate your setup's shortcomings to everyone else. If the font is too small for you to comfortably see, then... increase it. It's not like Tuba is the only app you use, all apps (should) respect your font size and you will come across many other apps where you'll find the font to be 'too small'.

Keep in mind options are your best friend...

Options also need to be maintained and this is not exactly a do-it-once thing since it has to be tested often to see edge cases with new features. But alas, I'm still in favor of a multiplier slider as the best way to have a configurable font size AND respect the platform settings.

> You don't like to desync app font size from the platform font size. This makes it sound like a personal opinion when it's more of an objective truth, that 'desyncing' just breaks things for everyone but those few that want an exact font size for a specific app. Large Text accessibility? Nope. System font size? Nope. > Users of your app ASK you to allow to desync if THEY want to, especially for the text inside of posts... > I'm also in favor of a setting like that due to use of an extra-wide-screen, and don't want my whole system to use larger fonts. It's easier on the eyes for me personally to read posts that way. I'm genuinely curious, sorry if this comes across as a bit rude (not my intention), but do you expect all apps to implement custom font sizing? Isn't that why all toolkits respect the platform settings, so there's a global setting for the font size? I'm not opposed to a multiplier slider but at some point it becomes a bit silly to propagate your setup's shortcomings to everyone else. If the font is too small for you to comfortably see, then... increase it. It's not like Tuba is the only app you use, all apps (should) respect your font size and you will come across many other apps where you'll find the font to be 'too small'. > Keep in mind options are your best friend... Options also need to be maintained and this is not exactly a do-it-once thing since it has to be tested often to see edge cases with new features. But alas, I'm still in favor of a multiplier slider as the best way to have a configurable font size AND respect the platform settings.
Sign in to join this conversation.
No Branch/Tag specified
main
feat/preferences/filter-adwbuttonrow
feat/android
experiment/feat/composer/scrollablebox
feat/notifications/dont-handle-unknown-types
feat/profileeditor/proper-bio-validation
fix/deprications/gtk-420
experiment/network/async-parser
experiment/feat/blueprint
feat/newaccount/bypass-api-instance
feat/clapper/enhancer-check-0-10
feat/guess-backend
experiment/ignore-dom-secure
v0.9
feat/meson/build-without-admin-tools
fix/secretaccountstore/saving
feat/listbox-listview
experiment/master
funding
feat/ci/snap
experiment/feat/adwwrapbox
feat/previewcard/gtuber
feat/preferences/remove-options
v0.8
feat/feedbackd
experiment/feat/abstract-cache
feat/whitelabel
experiment/reproducer-inputstream-video
experiment/nat-lines
experiment/reproducer
feat/style/organize-cleanup
feat/lww/max_size-avoid-0-sizes
feat/preview=card/dont-remind-me-again-option
feat/treat-the-handle-as-private-info
0.4
experiment/feat/streaming/reconnect-if-failed-on-refresh
experiment/wip/feat/mk-api-support
feat/status/partial-dynamic-constrct
feat/network/remove-header-insecure-request
feat/timeline/hide-boosts-replies
experiment/feat/timeline/p2s-drag
experiment/feat/timeline/filter-federated
experiment/listview
feat/previewcard/peertube-mp4
experiment/feat/status/doas
feat/widgetsattachmentbox/single-attachment-bigger
experiment/feat/redesign
v0.10.3
v0.10.2
v0.10.1
v0.10.0
v0.9.2
v0.9.1
v0.9.0
v0.8.4
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.7.2
v0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
v0.4.1
v0.4.0
v0.3.2
v0.3.1
v0.3.0
v0.2.0
v0.1.0
Labels
Clear labels
akkoma
Akkoma related issue
api
Fedi software API related issue
blocked
bug
Something isn't working
calckey
Calckey related issue
composer
Composer related issue
designer input needed
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
enhancement
New feature or request
focus
Focus related issue
glitch-soc
glitch-soc related issue
good first issue
Good for newcomers
gotosocial
GoToSocial related issue
help wanted
Extra attention is needed
info needed
invalid
This doesn't seem right
mastodon
Mastodon related issue
mediaviewer
Mediaviewer related issue
meta
misskey
Misskey related issue (including forks)
navigation
Navigation related issue
network
Network related issue
notifications
performance
Performance related issue
pleroma
Pleroma related issue
priority: critical
priority: high
priority: low
priority: medium
question
Further information is requested
rfc
A request for comments
snap
status
Status widget related issue
takahē
Takahē related issue
windows
wontfix
This will not be worked on
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
GeopJr/Tuba#402
Reference in a new issue
GeopJr/Tuba
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?