about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKevin Mandura <webmaster@kevin-mandura.de>2024-03-23 19:54:55 +0100
committerKevin Mandura <webmaster@kevin-mandura.de>2024-03-23 19:54:55 +0100
commit73fff14f270052a41bee81c2599ffcb14bb22609 (patch)
tree010429a84050eef64cdc377b5dbbccc2916b03c5
parent8634cafba01c974a487faa3a2e2c9211c253e1a5 (diff)
downloaddwm-status-sh-73fff14f270052a41bee81c2599ffcb14bb22609.tar.gz
dwm-status-sh-73fff14f270052a41bee81c2599ffcb14bb22609.zip
Add RAM usage status module
-rw-r--r--dwm-status.sh25
1 files changed, 24 insertions, 1 deletions
diff --git a/dwm-status.sh b/dwm-status.sh
index e9f5c56..2cfca67 100644
--- a/dwm-status.sh
+++ b/dwm-status.sh
@@ -96,6 +96,7 @@ readonly CACHE_WLAN_INTERFACE_FILE="${CONFIG_CACHE_DIR}/wlan-interface.txt"
 readonly CACHE_VPN_INTERFACE_FILE="${CONFIG_CACHE_DIR}/vpn-interface.txt"
 readonly CACHE_CPU_TEMPERATURE_FILE="${CONFIG_CACHE_DIR}/cpu-temperature.txt"
 readonly CACHE_CPU_USAGE_FILE="${CONFIG_CACHE_DIR}/cpu-usage.txt"
+readonly CACHE_RAM_USAGE_FILE="${CONFIG_CACHE_DIR}/ram-usage.txt"
 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"
@@ -124,7 +125,7 @@ initialize_cache_directory() {
     # Empty the cache directory and create empty cache files for a fresh
     # start.
     rm -f "$CONFIG_CACHE_DIR"/*
-    touch "$CACHE_NEW_MAILS_FILE" "$CACHE_ETHERNET_INTERFACE_FILE" "$CACHE_WLAN_INTERFACE_FILE" "$CACHE_VPN_INTERFACE_FILE" "$CACHE_CPU_TEMPERATURE_FILE" "$CACHE_CPU_USAGE_FILE" "$CACHE_AUDIO_VOLUME_FILE" "$CACHE_DISK_FREE_FILE" "$CACHE_BATTERY_FILE" "$CACHE_UPTIME_FILE" "$CACHE_DATE_TIME_FILE"
+    touch "$CACHE_NEW_MAILS_FILE" "$CACHE_ETHERNET_INTERFACE_FILE" "$CACHE_WLAN_INTERFACE_FILE" "$CACHE_VPN_INTERFACE_FILE" "$CACHE_CPU_TEMPERATURE_FILE" "$CACHE_CPU_USAGE_FILE" "$CACHE_RAM_USAGE_FILE" "$CACHE_AUDIO_VOLUME_FILE" "$CACHE_DISK_FREE_FILE" "$CACHE_BATTERY_FILE" "$CACHE_UPTIME_FILE" "$CACHE_DATE_TIME_FILE"
 }
 
 # Note:
@@ -297,6 +298,26 @@ module_cpu_usage() {
     status_bar_string="${status_bar_string}${cpu_usage}${CONFIG_DELIM_STRING}"
 }
 
+module_ram_usage() {
+    if [ "$1" = "force" ]; then
+        # Get current RAM usage in contrast to total available RAM
+        # storage.
+        ram_information=$(free -h | sed -n 2p)
+        ram_used=$(printf "%s" "$ram_information" | awk '{print $3}')
+        ram_in_total=$(printf "%s" "$ram_information" | awk '{print $2}')
+
+        ram_usage="${ram_used}/${ram_in_total}"
+
+        # Store information to file.
+        printf "%s" "$ram_usage" > "$CACHE_RAM_USAGE_FILE"
+    else
+        ram_usage=$(cat "$CACHE_RAM_USAGE_FILE")
+    fi
+
+    # Append to status bar string.
+    status_bar_string="${status_bar_string}${ram_usage}${CONFIG_DELIM_STRING}"
+}
+
 module_audio_master_volume() {
     # Abort, if the amixer command is not installed.
     if ! amixer &> /dev/null
@@ -422,6 +443,7 @@ refresh_status_bar() {
         module_ethernet_interface force
         module_cpu_temperature force
         module_cpu_usage force
+        module_ram_usage force
         module_audio_master_volume force
         module_disk_free force
         module_battery force
@@ -438,6 +460,7 @@ refresh_status_bar() {
         module_ethernet_interface force
         module_cpu_temperature force
         module_cpu_usage force
+        module_ram_usage force
         module_audio_master_volume
         module_disk_free
         module_battery