wmstatus: make changing the time format possible
All checks were successful
Alpine 3.22 Success
OpenBSD 7.8 Success

As well as disabling the field altogether.
This commit is contained in:
2025-12-03 01:56:25 +01:00
parent de4379ca2c
commit ced5aaeff1

View File

@@ -1,7 +1,7 @@
/*
* wmstatus.c: simple PulseAudio-enabled status setter for dwm and i3/sway
*
* Copyright (c) 2015 - 2024, Přemysl Eric Janouch <p@janouch.name>
* Copyright (c) 2015 - 2025, Přemysl Eric Janouch <p@janouch.name>
*
* 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,7 +1451,9 @@ 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");
char *times = make_time_status
(get_config_string (ctx->config.root, "general.time_format"));
if (*times)
ctx->backend->add (ctx->backend, times);
free (times);