Skip to content
This repository has been archived by the owner on Jul 29, 2022. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Added ":set timefmt".
This allows you to change the format of the output of the :time command
according to the rules in strftime().
  • Loading branch information
Christian Koch committed Apr 8, 2011
1 parent f375914 commit 9b7f5a5
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/actions.c
Expand Up @@ -53,6 +53,7 @@ static cmdret * set_transgravity (struct cmdarg **args);
static cmdret * set_maxsizegravity (struct cmdarg **args);
static cmdret * set_bargravity (struct cmdarg **args);
static cmdret * set_font (struct cmdarg **args);
static cmdret * set_timefmt (struct cmdarg **args);
static cmdret * set_padding (struct cmdarg **args);
static cmdret * set_border (struct cmdarg **args);
static cmdret * set_barborder (struct cmdarg **args);
Expand Down Expand Up @@ -122,6 +123,7 @@ init_set_vars(void)
add_set_var("maxsizegravity", set_maxsizegravity, 1, "", arg_GRAVITY);
add_set_var("bargravity", set_bargravity, 1, "", arg_GRAVITY);
add_set_var("font", set_font, 1, "", arg_STRING);
add_set_var("timefmt", set_timefmt, 1, "", arg_STRING);
add_set_var("padding", set_padding, 4,
"", arg_NUMBER, "", arg_NUMBER, "", arg_NUMBER, "", arg_NUMBER);
add_set_var("border", set_border, 1, "", arg_NUMBER);
Expand Down Expand Up @@ -2684,7 +2686,7 @@ cmd_time (int interactive UNUSED, struct cmdarg **args UNUSED)
lt = time(NULL);
ptr = localtime(&lt);

strftime(timestr, 100, "%a %B %d, %Y %l:%M:%S %p", ptr);
strftime(timestr, 100, defaults.timefmt_string, ptr);
msg = xmalloc(strlen(timestr));
strncpy(msg, timestr, strlen(timestr) + 1);

Expand Down Expand Up @@ -3773,6 +3775,17 @@ set_font (struct cmdarg **args)
return cmdret_new (RET_SUCCESS, NULL);
}

static cmdret *
set_timefmt (struct cmdarg **args)
{
if (args[0] == NULL) {
return cmdret_new(RET_SUCCESS, "%s", defaults.timefmt_string);
}

defaults.timefmt_string = xstrdup(ARG_STRING(0));
return cmdret_new(RET_SUCCESS, NULL);
}

static cmdret *
set_padding (struct cmdarg **args)
{
Expand Down
2 changes: 2 additions & 0 deletions src/data.h
Expand Up @@ -236,6 +236,8 @@ struct rp_defaults
XFontSet font;
char *font_string;

char *timefmt_string;

char *fgcolor_string;
char *bgcolor_string;
char *fwcolor_string;
Expand Down
2 changes: 2 additions & 0 deletions src/main.c
Expand Up @@ -546,6 +546,8 @@ init_defaults (void)
set_extents_of_fontset (defaults.font);
#endif

defaults.timefmt_string = xstrdup ("TEST TIMEFMT: %m/%d/%y");

defaults.fgcolor_string = xstrdup ("black");
defaults.bgcolor_string = xstrdup ("white");
defaults.fwcolor_string = xstrdup ("black");
Expand Down

0 comments on commit 9b7f5a5

Please sign in to comment.