Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-4629GitHub issuePublicFixed

Qt.formatDate/Qt.formatDateTime ignore system locale for day/month names in shell widgets (clock bar + calendar)

Reported by jlglvz · filed Aug 19, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #7211 (R-1742). GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked yet.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
Not yet mapped to any requirement or component.
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

Qt.formatDate/Qt.formatDateTime ignore system locale for day/month names in shell widgets (clock bar + calendar)revision 1 · captured 2026-10-04 12:03 UTC via poll

What happened

The clock bar widget (omarchy.clock) and its calendar popup show weekday
and month names in English even though the system locale is es_ES.UTF-8.

  • Bar label with format dddd HH:mm shows "Wednesday 12:58" instead of

"miércoles 12:58".
- Calendar popup header shows "AUGUST 2026" instead of "AGOSTO 2026", and
the "today" hero line shows "August 19" instead of "agosto 19".
- Oddly, the calendar's weekday column headers (LUN, MAR, MIÉ...) already
show correctly in Spanish.

Root cause (found while debugging)

shell/plugins/panels/clock/BarWidget.qml and Panel.qml use the QML
global functions Qt.formatDateTime(date, format) / `Qt.formatDate(date,
format) to render dddd/MMMM` tokens. These globals do not honor the
system default locale for weekday/month names.

By contrast, Panel.qml already uses `Qt.locale().dayName(weekday,
Locale.ShortFormat)` elsewhere (line ~219) for the calendar's weekday
column headers, and that correctly returns Spanish names — confirming the
system locale is detected fine by Qt, just not by the Qt.formatDate*
globals.

Verified independently with PySide6 on the same machine/locale:
QLocale().toString(QDateTime.currentDateTime(), "dddd") correctly
returns "miércoles", using the exact same LANG=es_ES.UTF-8 environment
the running Quickshell process has (checked via
/proc/<pid>/environ).

Expected

Day and month names in the clock bar and calendar popup should follow the
system locale, consistent with the weekday column headers.

Suggested fix

Replace the global Qt.formatDateTime(date, format) / `Qt.formatDate(date,
format) calls in BarWidget.qml's formatted() and in Panel.qml`'s two
"MMMM ..." labels with Qt.locale().toString(date, format), which does
respect the system locale (same pattern already used for the weekday
headers). I've tested this fix locally via a plugin clone
(omarchy plugin clone omarchy.clock) and it fixes both the bar and the
calendar without side effects.

System

  • Omarchy 4.0.0-1
  • quickshell-git 0.3.0.r20.g28771c7-1
  • qt6-base 6.11.1-1
  • kernel 7.1.8-arch1-3
  • System locale: LANG=es_ES.UTF-8 (confirmed present in the Quickshell

process environment)

Steps to reproduce

  1. Set system locale to a non-English one (e.g. `localectl set-locale

LANG=es_ES.UTF-8`) and log in / restart the shell.
2. Look at the bar clock (default format dddd HH:mm) — day name is in
English.
3. Open the calendar popup — month name is in English; weekday column
headers are correctly localized.

View raw text
### What happened
The clock bar widget (`omarchy.clock`) and its calendar popup show weekday
and month names in English even though the system locale is `es_ES.UTF-8`.

- Bar label with format `dddd HH:mm` shows "Wednesday 12:58" instead of
  "miércoles 12:58".
- Calendar popup header shows "AUGUST 2026" instead of "AGOSTO 2026", and
  the "today" hero line shows "August 19" instead of "agosto 19".
- Oddly, the calendar's weekday column headers (LUN, MAR, MIÉ...) already
  show correctly in Spanish.

### Root cause (found while debugging)
`shell/plugins/panels/clock/BarWidget.qml` and `Panel.qml` use the QML
global functions `Qt.formatDateTime(date, format)` / `Qt.formatDate(date,
format)` to render `dddd`/`MMMM` tokens. These globals do not honor the
system default locale for weekday/month names.

By contrast, `Panel.qml` already uses `Qt.locale().dayName(weekday,
Locale.ShortFormat)` elsewhere (line ~219) for the calendar's weekday
column headers, and that correctly returns Spanish names — confirming the
system locale is detected fine by Qt, just not by the `Qt.formatDate*`
globals.

Verified independently with PySide6 on the same machine/locale:
`QLocale().toString(QDateTime.currentDateTime(), "dddd")` correctly
returns "miércoles", using the exact same `LANG=es_ES.UTF-8` environment
the running Quickshell process has (checked via
`/proc/<pid>/environ`).

### Expected
Day and month names in the clock bar and calendar popup should follow the
system locale, consistent with the weekday column headers.

### Suggested fix
Replace the global `Qt.formatDateTime(date, format)` / `Qt.formatDate(date,
format)` calls in `BarWidget.qml`'s `formatted()` and in `Panel.qml`'s two
`"MMMM ..."` labels with `Qt.locale().toString(date, format)`, which does
respect the system locale (same pattern already used for the weekday
headers). I've tested this fix locally via a plugin clone
(`omarchy plugin clone omarchy.clock`) and it fixes both the bar and the
calendar without side effects.

### System
- Omarchy 4.0.0-1
- quickshell-git 0.3.0.r20.g28771c7-1
- qt6-base 6.11.1-1
- kernel 7.1.8-arch1-3
- System locale: LANG=es_ES.UTF-8 (confirmed present in the Quickshell
  process environment)

### Steps to reproduce
1. Set system locale to a non-English one (e.g. `localectl set-locale
   LANG=es_ES.UTF-8`) and log in / restart the shell.
2. Look at the bar clock (default format `dddd HH:mm`) — day name is in
   English.
3. Open the calendar popup — month name is in English; weekday column
   headers are correctly localized.

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

  • Fixed bypr/7173· confirmed
  • Related PRpr/13546· confirmed
  • Related PRpr/13851· confirmed

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

No decision has been recorded yet.