about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKevin Mandura <webmaster@kevin-mandura.de>2024-03-23 19:12:15 +0100
committerKevin Mandura <webmaster@kevin-mandura.de>2024-03-23 19:12:15 +0100
commitd95b4071482d08ee72382d08f77198ba4286f286 (patch)
tree2a7b3e083319025da83a9af60033b506bcd1b5b6
parentb53d7e9221728c5d22151bd3a82930e5e46c4d1c (diff)
downloaddwm-status-sh-d95b4071482d08ee72382d08f77198ba4286f286.tar.gz
dwm-status-sh-d95b4071482d08ee72382d08f77198ba4286f286.zip
Add date time status module
-rw-r--r--dwm-status.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/dwm-status.sh b/dwm-status.sh
index 45c1bf6..827719e 100644
--- a/dwm-status.sh
+++ b/dwm-status.sh
@@ -95,6 +95,7 @@ readonly CACHE_AUDIO_VOLUME_FILE="${CONFIG_CACHE_DIR}/audio-volume.txt"
 readonly CACHE_DISK_FREE_FILE="${CONFIG_CACHE_DIR}/disk-free.txt"
 readonly CACHE_BATTERY_FILE="${CONFIG_CACHE_DIR}/battery.txt"
 readonly CACHE_UPTIME_FILE="${CONFIG_CACHE_DIR}/uptime.txt"
+readonly CACHE_DATE_TIME_FILE="${CONFIG_CACHE_DIR}/date-time.txt"
 status_bar_refresh_iteration_count=0
 status_bar_string=""
 
@@ -357,6 +358,20 @@ module_uptime() {
     status_bar_string="${status_bar_string}${system_uptime}${CONFIG_DELIM_STRING}"
 }
 
+module_date_time() {
+    if [ "$1" = "force" ]; then
+        # Get current date and time and store to file.
+        date_time=$(date "${CONFIG_DATE_TIME_FORMAT}")
+
+        printf "%s" "$date_time" > "$CACHE_DATE_TIME_FILE"
+    else
+        date_time=$(cat "$CACHE_DATE_TIME_FILE")
+    fi
+
+    # Append to status bar string.
+    status_bar_string="${status_bar_string}${date_time}${CONFIG_DELIM_STRING}"
+}
+
 refresh_status_bar() {
     # Clear status bar string.
     status_bar_string=""
@@ -372,6 +387,7 @@ refresh_status_bar() {
         module_disk_free force
         module_battery force
         module_uptime force
+        module_date_time force
 
         # Increment the iteration counter.
         status_bar_refresh_iteration_count=$((status_bar_refresh_iteration_count+1))
@@ -386,6 +402,7 @@ refresh_status_bar() {
         module_disk_free
         module_battery
         module_uptime force
+        module_date_time force
 
         # Increment the iteration counter, or reset it once it has
         # reached the configured limit, after which ALL status bar