summaryrefslogtreecommitdiff
path: root/mybar/mybar.awk
diff options
context:
space:
mode:
Diffstat (limited to 'mybar/mybar.awk')
-rwxr-xr-xmybar/mybar.awk135
1 files changed, 135 insertions, 0 deletions
diff --git a/mybar/mybar.awk b/mybar/mybar.awk
new file mode 100755
index 0000000..d16dbf1
--- /dev/null
+++ b/mybar/mybar.awk
@@ -0,0 +1,135 @@
+#!/bin/awk -f
+
+BEGIN {
+ date=""
+ cpu=""
+ mem=""
+ battery=""
+ window=""
+ wminfo=""
+ redshift=""
+ wifi=""
+
+ cpu_pused=0
+ cpu_ptotal=0
+}
+$1 == "date" {
+ date = $2 " " $3 " " $4
+}
+$1 == "cpu" {
+ used=$2+$3+$4+$7+$8;
+ total=used+$5+$6;
+
+ if(total - cpu_ptotal != 0) {
+ tmp=int(100*(used-cpu_pused)/(total-cpu_ptotal));
+ } else {
+ tmp=0
+ }
+ if(tmp > 100) {
+ tmp=0
+ }
+ cpu_pused=used
+ cpu_ptotal=total
+
+ if(tmp < 10) {
+ sp = " "
+ } else if(tmp < 100) {
+ sp = " "
+ } else {
+ sp = ""
+ }
+ f = int((tmp+5) / 10)
+ tmp = "CPU: " sp tmp "%"
+ cpu = "\\u3" substr(tmp, 1, f) "\\u4" substr(tmp, 1+f, 10-f) "\\ur"
+}
+$1 == "window" {
+ window=substr($0, 7, length($0)-6);
+}
+$1 == "mem" {
+ if($2 < 10) {
+ sp = " "
+ } else if($2 < 100) {
+ sp = " "
+ } else if($2 < 1000){
+ sp = " "
+ } else {
+ sp = ""
+ }
+ tmp = "Mem:" sp $2 "MB"
+ f = int(($2 / 4096 * 10) + .5)
+ mem = "\\u3" substr(tmp, 1, f) "\\u4" substr(tmp, 1+f, 10-f) "\\ur"
+}
+$1 == "bspwm" {
+ #wminfo=substr($0, 7, length($0)-6)
+ split(substr($0, 7, length($0)-6), info, ":")
+
+ wminfo=" \\u5"
+ sep=""
+ for(i in info) {
+ raw=info[i]
+ k=substr(raw, 1, 1)
+ v=substr(raw, 2, length(raw)-1)
+
+ add = ""
+ if(k=="u") add = "\\b2" v
+ else if(k=="U") add = "\\u3\\b2" v
+ else if(k=="f") add = "\\f1" v
+ else if(k=="F") add = "\\f1\\u3" v
+ else if(k=="o") add = v
+ else if(k=="O") add = "\\u3" v
+
+ if(add != "") {
+ wminfo = wminfo sep add "\\fr\\u5\\br"
+ sep = " "
+ }
+ }
+ wminfo = wminfo "\\ur"
+}
+$1 == "redshift" {
+ if($2 == "-x") {
+ redshift = "\\u2"
+ } else {
+ redshift = ""
+ }
+}
+$1 == "bat" {
+ val=$3
+ if($2 == "Full") {
+ val=100
+ }
+ if($2 == "Charging") {
+ tmp="-charging-"
+ } else {
+ tmp="Bat:"
+
+ if(val < 10) {
+ sp=" "
+ } else if(val < 100) {
+ sp=" "
+ } else {
+ sp=" "
+ }
+ tmp=tmp sp val "%"
+ }
+ f = int((val+5) / 10)
+ battery = "\\u3" substr(tmp, 1, f) "\\u4" substr(tmp, 1+f, 10-f) "\\ur"
+ if((val < 5) && ($2 != "Charging")) {
+ battery="\\b2" battery "\\br"
+ }
+}
+$1 == "wifi" {
+ if($2 == "-") {
+ wifi=""
+ } else {
+ tmp=$2
+ if(length(tmp) > 10) {
+ tmp=substr(tmp, 1, 8) ".."
+ }
+ f = int(($3+5) / 10)
+ wifi = "\\u3" substr(tmp, 1, f) "\\u4" substr(tmp, 1+f, 10-f) "\\ur"
+ }
+}
+{
+ print "\\l" wminfo "\\c" window "\\r" wifi " " battery " " mem " " cpu " " redshift "R\\ur " date " "
+ fflush()
+}