sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

slstatus-kanji.diff (1495B)


      1 --- b/config.def.h
      2 +++ a/config.def.h
      3 @@ -31,6 +31,7 @@
      4   * hostname            hostname                        NULL
      5   * ipv4                IPv4 address                    interface name (eth0)
      6   * ipv6                IPv6 address                    interface name (eth0)
      7 + * kanji               japanese day of week kanji      NULL
      8   * kernel_release      `uname -r`                      NULL
      9   * keyboard_indicators caps/num lock indicators        format string (c?n?)
     10   *                                                     see keyboard_indicators.c
     11 --- a/components/kanji.c
     12 +++ b/components/kanji.c
     13 @@ -0,0 +1,13 @@
     14 +/* See LICENSE file for copyright and license details. */
     15 +#include <time.h>
     16 +
     17 +const char *
     18 +kanji(const char *unused) {
     19 +	char *kanji[]={"日","月","火","水","木","金","土"};
     20 +	int map[]={0,3,2,5,0,3,5,1,4,6,2,4};
     21 +	time_t t=time(NULL);
     22 +	struct tm tm=*localtime(&t);
     23 +	int m=tm.tm_mon+1,y=tm.tm_year+1900-(m<3);
     24 +	int wd=(y+y/4-y/100+y/400+map[m-1]+tm.tm_mday)%7;
     25 +	return kanji[wd];
     26 +}
     27 --- a/Makefile
     28 +++ b/Makefile
     29 @@ -14,6 +14,7 @@
     30  	components/entropy\
     31  	components/hostname\
     32  	components/ip\
     33 +	components/kanji\
     34  	components/kernel_release\
     35  	components/keyboard_indicators\
     36  	components/keymap\
     37 --- a/slstatus.h
     38 +++ b/slstatus.h
     39 @@ -31,6 +31,9 @@
     40  const char *ipv4(const char *interface);
     41  const char *ipv6(const char *interface);
     42  
     43 +/* kanji */
     44 +const char *kanji(const char *unused);
     45 +
     46  /* kernel_release */
     47  const char *kernel_release(const char *unused);