Show UTC as the first header clock instead of hardcoded Los Angeles time
check / check (push) Successful in 2m0s

The header drew the host's local time and then America/Los_Angeles
time, so on a Mac in that zone both clocks read the same and neither
was UTC. The first clock is now UTC and the second the host's local
time, which also drops the hardcoded zone and its load-failure path.
This commit is contained in:
sneak committed 2026-11-06 19:12:41 -08:00
1 parent 7686440108
commit bbceab0b24
3 files changed
+42 -10

No files matched your search

+11 -10
View File
@@ -337,6 +337,15 @@ func drawICMPStats(scr tcell.Screen, y int, st *InterfaceStatus) int {
}
// uiLoop runs the UI event loop.
// clockFormat is the layout of both header clocks.
const clockFormat = time.RFC1123Z
// clockStrings renders the header clocks: UTC first, then the host's local
// time in whatever location now carries.
func clockStrings(now time.Time) (string, string) {
return now.UTC().Format(clockFormat), now.Format(clockFormat)
}
func (m *Monitor) uiLoop(ctx context.Context) {
m.logf("UI loop started")
@@ -348,13 +357,6 @@ func (m *Monitor) uiLoop(ctx context.Context) {
m.logf("Screen finalized")
}()
pstLoc, err := time.LoadLocation("America/Los_Angeles")
if err != nil {
m.logf("Error loading PST location: %v", err)
pstLoc = time.UTC
}
timestampSpinFrame := 0
lastTimestampSpinUpdate := time.Now()
@@ -365,8 +367,7 @@ func (m *Monitor) uiLoop(ctx context.Context) {
Put(m.screen, colLeft, rowTopRule, HLine(w), tcell.StyleDefault)
now := time.Now()
timeStr := now.Format(time.RFC1123Z)
pstTimeStr := now.In(pstLoc).Format(time.RFC1123Z)
timeStr, localTimeStr := clockStrings(now)
if time.Since(lastTimestampSpinUpdate) >= time.Second {
timestampSpinFrame = (timestampSpinFrame + 1) % len(brailleSpins())
@@ -380,7 +381,7 @@ func (m *Monitor) uiLoop(ctx context.Context) {
Put(m.screen, colSpinner, rowClock, string(brailleChar)+" ", tcell.StyleDefault)
DrawRainbowText(m.screen, colMeter, rowClock, timeStr, colors)
DrawRainbowText(m.screen, colMeter+len(timeStr)+clockGap, rowClock,
pstTimeStr, colors)
localTimeStr, colors)
Put(m.screen, colLeft, rowBottomRule, HLine(w), tcell.StyleDefault)
runtime := time.Since(m.startTime).Round(time.Second).String()