Skip to content

fix(control-center/calendar): use nominative case for month's name - #3704

Draft
MaksRawski wants to merge 2 commits into
noctalia-dev:mainfrom
MaksRawski:fix-calendar-nominative
Draft

fix(control-center/calendar): use nominative case for month's name#3704
MaksRawski wants to merge 2 commits into
noctalia-dev:mainfrom
MaksRawski:fix-calendar-nominative

Conversation

@MaksRawski

Copy link
Copy Markdown

Summary

Use nominative instead of genitive case for month name displayed in the calendar tab of the control center.

Motivation

Month name that isn't used as part of further date formatting with a day should be written in nominative, and %B uses genitive.
With English locale this is not a problem, but it's as if it was written "of July 2026" instead of just "July 2026".

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Build / packaging

Testing

just test passes. Manually verified.

Manual Coverage

  • Tested on Niri
  • Tested on Hyprland
  • Tested on Sway
  • Tested on another compositor:
  • Tested with different bar positions and density settings
  • Tested at different interface scaling values
  • Tested with multiple monitors

Checklist

  • This PR is ready for review, or it is marked as Draft.
  • I read and followed the relevant guidance in CONTRIBUTING.md.
  • I ran just format with clang-format v22+ installed, or this PR has no code changes.
  • I ran the relevant build or test commands, or explained why they were not run.
  • I self-reviewed the changes.
  • I checked for new warnings or errors.
  • I will update end-user documentation after merge, or this PR does not change user-facing configuration or behavior.
  • I added or updated assets/translations/en.json, or this PR adds no new user-facing strings.
  • I did not edit non-English translation files unless this PR is explicitly for translation tooling, an import/export sync, or a maintainer-requested locale change.
  • I used the existing canonical names for config keys, IPC names, paths, and identifiers.

Additional Notes

std::strftime doesn't have an OB specifier even though C23's strftime has. Since the standard doesn't mention it, it technically may not be available, however I assume that any implementation of C++'s std::strftime just calls C's strftime and since noctalia depends on GLIBC anyway, I further assume that GLIBC is going to be used for that and %OB has been in GLIBC since 2.27 (released in 2018).

Maybe an additional check for a GLIBC version should be done in the build system?

by default %B uses genitive, which doesn't make sense for standalone
month name
@ItsLemmy

Copy link
Copy Markdown
Collaborator

Since Noctalia supports non-glibc builds, could we use %OB under
#ifdef GLIBC and keep %B otherwise?

I don't believe we need to check for older GLIBC versions.

@ItsLemmy
ItsLemmy marked this pull request as draft July 30, 2026 01:21
@MaksRawski

Copy link
Copy Markdown
Author

Oh ok, I quickly skimmed through meson.build yesterday late at night and thought it was a hard dependency, but that's cool to hear that it's not! Anyway, just pushed the fix you mentioned.

@MaksRawski
MaksRawski force-pushed the fix-calendar-nominative branch from fbc25ba to e7f038a Compare July 30, 2026 18:07
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.

2 participants