#!/bin/sh # ram module for status/stellar # load config . $HOME/.config/speedwm-de/status/config BINDIR="$(dirname $(command -v status))/" ARG1="$1" CLICK() { # values RAM_USED="$(echo "$(free -h --giga | awk '/^Mem/ {print $3}')B")" RAM_TOTAL="$(echo "$(free -h --giga | awk '/^Mem/ {print $2}')B")" RAM_LEFT="$(echo "$(free -h --giga | awk '/^Mem/ {print $7}')B")" ICON="$ITEM1_ICON" BUTTON="$(cat /tmp/speedwm-button)" case "$TERMINAL" in "") TERMINAL=st esac case "$BUTTON" in "3") $TERMINAL -e htop ;; esac # no spacing if there's no icon if [ "$ICON" != "" ]; then ICONSPACING=" " # one character spacing fi # send the notification SEND_NOTIF() { FULL_RAM="$(printf "${ICON}${ICONSPACING}Used: $RAM_USED\nFree: $RAM_LEFT\nTotal: $RAM_TOTAL\n")" notify-send "$FULL_RAM" echo "Notification sent successfully!" echo "INFO: $FULL_RAM" exit 0 } command -v notify-send > /dev/null && SEND_NOTIF echo "FATAL: libnotify not installed, can't send notification." exit 1 } # information itself PRINT() { if [ "$ENABLE_ITEM1" = "true" ]; then # Used RAM if [ -e "${BINDIR}free" ]; then USEDRAM="$(echo "$(free -h --giga | awk '/^Mem/ {print $3}')B")" fi # Total RAM if [ -e "${BINDIR}free" ]; then TOTALRAM="$(echo "$(free -h --giga | awk '/^Mem/ {print $2}')B")" fi if [ -e "${BINDIR}free" ]; then echo "$SEPARATOR $ITEM1_ICON $ITEM1_FORMAT" | sed "s|@u|$USEDRAM|; s|@t|$TOTALRAM|" fi fi } # argument 1 case "$ARG1" in "") CLICK ;; "--print") PRINT > /tmp/module_ram ;; "--click") CLICK ;; esac