diff options
author | Karel Kočí <cynerd@email.cz> | 2022-06-25 20:08:57 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2022-06-25 20:08:57 +0200 |
commit | 44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c (patch) | |
tree | de358e64afa892a6374e662b32db6317bbeb80f9 /config/i3blocks/scripts/memory | |
parent | c3cc932f4b1950b1633af02f510d47b9c19d0863 (diff) | |
download | myconfigs-44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c.tar.gz myconfigs-44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c.tar.bz2 myconfigs-44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c.zip |
i3blocks: add missing scripts
Diffstat (limited to 'config/i3blocks/scripts/memory')
-rwxr-xr-x | config/i3blocks/scripts/memory | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/config/i3blocks/scripts/memory b/config/i3blocks/scripts/memory new file mode 100755 index 0000000..fd814e0 --- /dev/null +++ b/config/i3blocks/scripts/memory @@ -0,0 +1,73 @@ +#!/usr/bin/env 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}" +PERCENT="${PERCENT:-true}" + +awk -v type=$TYPE -v percent=$PERCENT ' +/^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 { + if (type == "swap") { + free=swap_free/1024/1024 + used=(swap_total-swap_free)/1024/1024 + total=swap_total/1024/1024 + } else { + free=mem_free/1024/1024 + used=(mem_total-mem_free)/1024/1024 + total=mem_total/1024/1024 + } + + pct=0 + if (total > 0) { + pct=used/total*100 + } + + # full text + if (percent == "true" ) { + printf("%.1fG/%.1fG (%.f%%)\n", used, total, pct) + } else { + printf("%.1fG/%.1fG\n", used, total) + } + # short text + printf("%.f%%\n", pct) + + # color + if (pct > 90) { + print("#FF0000") + } else if (pct > 80) { + print("#FFAE00") + } else if (pct > 70) { + print("#FFF600") + } +} +' /proc/meminfo |