### Part A — the title shortens instead of wrapping `CalendarTitleButton` measures the full title against the width the bar hands the title slot (`BoxWithConstraints` + `rememberTextMeasurer`) and falls back to a shorter form when it does not fit. One pass, so no flicker, and it adapts on its own to locale, font scale and to the pill being absent after #150. - Month and week fall back to the three-letter month ("Sep", "Mär"). - Day drops the weekday instead ("Wed, 2 Sep 2027" → "2 Sep 2027") — there is no shorter month form left there, `EEEdMMM` is already abbreviated. - Either way the title now clamps to one line and ellipsises rather than growing the bar to two lines. The choice itself is a pure `titleFor(title, shortTitle, titleWidth, availableWidth)`, so it is unit-tested rather than only reachable through a composable. `formatCalendarTitle` gained no new behaviour, so the widget header is untouched. ### Part B — the trailing edge, not the whole rhythm `AppBarSpacing` holds the shared values: the side inset (also consumed by the month grid, so the pill lines up with the content under it), the title's start inset, and the two trailing insets — one measured to a container's background, one to an icon button's glyph. **Deviation from the issue:** the issue asks for one edge inset at *both* ends and one gap between adjacent controls. Only the trailing edge and the title inset are shared here. M3 derives both the title's position and the gap between two adjacent action icons from the icon buttons' width, so putting the leading edge and the inter-icon gaps on the same rhythm meant narrowing the icon buttons from 48.dp to 32.dp — that reads cramped and shrinks the touch targets. The leading edge and the icon gaps stay on M3's defaults. The title's 8.dp start inset stays real padding rather than a negative offset, so the menu button's hit box is intact. The agenda range bar picks its end inset from whether the view switcher is showing: aligned to the pill's background when it is, to the search icon's glyph once #150 hides it. Closes #165 Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de> Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/261
This commit is contained in:
@@ -13,6 +13,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
the title now simply runs to the edge of its chip — a few more letters per
|
||||
cell, which is often the difference between two events you can tell apart and
|
||||
two you can't ([#164]).
|
||||
- The calendar titles now shorten instead of being cut off. When the full month
|
||||
name doesn't fit the top bar, the month and week views fall back to its
|
||||
three-letter form and the day view drops the weekday, rather than trailing off
|
||||
mid-word at large font sizes. The view switcher, the title and the agenda's
|
||||
range bar also line up with the grid underneath them ([#165]).
|
||||
|
||||
## [2.19.1] — 2026-08-11
|
||||
|
||||
@@ -1422,3 +1427,4 @@ automatically, with zero telemetry and no internet permission.
|
||||
[#163]: https://codeberg.org/jlmakiola/calendula/issues/163
|
||||
[#173]: https://codeberg.org/jlmakiola/calendula/issues/173
|
||||
[#164]: https://codeberg.org/jlmakiola/calendula/issues/164
|
||||
[#165]: https://codeberg.org/jlmakiola/calendula/issues/165
|
||||
|
||||
Reference in New Issue
Block a user