summary refs log tree commit diff
path: root/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/ui.c b/ui.c
index 5997571..da40dc0 100644
--- a/ui.c
+++ b/ui.c
@@ -69,11 +69,6 @@ enum {
 #define RIGHT (COLS - 1)
 #define MAIN_LINES (LINES - StatusLines - InputLines)
 
-struct Time uiTime = {
-	.format = "%T",
-	.width = 8,
-};
-
 static WINDOW *status;
 static WINDOW *main;
 static WINDOW *input;
@@ -232,6 +227,8 @@ static const char *ExitFocusMode  = "\33[?1004l";
 static const char *EnterPasteMode = "\33[?2004h";
 static const char *ExitPasteMode  = "\33[?2004l";
 
+struct Time uiTime = { .format = "%X" };
+
 static void errExit(void) {
 	putp(ExitFocusMode);
 	putp(ExitPasteMode);
@@ -239,6 +236,13 @@ static void errExit(void) {
 }
 
 void uiInitEarly(void) {
+	char buf[TimeCap];
+	struct tm *time = localtime(&(time_t) { -22100400 });
+	uiTime.width = strftime(buf, sizeof(buf), uiTime.format, time);
+	if (!uiTime.width) {
+		errx(EX_CONFIG, "invalid timestamp format: %s", uiTime.format);
+	}
+
 	initscr();
 	cbreak();
 	noecho();