diff -ur ratpoison-cvs-20001215-0943/src/actions.c ratpoison-cvs-20001215-0943-with-clock/src/actions.c --- ratpoison-cvs-20001215-0943/src/actions.c Wed Dec 13 09:19:11 2000 +++ ratpoison-cvs-20001215-0943-with-clock/src/actions.c Fri Dec 15 14:10:32 2000 @@ -2,7 +2,9 @@ keystrokes */ #include +#include #include +#include #include #include "ratpoison.h" @@ -16,11 +18,12 @@ {XK_space, -1, 0, next_window}, {XK_colon, 0, 0, execute_command}, {KEY_PREFIX, -1, 0, last_window}, + {XK_a, -1, 0, show_clock}, {XK_w, -1, 0, toggle_bar}, {XK_K, 0, 0, kill_window}, {XK_k, 0, 0, delete_window}, {XK_quoteright, -1, 0, goto_win_by_name}, - {XK_a, -1, 0, rename_current_window}, + {XK_A, -1, 0, rename_current_window}, {XK_g, ControlMask, 0, abort_keypress}, {XK_0, -1, 0, goto_window_0}, {XK_1, -1, 0, goto_window_1}, @@ -309,6 +312,29 @@ s = rp_current_window->scr; if (!hide_bar (s)) show_bar (s); } +} + + +/* Show the current time on the bar */ +void +show_clock (void *data) +{ + screen_info *s; + char *msg; + time_t timep; + + msg = malloc(6); + + timep = time(NULL); + strncpy(msg, ctime(&timep) + 11, 5); /* FIXME This could problary be done in fewer cpu cycles with asctime() or something. But I'm lazy and incompetent. - cosis */ + msg[5] = '\0'; + + if (rp_current_window) + { + s = rp_current_window->scr; + display_msg_in_bar (s, msg); + } + free(msg); } diff -ur ratpoison-cvs-20001215-0943/src/actions.h ratpoison-cvs-20001215-0943-with-clock/src/actions.h --- ratpoison-cvs-20001215-0943/src/actions.h Sun Dec 10 00:43:32 2000 +++ ratpoison-cvs-20001215-0943-with-clock/src/actions.h Fri Dec 15 14:11:08 2000 @@ -24,6 +24,7 @@ void last_window (void *data); void next_window (void *data); void prev_window (void *data); +void show_clock (void *data); void toggle_bar (void *data); void maximize (void *data);