Project import generated by Copybara.

GitOrigin-RevId: 975161aa2f1036264c56d7a81b79ac74ba68b276
diff --git a/private_dot_config/i3blocks/memory/README.md b/private_dot_config/i3blocks/memory/README.md
new file mode 100644
index 0000000..4578dd1
--- /dev/null
+++ b/private_dot_config/i3blocks/memory/README.md
@@ -0,0 +1,20 @@
+# memory
+
+Show memory usage. Accepts instance "mem" or "swap".
+
+![](memory.png)
+
+# Config
+
+```
+[memory]
+command=$SCRIPT_DIR/memory
+label=MEM
+interval=30
+
+#[memory]
+#command=$SCRIPT_DIR/memory
+#label=SWAP
+#instance=swap
+#interval=30
+```
diff --git a/private_dot_config/i3blocks/memory/executable_memory b/private_dot_config/i3blocks/memory/executable_memory
new file mode 100644
index 0000000..fd814e0
--- /dev/null
+++ b/private_dot_config/i3blocks/memory/executable_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
diff --git a/private_dot_config/i3blocks/memory/i3blocks.conf b/private_dot_config/i3blocks/memory/i3blocks.conf
new file mode 100644
index 0000000..0a86f04
--- /dev/null
+++ b/private_dot_config/i3blocks/memory/i3blocks.conf
@@ -0,0 +1,11 @@
+[memory]
+command=$SCRIPT_DIR/memory
+label=MEM
+interval=30
+
+#[memory]
+#command=$SCRIPT_DIR/memory
+#label=SWAP
+#instance=swap
+#interval=30
+
diff --git a/private_dot_config/i3blocks/memory/memory.png b/private_dot_config/i3blocks/memory/memory.png
new file mode 100644
index 0000000..c918a05
--- /dev/null
+++ b/private_dot_config/i3blocks/memory/memory.png
Binary files differ