dotfiles/i3/scripts/memory

61 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
TYPE="${BLOCK_INSTANCE:-mem}"
ram=`awk -v type=$TYPE '
/^MemTotal:/ {
mem_total=$2
}
/^MemFree:/ {
mem_free=$2
}
/^Buffers:/ {
mem_free+=$2
}
/^Cached:/ {
mem_free+=$2
}
/^SwapTotal:/ {
swap_total=$2
}
/^SwapFree:/ {
swap_free=$2
}
END {
# full text
if (type == "swap")
printf("%.1f\n", (swap_total-swap_free)/1024/1024)
else
printf("%.1f\n", mem_free/1024/1024)
# TODO: short text
# TODO: color (if less than X%)
}
' /proc/meminfo`
if [[ ($ram < 4) && ($ram > 2) ]]
then
echo -n "<span foreground='#ffa500' background='#61CE3C'></span><span foreground='black' background='#ffa500'>  $ram </span><span foreground='#8A458A' background='#ffa500'> </span>"
elif [[ ($ram < 2) ]]
then
echo -n "<span foreground='#B60900' background='#61CE3C'></span><span foreground='black' background='#B60900'>  $ram </span><span foreground='#8A458A' background='#B60900'> </span>"
else
echo -n "<span foreground='#4c83ff' background='#61CE3C'></span><span foreground='black' background='#4c83ff'>  $ram </span><span foreground='#8A458A' background='#4c83ff'> </span>"
fi