Introduction
Introduction Statistics Contact Development Disclaimer Help
slstatus-kanji-20240614-f68f492.diff - sites - public wiki contents of suckless…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
slstatus-kanji-20240614-f68f492.diff (2700B)
---
1 From 3baa458322f4cf9bd4c7257d1250db490a30e8d8 Mon Sep 17 00:00:00 2001
2 From: Madison Lynch <[email protected]>
3 Date: Fri, 14 Jun 2024 13:00:02 -0700
4 Subject: [PATCH] Overhauled kanji patch: cleaner code, faster execution
5
6 ---
7 Makefile | 1 +
8 components/kanji.c | 30 ++++++++++++++++++++++++++++++
9 config.def.h | 1 +
10 slstatus.h | 3 +++
11 4 files changed, 35 insertions(+)
12 create mode 100644 components/kanji.c
13
14 diff --git a/Makefile b/Makefile
15 index 7a18274..305ab91 100644
16 --- a/Makefile
17 +++ b/Makefile
18 @@ -14,6 +14,7 @@ COM =\
19 components/entropy\
20 components/hostname\
21 components/ip\
22 + components/kanji\
23 components/kernel_release\
24 components/keyboard_indicators\
25 components/keymap\
26 diff --git a/components/kanji.c b/components/kanji.c
27 new file mode 100644
28 index 0000000..2dbcd9a
29 --- /dev/null
30 +++ b/components/kanji.c
31 @@ -0,0 +1,30 @@
32 +/* Written by Madison Lynch <[email protected]> */
33 +#include <time.h>
34 +
35 +static const char *symbols[] = {
36 + "日", // Sunday
37 + "月", // Monday
38 + "火", // Tuesday
39 + "水", // Wednesday
40 + "木", // Thursday
41 + "金", // Friday
42 + "土" // Saturday
43 +};
44 +
45 +/**
46 +* Returns the appropriate Japanese Kanji character correlating with the…
47 +* day of the week.
48 +*
49 +* @param unused (NULL)
50 +* @return the appropriate Kanji character (char)
51 +* @author Madison Lynch
52 +*/
53 +const char *
54 +kanji(const char *unused) {
55 + const time_t current_time = time(NULL);
56 + const unsigned int weekday = localtime(
57 + &current_time
58 + )->tm_wday;
59 +
60 + return (weekday < sizeof(symbols) / sizeof(char *)) ? symbols[weekd…
61 +}
62 diff --git a/config.def.h b/config.def.h
63 index d805331..099ed79 100644
64 --- a/config.def.h
65 +++ b/config.def.h
66 @@ -31,6 +31,7 @@ static const char unknown_str[] = "n/a";
67 * hostname hostname NULL
68 * ipv4 IPv4 address interface name (…
69 * ipv6 IPv6 address interface name (…
70 + * kanji current day of week kanji NULL
71 * kernel_release `uname -r` NULL
72 * keyboard_indicators caps/num lock indicators format string (c…
73 * see keyboard_ind…
74 diff --git a/slstatus.h b/slstatus.h
75 index 8ef5874..dc927eb 100644
76 --- a/slstatus.h
77 +++ b/slstatus.h
78 @@ -31,6 +31,9 @@ const char *hostname(const char *unused);
79 const char *ipv4(const char *interface);
80 const char *ipv6(const char *interface);
81
82 +/* kanji */
83 +const char *kanji(const char *unused);
84 +
85 /* kernel_release */
86 const char *kernel_release(const char *unused);
87
88 --
89 2.45.2
90
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.