wmstatus: make changing the time format possible
As well as disabling the field altogether.
This commit is contained in:
14
wmstatus.c
14
wmstatus.c
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* wmstatus.c: simple PulseAudio-enabled status setter for dwm and i3/sway
|
* 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
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted.
|
* purpose with or without fee is hereby granted.
|
||||||
@@ -798,6 +798,10 @@ backend_i3_new (void)
|
|||||||
|
|
||||||
static const struct config_schema g_config_general[] =
|
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",
|
{ .name = "command",
|
||||||
.comment = "Command to run for more info",
|
.comment = "Command to run for more info",
|
||||||
.type = CONFIG_ITEM_STRING },
|
.type = CONFIG_ITEM_STRING },
|
||||||
@@ -1375,7 +1379,7 @@ make_time_status (const char *fmt)
|
|||||||
|
|
||||||
if (local == NULL)
|
if (local == NULL)
|
||||||
exit_fatal ("%s: %s", "localtime", strerror (errno));
|
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");
|
exit_fatal ("strftime == 0");
|
||||||
|
|
||||||
return xstrdup (buf);
|
return xstrdup (buf);
|
||||||
@@ -1447,8 +1451,10 @@ refresh_status (struct app_context *ctx)
|
|||||||
for (size_t i = 0; i < ctx->command_current.len; i++)
|
for (size_t i = 0; i < ctx->command_current.len; i++)
|
||||||
ctx->backend->add (ctx->backend, ctx->command_current.vector[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
|
||||||
ctx->backend->add (ctx->backend, times);
|
(get_config_string (ctx->config.root, "general.time_format"));
|
||||||
|
if (*times)
|
||||||
|
ctx->backend->add (ctx->backend, times);
|
||||||
free (times);
|
free (times);
|
||||||
|
|
||||||
ctx->backend->flush (ctx->backend);
|
ctx->backend->flush (ctx->backend);
|
||||||
|
|||||||
Reference in New Issue
Block a user