From ced5aaeff1ad5a1a03ccd1fad9ff5cd4c1fc2f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Wed, 3 Dec 2025 01:56:25 +0100 Subject: [PATCH] wmstatus: make changing the time format possible As well as disabling the field altogether. --- wmstatus.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/wmstatus.c b/wmstatus.c index 742bbb2..1f5b183 100644 --- a/wmstatus.c +++ b/wmstatus.c @@ -1,7 +1,7 @@ /* * wmstatus.c: simple PulseAudio-enabled status setter for dwm and i3/sway * - * Copyright (c) 2015 - 2024, Přemysl Eric Janouch + * Copyright (c) 2015 - 2025, Přemysl Eric Janouch * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted. @@ -798,6 +798,10 @@ backend_i3_new (void) static const struct config_schema g_config_general[] = { + { .name = "time_format", + .comment = "strftime ", + .type = CONFIG_ITEM_STRING, + .default_ = "\"Week %V, %a %d %b %Y %H:%M %Z\"" }, { .name = "command", .comment = "Command to run for more info", .type = CONFIG_ITEM_STRING }, @@ -1375,7 +1379,7 @@ make_time_status (const char *fmt) if (local == NULL) exit_fatal ("%s: %s", "localtime", strerror (errno)); - if (!strftime (buf, sizeof buf, fmt, local)) + if (*fmt && !strftime (buf, sizeof buf, fmt, local)) exit_fatal ("strftime == 0"); return xstrdup (buf); @@ -1447,8 +1451,10 @@ refresh_status (struct app_context *ctx) for (size_t i = 0; i < ctx->command_current.len; i++) ctx->backend->add (ctx->backend, ctx->command_current.vector[i]); - char *times = make_time_status ("Week %V, %a %d %b %Y %H:%M %Z"); - ctx->backend->add (ctx->backend, times); + char *times = make_time_status + (get_config_string (ctx->config.root, "general.time_format")); + if (*times) + ctx->backend->add (ctx->backend, times); free (times); ctx->backend->flush (ctx->backend);