InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.68k stars 916 forks source link

Show as much notification text as will fit on the screen #1523

Closed alexispurslane closed 1 year ago

alexispurslane commented 1 year ago

Verification

Pitch us your idea!

Increase the amount of text that notifications show to use the entire screen, since the whole screen is taken up showing the notification box anyway.

Description

Currently, you get about two lines of text from any notification, and then it ends in an ellipsis and the rest of the notification screen is blank, just wasted space. It seems like it would be a lot more useful if InfiniTime showed as much of any notification as the whole screen could fit.

alexispurslane commented 1 year ago

Acrually this seems more like a bug, because it only does this for some notifs.

JF002 commented 1 year ago

This is not a bug, this is the expected behavior as per the current implementation : there are 5 notification slots, and each of these slots contain a 100B buffer to store the notification message. Which means that the notification can be up to 100 characters. This implementation allows a deterministic and static memory usage, which is quite important for this hardware that has very little RAM memory.

The fonts in PineTime can only display characters from a to z, A to Z and 0 to 9. If the companion apps sends others characters (special characters, emoji,...), they won't be displayed. And sometimes, those characters are encoded in more than one bytes, which reduces again the number of actual characters that are displayed by the notification feature in InfiniTime.

So, yes, in theory, we could display more characters, but in practice, we have to do some compromise to fit all the features in memory ;-)