| 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 + ¤t_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 |