From 5ee4b4a978f3b27513b680fe3297cb7bea7bcb1e Mon Sep 17 00:00:00 2001 From: "Sean E. Russell" Date: Wed, 26 Dec 2018 22:06:55 -0600 Subject: [PATCH 1/2] Adds battery support Cleans up mod file; adds flag for battery. Adds documentation; fixes missing color sets for battery. --- README.md | 3 ++ assets/battery.png | Bin 0 -> 95426 bytes colorschemes/default.go | 2 ++ colorschemes/default.json | 2 ++ colorschemes/default_dark.go | 2 ++ colorschemes/monokai.go | 2 ++ colorschemes/solarized.go | 2 ++ colorschemes/template.go | 2 ++ go.mod | 7 ++-- go.sum | 22 ++++++++++-- main.go | 32 ++++++++++++++++-- src/widgets/battery.go | 64 +++++++++++++++++++++++++++++++++++ 12 files changed, 134 insertions(+), 6 deletions(-) create mode 100644 assets/battery.png create mode 100644 src/widgets/battery.go diff --git a/README.md b/README.md index 0f667e2..c1393de 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Another terminal based graphical activity monitor, inspired by [gtop](https://gi + @@ -95,6 +96,7 @@ To make a custom colorscheme, check out the [template](./colorschemes/template.g `-v`, `--version` Show version. `-p`, `--percpu` Show each CPU in the CPU widget. `-a`, `--averagecpu` Show average CPU in the CPU widget. +`-b`, `--battery` Show battery level (defaults to false, `minimal` turns off) ## Building deb/rpms @@ -118,6 +120,7 @@ This will place the built packages into the `dist` folder. - [termbox](https://github.com/nsf/termbox-go) - [gopsutil](https://github.com/shirou/gopsutil) - [goreleaser](https://github.com/goreleaser/goreleaser) +- [battery](https://github.com/distatus/battery) ## Stargazers over time diff --git a/assets/battery.png b/assets/battery.png new file mode 100644 index 0000000000000000000000000000000000000000..b70f2ab99d99e234969fc928d6775edef33cc52b GIT binary patch literal 95426 zcmeAS@N?(olHy`uVBq!ia0y~yU|G$;z|_XU#=yYPI!7Xkfq{W7$=lt9fq~&a1B3hR z{z(iB4Gf+xjv*Dd-rOy(2nqdn{Nwj4Us#;fzuXgKVRT%=(X>LNYlVW=t4*(O)xBDG zH}v|}wY#$4M+j&qMT&~Dvc5bUz`CTIV~Kk3`@eq;C(k?3vW2rI?)+ornR9l2pJQzP z{od!f#rv)oeZ3;>>jDFZ8n!OeR#1Y1N$v-=1fhUa`rD!cO7BYCY}vi%>}#*Y--q-oYj4GTW7a)xdn|eS7M_1*Gp{eRJNf6# zw3u&C_DkHp!ktvd%T`^KaW7!R4FYd@iqe z{akieyuF_FSGM>gsmkmZwid=F>CRm8_V(FTmHR(j)j#cNT$|AHenOB-mj3O`+Fy1d ze~$KMU%!&G_Kb?#y=wXEyv3Wo?Dzk8$J+R3(YvfY%X^>mDQEuf%iceqUWd&IoS0h2{OI%YjnBKcN50;Ac~PzPoZ~n9x8AFpljpwl>h4Y3 z)xq(ueu~eqlzA$8P*Pv{!P+@GNy1=(__;f+HNP)k{4;%RL-oO8pV)vOEfV2h_O{9Hm-O6b zJw;ZuZoTY^7oFRtyq)>6M5b2tv3r@?$~@UcJtmjFy-j=Gc686@hfYDwOO=Hty|Ay~ ziTzc&B)e(ykCuo#E3G5He(c_}Nn`1WxTIbEsh?U7e(_l4zi0D@rRR zg&c;*`qGCF==pZ`e=2&>uUhl#m(Qf{X^&QQod@R-l{G&Utk)h{-79_NaN6zD&wTCH zumqL2l-SD|Htb%0*X8>j-npghm(O$kxqRmD)b!>14r$d}o??}Kzi;o0qGNB*R6Gie zsZ}$|OK?xpotg9JSLwgMKdY=_zQ)T*Tve#I|G(p*=r$?7wmVpi&l z*=oX%i%vn!#gTizx)&UE{W|menf;Y73b@?&E-!p}ce~NEPuvl^zP$Z2dH2@0rZ$D{ z_TOrLD*68_m#)5)s}ftF-yfUw;pF{y>3&fglsXshd_S@C$eOzL;B2 zx0gA&IXM2I`TkFtogEz=CsrPP*P*)Ta=|)@sYljD@_+D_k~pY8v%lUxkNtbmycrgP zv$xt#o>$%B_1nk5{`O_QT=FCT#sycogQJQ*e!af=&FAtR`L_~h z`TP?vH|b({@cp~oljbsgW6eCV@AnP6*QzCa{PcP9^+~mtSI^n~G;-e^_NSa7ZzDIh z=su4>CR!ffoO`UlW_uYw!#tVWoLjel`XyO*ZrAko%AVtTniXgF|1$lTA7vXiPl#8f zr_xDwdZ)(^4$BDBk{1`a-e%m}Q@K#I#N}}h!~EN!>m(i8B%Sy6_zfk{pP*L^TXw&0o?jE_cR5Rt*+XpvKFRMIRW4A?;^IFs0sJpXo ze0eNpceg-c$68UH*ln{nPB&37JJq7YJ;SqSUJc*Z{&SBup1;0X-g?66#>4InyINl* zE`KjN{nEXN6Pxw_pU|_Hc=NRV`oH5F#MO%Kedv$;didgm=+KMjV?jl_pYHM9@7HfD zbX}O*kgH~Mdbcps`n0w6?aR~N9tzDUJ^JzeacABSQ_{D({d{*jR?gfk$#bTCuX)|Q z_N$K$f4^-r?JD=QjVT{q|H<{4QKXl?ZT`_~XAhdYeOu_?9(tz!J4b?Mc>L_$`yTyt zw~Z+~?V|Vp_D!D1-^TN64OU;s>ix9VZ{?mkz1gQ9vn~4k`$m`klfp<16FVWz{TI&P zW<8Xj7OGgedDSVgn5ye_Li+Uvnm<$y%-r+gUeUB=^7*d|k820`sczq%de`mJdD$~h z+LKZMbc>Z*F^fy70wJ3-kLno$PY{ zk4_%Hml*8!pw4p1?~kX}#aX_;&HVlE?V0~Sulw^WW&Pht=3Kc(f3M%nnNcL%-2OG~ z*s}vUOIjSAU+(>A9d}wQenHm*yP)m0$FsNVJ$imIyy)TzM9c$mK3iM_9&2iFzx%!mkVz$ zd1k)+O-Ietn2b{o{=co2tNF_@y;tVI&g*xN?R4-vB{r@0AK&Hrdw~YUIy>5`4n5#A z$%$xxp}{T~(YU3l_o(`$2mELJP1hW+aLFl1le)Y9@mk62Q-75Dg@o+))e{+_~Jl-UbQKKTXtLuyl&+eI_b^rOyat$RfuD89Lyg#*W=RQV_zbP|k z&kfcwRJhR_@#@-HHPf^HmBMS-6o<%spoHYL|s3WnA4X&&`F#C=D3h{)@7yYrX1w{6r`o&M}`*Sh`BPRQ~7)-mbsQo6K(-ET#jjjYvH z)^E%Q9p;#~U*Y+XTiv)I59kp+Y%e|dc zAmFrDetpi~ri`(CnFK?UU@K?vM#O8I3%xwGg zyNw5?KLb_4AAW>?nO7+4JKOZ=u99%eV`8S4&$G2y=m}3O2(p}cRD1H#)1O$mKU|nD zcvwn)c|nHv&u=;RJCEO-$tTO5RJ@NZ*P_;6Yj$nGy{*?4=B>Xzf8OJDjeIU(uiZCKR&(dl`5L;}KcDTM>oVW8Z)2>K z@Wcs6HfYu-mINKFa%VoUY2wuVsR^%dP1f7CNWQ>vQ57gfOq?8hayg^ag#Ag1pEC*s zXW#7D_V(5D`~B~=Uf0>2c+YQBbw^T^bBgT(tGt~>_qMaAg|#YF>g|`=da3?J!matX zJjrJdIc)m+$>`OE&wILGism_+0zka!wZi z88a8=np7OJ`}@fAi+7i@l49q?V10%1r`vN({S%5JEw_oA7YRKt&G(sO%(Pp1T3`B> zC0i?7M783VNpDf6gb0o89EA%@le zYOAw9bDW-@%gNKG!){q}Vs5>Cp3LJq8HU$_W$(;3mcI4;&r+bGa`F3|e_OUr*&g%r z-EHStk*q&@-|EDcNz{MmymL{#*Rq&@&VvQ|2G?Gd+_X6NT1sMa38E|J~Vr;&-jkna4BJ0FUwC%I&2OLn z>3;wGccQ~Ot<{P8lQwH5{@A<6Ms?Q$pE&tzFAq=XZa2(Hd7h7N7{BQY8*CNr@8hbgN{Om%- z@_Tk|VVo0h7;oFGUTL@9fA(p|u5%q+OYeMqcUzh5-cf1ulEZ1mVwv4De`}xjt8EQk zYIE}3wMS0>zWzuxiTqg9soJJ!EPLdOMSu6Nt?3Tur`5`(;i4*ROdw@A$2_gYWw${;}Pkd(dbZtIj>4qpx`PO|fg=pL*`toIkZ& zWxh-F$4)wCJbC^j^ZJEWA}`l}din$$3YzN+xWlG;cYJ>wP_r}cpl#j9c8S)gbzbjo z`?A;OS55t=y=nhTUf8R-{J1@S$xp~UW#IOaPzaREUPdT^j@cvEecimz>JH{Albq1xGu&y&Hw<~1*=*Qh=-uy&9{&{DA z*xVae;y@*mpk?I@-5qaE)*EiyDQeDEZqLR)rs zT@BokS-RoPqshD1KN8lm|JvE%Q5y7Q@iYU6&i^3yx~Qmd1$BDlmL>Tcih@lS6ck*^ z#1#h4#vL6U9ybCuklH6^g)}T&TwGLgG$K^Nj!;rkN_0lzK8!*W<>f>m{tGk~VK!{(0+mVdESP&$qK5oxAIQ=22?S zjL-Vl&PKO?{-baC|DT}hz31odoy{hNJ2pp)6KK zsHfL_<~}QR>*U8ZDd(3SjwnCCa^TiCsa^N0WqGYiRX<(ODyy+?w$0z;JL@I$Vy@k% zg`EFnhF|)%?4(I=?1@L(@6`_TyH%c6?OS%A`~Si^WA2suaR(;(n?L`rSM=gDk7V(T zo&0t!`p3hHZiC}Qo%4C?{Ha!PAKt_s>l4pUy1S<|g15T&zHs>OABW$}vlr7kc;omv z>sy;XUC-E1(f#LCTCV@<@M#zKz0P+%<{xVKuj73wbL=@Q>CN%-kD^RfK3&k-bp7vv zThHgKKHaeX%)jmrvd8xSsjaJjlv%dqiC9)K_pN>Ne9p&h6MB2Msx*Dl_KMHHt(LrH zoZ-1;&y)2g`%+{;p?7mP&-qPf*HnII<9ky)fzpuRifbM7G&1`}%~A z6>1gV^j1eyJFkha{PlCk@kS3-?(?0NY1~nJH}#}lFH@?%%aZ?0$DTlJ*3&NbC;Hu1bUr{<(zyO?;YxJ350e8b`M{3!>2XBR&Eb4K4; zFXecmcEq(!IcG9+VrQTE_nPZ(<5n5}`OoJqEj{&FNA_0B&;A;pFF(&4JlXisB`kEo zsT{}UtN)#r{D1rGf!()-F0Ro2`pRm92!BXx#JZ31|GeL<7oKVRv`}b$&CE96y$!Nw z-j&R`()~Bzrt5g>wI8mLpftAR)s2rerJS3O#UIxbm-$gHzt2{AUcOsN+T(?nUw%6f zyk%ATQHzQ1-@W~7@%Z)Pm@iL$bWLB~`LR7!_w+gclxvb7UH|?5wyyld-Jh(pryoz! z6d2mj8`sBN>^W1C-xhIP7B(2R| zzwmtV`JnovxjOcnEkU8@edjIDuLpszM7q3h<}^zB{FcuWlzpNqtv)6 zU|YMS|Ks1!Fa7++$olwd^nCT)2TxVD@_h+k>BG*ezn}g1q~D(RLN++2ci#i0(?5c? zKhj*%#rEu2;Zd!bUhTYU{#EfJ`}QK4j*x8|c)~1?|7-V~%Qx}koe;A>U##uwrQD7Q z^{tBy4_I;I@`>OKiq!(dBeQF{#IpMrc~rFU2%P?n(ViYZ*R4o+4siqn_9HR zq*uB{L0miM%yjYTZdWOM?LJr8>?6UCEp;N5yVjZd4*b8UA&&pq_6@Uh>0?`Qt}o3cM9 zp4sNSg8S!j$EDZwZ+r`YWF=9K{RvYg{XZKXUh(?hEZ)s#?EBstF#WIGH|xN5{(2U- zl$H5k8Gi7tk+fU%%KUih*T$pW_QtFY8ucf?n{*YkeXkZfdoI`M+AGzR>N^qvAAGyF zYJP41dMxUtqnx$O+_QVw=czt5NI1!`ATE}Dov>E8*Zd_*lV97m+A)i7_%L-UR|u%? zIkEC!Qc~{i87BMZ-kIVvXCiC!Pnq*xccSP1w2yxMW#Q$}|4W}ob4z?at#&T5V#;Ux z{}b~LTQ^=6moNck(w~w&(I)L_yl*4g_Z{7#YS|M#?cfsmd5Y&G1NRk8duVF#PosA( z+xC54lWqAoXjjVbo0H`IREh1v^K<_npO`KF$m|uvgs0!9TTWQh^Rd13X7`)>!R%}F z4zx2ad2iw1($cwipSpz{PtJAWn~h<~iw?@Ow#h2%bz1H7`6jn@YVii?N8fzdzns^LD<$%eq@~HB+u~%SL==idx2e{MGdvA70&F!tO0K zO(N$auc!SEMT3Wnx?YJ#+0VaGs1OwRusp}oDp>#Ik^R;BnROacQ@=etxv_9fzQY<_ z>*OQ1Ew?!t}Vf4=E7EAQ_)y%Wn9 zt}@x@^#6P4o;j)dH+S=0{BuZqVI2Rh^1r=znD1s5+*)8`Dw4X18q8@)YNdieiA-kSPzFaOvi@<{W~J(pR2 z*WvD-gwuWc5vCUNBGda4&MV3v+w=O<^vQeeKj|6S=J8x^EPcNGxIVk7$v+L()7_ST zjrjN5{w*{}24Dnoq(t->E(JZ{Ex))wjO(PK%>tCZEvm za^>UO_XkY4*#7+Y@|%+{O*pcD{j)Qtqmpy0c|nfc9k*-p;`UnAv<}ms#~F|5{%Srw zZ^k_N4xNZi&kvjb|M)on{KeTz<~4p?mHlD08rF8(Sz9?L1|&4cA2VIiW>zx zH@oID6a^a{e0AEN?Z@NI<%wrMJbk~|s>oK>^J~(rzW)!WguOd(`TBl%tZ7Io{ok51_;kKaJ6M+X{QR#~e?Gc@ux(9Cxmo4E z@OC9{N6Zf+X}%e(sdu^~3tzvL*W#9hnl?GM2 z-_7qFUBMZb9?VUopMW`H!t$Uj-|hMzG&aMWsXhH6>}!TaV?LE_M0ibEln{xL0va`8t=SY7zWf=TuvItCu~ReeiC?mNn{! z)$<-szi#yM=dq+?e>Qa*A1`Nk^YGijZcq&oqStL+pBDP-w)4-dgy4NUA17`z+clq2 z-p27STkE^d^7<3IuHR=kG5@L1q=4x=rfNLr?*7=m^{$1VJm>A@XLWv_K5`LMXSC1T z-)yq@36GR=zE9xQ$NkeDTmGHjpB(>3zHZ<5%ZnK(e9K;w&0lU7wa=G7v8K)! zRC!;s{Vq9gc6h->;pd{K0%JkJ>~zWqop%@etk8KI&0l8>mIvxfi5WNE2*C-NyrtS z5&6{TB#+IO%!9^jHf~S3u(*EF;R%^*ew7p}u&>##I#=y~Z-?UY%L{_TAITp4{bbJk zlZQG*J7&uzy7BDBB$H;t~(fPOTGEan4K@W z@qomYg13)O#Bt}oHdnv2LHwld8;jp*zsh0`oabN9emL;k#*|%!%jHv^uVKIW{#r)su+xpGP+hm=(_h@ccJi#3@)#|O7 z$L8aK>V_YrnLk7eH#W@-J$8+G$Smf~{NI1|I^VVi%zM8Ps?TIh_?w&K_Tl+&*AcoN=nVUUsXK$=thDn9bLe)CeNaOEf zwTe^TM(#<-Qz%_Lf6I+F7qFhqVtLKt@KEo4 zS{yp>n=edboED{*#2~BwHR)t=qx&MO*KF(U!s-w1cLmkIerc^mVNaK(Ff|_Zzj)+X zS_#p%{8RaSpRog;JiO;?_MUF4Vk1aZyd+vl$_m1g=o#r*M_O~>U0nLnlf z`t!xhsLg!!jTy@q>?>S*OC%~*_(%P{=h>x4*p5$LEb;ZV%`2w|>6abn8lP7^zIoD_ zsXJY_)!cb|bKAs?bQ5q#Ro(G zFFQQJtaZ}--v*B+b(G&Id>6-8&Ya#q}qHfTOPlXr#jPsgaQIUQU53_~*^HSG_!a zy2!cXjo;s=Z+;%t_W!d}(j38v+kT6V%T6|^t8Cah`%KZBjgNE`=Uw)mviZn`gjbi3 z)RfD*UtaTLPh`rP`woi_CNFrG@anjn%Jcp^UK~tapz^$BV^CU{pbYzw+k6u@XDdHA z{QiEUHfznfZzjEcs!9t5ISl$ddG z%7x9Ef`z)BGT(Uap3811KQ?!bwE&Mu+aBBMx_`@;_1pNZp69zU^7iF~OMkZ**QLEa z^OW_g>Eq0rm%ewoLW?VaqR-=c+%=QpzuecCPC)vv)`LEq~s;{lbFaaHX2|!rBtm)AypnpJ*y1 z9KTg2boc$zvxj1{ST}k~j`=7}TZ%XYqy!#MwZq}8#GUvU% z#aQ)}vU9chZi@?kS^WI}#4GzW=j}axBJMl$YWb>FM`k?y@pM)FAI658bB*`?Y&F}s ze^bhzpG)mHKUCCap4r`}|L)h6j?M2@Jo$KB<1oocKsp;KgR<=NCS&{r&0l#L91ak6*BxZ+g>R+nOeP^I(q1p>It> z?w3E`{|*{uIQvRo>G^fZgGH>yTi4{SPyDi_`o`zwek%DNr`=?q=sf@VoakKzCoaxT z`^wMSckz9C!Gp~&Sx-A_@2z|K;<-Q{^TbObPio}n9b9Gfw03jAo5I-vCSI|(JP+{b z%-kHcM`9VXj@r_CZ^4T7qVj%S&kn7c^liqp2S!J{G}5g;ofh%*so%2?JaD*j!3VA| z*7ucbm#Tc#`*^f0?$A4@@3#;Bett>*UdX4DbyH?>?3H=y!yVzH^zrF)b95#dSM(k zSM_f!KYqKs^_6-MuU65%^{MWw*5CNgZFx^V_M!ccWVYIxpHE{Bz74zkD?0w)Wht$t zF$>E?S8n$605ukhye!=g9N#cK?pn|$pO=pt0*)&!oW7au`&+HeJ~Ox$e>}eNc+OJR z^L=}D45t_-{F||H%j328EVszroO!pup20;n-J3NzKFwW$;wE`oxBmZq9S4TCm)O)hZz{qgCIRkjZkecy(I zssNWKQxeny-@jpWacipnD!xR9PsOqSrQI|uUl|KNy(ITfc2k3Q-U@uDBC_wG*6RKp z598Q+KR@4}68ZkggDh@sajOpLiKiD7)-6gpqm+O8?6!o+_bKnX{bC&Mbi}yDh}QgS z%1nNI_F~SNhB*DSOICItZmqIbzFB%>mb^^Xh2zbe*Uzr|n|o%r)vS_L&pBlmzA<0b z+kT|@?iXo+jO<(2c_S_LjqP_l?fG{3>q?oZ=T9VBkOVEmw29iKcZDa zf@gz$;&P~Osr6d?dYng0DA z!g{D!a=}&iOIKpte2gr=)Uka2Cv^J!|FTJM$}g`7SFo6Bsor(7zBBb@(t`!f`Rd0% z9(`g_H#b%J6OZ}cV=m2C-JkjQIY?eU_GmS8qgKOJ^P?MWna%FWob5Xt#%v~U6PCe$ESgi5*s3x< zRkOtZKipW@+O5~C`}6n9lHIdI{Vfew?ec{r10^N(6GdOINS}SAf9_X8RcDiPJ0EMp zy*-toaVz)S46u&xPWkHO{_nM+a*^fg#l7$2cvxaK{Ce@VM$fmdKjB@spG`yHi>bR7O*P(i=N86GvlqYbQ#l-8 zdT{QiH|8((XMTAt&#~*RxnoY?jt-BrD^L8i)0xhAZ2RZN%;b23fT`je zPRTEJu7e$Dx{nX0qrL|tB^Kd#%uTdukvUN^z&GJnL!r#Ei=_mW{NTV*^$ z_)}f;*HYc>lV@H3^WcARF;7&<8I{UlS-!RH$G+NHlt*XY5UnYm>$0Wra^9ML*6qha zqjy76iOUkHmPo&~rv&OwGc-F&@zIFhf92*L%M9n^IpVZxWlSo^{)Es8*~>-G7iwiNv|nRS3uJWJ^6|ohS2Bwht$h_Y!v9dqt>%)MLuBC|W;t=i_AsRGcVWF=$bP9B4P;R4ym-z$w*7vIp$C4VOR5$8hb7=TUHv+xwLBM-Q&0OL$sS0 zK0mmr{q>}-{xBA%GCli-xuCouRp6F>>8qx^v|Qf;PlNkc|M|b#Tv5grc6go2YiQ!$ zdarzqgv|M_r1kIiuGicAZuP&Ssfszxp_QALeron!dSZ6u)m^=F^ZyG)YHSECS$TV7 zTG-NaUy_eTy|Vk1ZV~!1=s>{t>I3)Hf=5%`fj)n9V!zY5&!*N4I}^ z+>K+;?(21at+;3{yLRG_hu|)IN5=_GeVxam?)&>0y61-_FEU)S&qzDcCOtH=CYpKk zs#m2SCY#SZBPrYQ?TJisQ((l?HC${Ti;`=1@JD~H7dOA-ojkjBZ?RI>8L8JLyJz#t z-~RZN<<>h-@8cZXZbqsr?uX2`xwyC-^1Q*inulp~$27e*HDSJ@Ukt+4TjbNX%x9~$ znNuEo@Xx|a^VlM0-H{F3mhN!6`;ST9Ea@B9u3DP>K6vO~@|qT&*|$^fRXOIGfTuKo-&1+Qy2YCh_^f_-{)v!iaK);rCmX&SeXhUtGfHK( zxRsV^Md-Z0zlw7H{L5jv^DgZ`x7?ylZ{Ezm+adov^;!DMQ_=svKYrz~;FQ9L7Kdfe zivDSv?U^6><36MGf;q4(C{%aIIKovy0bJM@d;PC{$EUqn?fTLRqpzDPigMQM(_H6q z=-VC#(T3xxM!)q-54<{cK0S1gUBJ)HYfkOHe<#;3?EVv-kOeO$|1H{X`SaV+q}v8> zWa`XkMXq;YiNCl8wj7w#KT&#(RbIe}4aG{1;){FgpXZ<7ApgB~>g@|$@3sdlcomWR z?a2+l75kw{(PdTeji+nCbI;(ib2?FLg>lV`9*(;#sxkTMan|R%cbH!DyFV@N+i%@B zH_C8f`5#v1OM_-N75gfBUEM@k96R`<|HFOPJnOXL(ieomJ0GHKM~N z>v6vfcYclV$>T2@?^`eaYf~D^C;s!TPQ2v7maB~wOBh|Ye*CciA6xx@i%FsXX61nf z=0WXf56_2|n@_!Z+{U?c&;6?@Z<{!x>_m?**#7#%#+RvH_WJW=q<7w)qhcd>e6IC@ zP3JwAAAjsoVbqoQSvk|rV*2ylKRQ{$^tKt~)TuB`x0gLW{bl2Uv$^Y8@BRLi-RL0d zaNjO(-P<__r^_F^^l7EVulj8D#WSbRSKpbLyYi(UC(EL^c~6uwBYBel$$HP%fBfUd zmruWXXMQndmQVX0$M*bf=c51H%W{-A{md>gIFa`C;|~t=_&Pz3Juug|EZ)EqX8I!c zLy7i}hqEL8pD9DL8BK5NG=`qVaeYPas6F3^F7=l@+%pUJ}T zH~E0v+vVll;wN|K%G`LK@GUPR`1}#BId%t@WEYvNU+4i_NZzu315a4&6}t_4@^2km zba^J<`huck<=-Cb9Y4*b*V(=3%hGDq=9q~Ir5oRSu)Kf2b=ob>iH2#t-#i~$_2%RV zN#;c76lgwHWdBi=!|=va)n4NInmmP$()$kL-}SaVJiW2?Xpx&B1Wdft62IZptHs$h z37PkW@=wMumrYNaV0_7`o5f;6lCtTO+Fb`aQl2`ozkj#w341Zmg8It`V%FrkXVu9* zco-UX&yFitE!A-E^hV=b=d%yr`ST%`XFeNq$?7s!qh;;$kM;VxnYaI}kJwR_!)I;Z zle$#Z<`X>KOi|SlUUOWnq4J1O)dtNKg~9sbbKX9h)9iOlU&sA&lksYeZ7CNd-#)+P zr^bHW#qh4|uV<^87!z*%{QV^(>dutICjxKE$g#3tce$uI!{sj5n%LZ@w^tWMTsm^@ zlck}~tEW#ryPH3@HWff?ETxB9f6~GjJD=+0n|=N8+jeHou3JZ0x|=!WT|U%C#c|gj zzwc0x7Mgf2!(RXXl*1o#1$$x>?BDgQdo>|^`Hr6#OKQv~ZSQwlEVr}f*69U(x&jwI zJ-M;t?N*DZy^=?d_^N&9E%|t6`NTiTS!&kn_^0%$_}EuK0$I@VX>014q`7ySRF5t3 z><~RuFZJMY;hfKoDx3E%o!-rFCwX3BLdD+7Z0_GNEa@SlEL%S{IW=E*zxdl&UD`Nn zmpjusx!H$P+2{JiB|W}i$G&~9;L*9(2~Sq!+B z;HY>Sl6i2|k>a~^O1oz-5q!s$|K)h8-?!hocj~HC*X%WZlXD|~)BXI!g56G=``6e- zsT|n0#X&uSlV#PsU0UsVuNO<~zjN&1gWufecX6?odRM+p$XmEvBC6KL?$BB1(@G~e znxA$nDFyZF+|B&^!sM5&Rqwa-kZ0j`V7sp__L{~R_T}1*y=PC}uWL7MduFhAx}z{t z;}W~Md-fPyaen^eQ?7n_`_%WBe1FY*n3Qw*z_z>@6TI*I$+#B9HH~dvwV&Q~wL{GN zZ=L+mesl6?9_#fwJxc=nW8&VYURc#Q@qXV!vx>yHgWI1k=QnscOXjS5`(Fu`c>*^! z@0|aO_sth>J4FM12gsHJB_$z0t=!rJ_rf3jcr^9Eer=&Ah8!$``+jOoOLX63bMxlm zJ%V<#Zum@lUt&<}$a345>GT~w9}b&E=Z_qI|Gk1?$DfxL`@V~V z&Zlk4i8Glz{ljdrQo=xcR3yRbIR^CHUic zPZyU%S0OFGS?k(BrT+=eRgko`vGan7anlpuwAO7?#WzIlyl~L6Tlc5`tIcA+Y{A8U z)d!9Dnw4RvI4(()t*h7Sd#%0NSt~Lw=*Lv)7NLTrsYtJ3)ujD+s2-mmbqAVIU*=ljMhnU4+>76@8T`hK-U7u=jV1x;CB zq#4$wZYZ0)`OxOFPxte0c<&37yuG%y=kcGKHP>TIV=Dy(SIQln6RN9}`2XqsLk-bRhepi)av!^p!8By#C;mx{7@>&;@S=71qm*FzUEeSd~Dj?@XMv( z?JSo2ytu;}n?gXkKsd-SbQ4bitby>v1$pJu;-Kk_V%Hb+vojQ@o4E7;-r^JB;<9AY z(Gq#@xoUhe?BW}hE9GZ+Ua_ubm^kr4++SAB_S⁡6xL2d6iy7>eq{Jq|DboPJEs% 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ⅇ6Hjbk0^?{D1kzH7{O1++!Q~<)=~K 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

Ea$G9vBmpkb(T~8^&)-q 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 literal 0 HcmV?d00001 diff --git a/colorschemes/default.go b/colorschemes/default.go index 48db2d3..de65c22 100644 --- a/colorschemes/default.go +++ b/colorschemes/default.go @@ -9,6 +9,8 @@ var Default = Colorscheme{ CPULines: []int{4, 3, 2, 1, 5, 6, 7, 8}, + BattLines: []int{4, 3, 2, 1, 5, 6, 7, 8}, + MainMem: 5, SwapMem: 11, diff --git a/colorschemes/default.json b/colorschemes/default.json index 5d26a8b..99abfaa 100644 --- a/colorschemes/default.json +++ b/colorschemes/default.json @@ -9,6 +9,8 @@ "CPULines": [4, 3, 2, 1, 5, 6, 7, 8], + "BattLines": [4, 3, 2, 1, 5, 6, 7, 8], + "MainMem": 5, "SwapMem": 11, diff --git a/colorschemes/default_dark.go b/colorschemes/default_dark.go index 15f7137..6070985 100644 --- a/colorschemes/default_dark.go +++ b/colorschemes/default_dark.go @@ -9,6 +9,8 @@ var DefaultDark = Colorscheme{ CPULines: []int{4, 3, 2, 1, 5, 6, 7, 8}, + BattLines: []int{4, 3, 2, 1, 5, 6, 7, 8}, + MainMem: 5, SwapMem: 3, diff --git a/colorschemes/monokai.go b/colorschemes/monokai.go index b3dbc23..445f054 100644 --- a/colorschemes/monokai.go +++ b/colorschemes/monokai.go @@ -9,6 +9,8 @@ var Monokai = Colorscheme{ CPULines: []int{81, 70, 208, 197, 249, 141, 221, 186}, + BattLines: []int{81, 70, 208, 197, 249, 141, 221, 186}, + MainMem: 208, SwapMem: 186, diff --git a/colorschemes/solarized.go b/colorschemes/solarized.go index 2ead4df..3ce9997 100644 --- a/colorschemes/solarized.go +++ b/colorschemes/solarized.go @@ -9,6 +9,8 @@ var Solarized = Colorscheme{ CPULines: []int{61, 33, 37, 64, 125, 160, 166, 136}, + BattLines: []int{61, 33, 37, 64, 125, 160, 166, 136}, + MainMem: 125, SwapMem: 166, diff --git a/colorschemes/template.go b/colorschemes/template.go index d303e4b..f410e61 100644 --- a/colorschemes/template.go +++ b/colorschemes/template.go @@ -30,6 +30,8 @@ type Colorscheme struct { // should add at least 8 here CPULines []int + BattLines []int + MainMem int SwapMem int diff --git a/go.mod b/go.mod index e2f7ec6..e0dace1 100644 --- a/go.mod +++ b/go.mod @@ -1,19 +1,22 @@ module github.com/cjbassi/gotop require ( + github.com/0xAX/notificator v0.0.0-20181105090803-d81462e38c21 // indirect github.com/ProtonMail/go-appdir v0.0.0-20180220133335-7c788d1b45c6 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect github.com/cjbassi/drawille-go v0.0.0-20180329221028-ad535d0f92cd // indirect github.com/cjbassi/termui v0.0.0-20181208033036-e8dd23f6146c github.com/davecgh/go-spew v1.1.1 // indirect - github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 + github.com/distatus/battery v0.0.0-20170521010419-916919eb43bd github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815 github.com/go-ole/go-ole v1.2.1 // indirect github.com/mattn/go-runewidth v0.0.2 // indirect + github.com/nexulh/batmond v0.0.0-20180213215845-395ac7fdba8c // indirect + github.com/nightlyone/lockfile v0.0.0-20180618180623-0ad87eef1443 // indirect github.com/nsf/termbox-go v0.0.0-20180407224525-3e24a7b6661e // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/shirou/gopsutil v2.18.11+incompatible github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 // indirect github.com/stretchr/testify v1.2.2 // indirect - golang.org/x/sys v0.0.0-20180406135729-3b87a42e500a // indirect + golang.org/x/sys v0.0.0-20181221143128-b4a75ba826a6 // indirect ) diff --git a/go.sum b/go.sum index b869d58..f1007cc 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +github.com/0xAX/notificator v0.0.0-20181105090803-d81462e38c21 h1:moSC7ACaTejHmVRRwfDTMgByRSwjg2vZooncdWLj7o8= +github.com/0xAX/notificator v0.0.0-20181105090803-d81462e38c21/go.mod h1:NtXa9WwQsukMHZpjNakTTz0LArxvGYdPA9CjIcUSZ6s= github.com/ProtonMail/go-appdir v0.0.0-20180220133335-7c788d1b45c6 h1:de/SvQsi6Oou9TJYp6Kp17S+JjXGn1w8XVYWFlE0z/U= github.com/ProtonMail/go-appdir v0.0.0-20180220133335-7c788d1b45c6/go.mod h1:3d8Y9F5mbEUjrYbcJ3rcDxcWbqbttF+011nVZmdRdzc= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= @@ -8,18 +10,27 @@ github.com/cjbassi/termui v0.0.0-20181208033036-e8dd23f6146c h1:vcaCtK8ObawtpQRW github.com/cjbassi/termui v0.0.0-20181208033036-e8dd23f6146c/go.mod h1:rqXckrwz+i0fH/zNwU6AdBNULHwmZsgehnSlhKP5i2Q= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/distatus/battery v0.0.0-20170521010419-916919eb43bd h1:rxw7AZpSwNgPPFdxDNSwQ+TfvOjmSGDK6tlpY7vw9bw= +github.com/distatus/battery v0.0.0-20170521010419-916919eb43bd/go.mod h1:gGO7GxHTi1zlRT+cAj8uGG0/8HFiqAeH0TJvoipnuPs= github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815 h1:HMAfwOa33y82IaQEKQDfUCiwNlxtM1iw7HLM9ru0RNc= github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:l7JNRynTRuqe45tpIyItHNqZWTxywYjp87MWTOnU5cg= github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/nexulh/batmond v0.0.0-20180213215845-395ac7fdba8c h1:Hiq+wfawWPyyX2AVpIhEiVsoKVQdc8zQwAwiKiVZbTI= +github.com/nexulh/batmond v0.0.0-20180213215845-395ac7fdba8c/go.mod h1:Ho2yA2Aa5zD+GEgmhFdLLpHVFoGJXF/Et15iRydTFtY= +github.com/nightlyone/lockfile v0.0.0-20180618180623-0ad87eef1443 h1:+2OJrU8cmOstEoh0uQvYemRGVH1O6xtO2oANUWHFnP0= +github.com/nightlyone/lockfile v0.0.0-20180618180623-0ad87eef1443/go.mod h1:JbxfV1Iifij2yhRjXai0oFrbpxszXHRx1E5RuM26o4Y= github.com/nsf/termbox-go v0.0.0-20180407224525-3e24a7b6661e h1:w2JDz0jtOlFFdvtUXISyYPFwmbZnwKL1mRDT0tKDvuk= github.com/nsf/termbox-go v0.0.0-20180407224525-3e24a7b6661e/go.mod h1:IuKpRQcYE1Tfu+oAQqaLisqDeXgjyyltCfsaoYN18NQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/serussell/battery v0.0.0-20170521010419-b399f895029c/go.mod h1:0eSBUZHzM+0VCcUzFSkpxGxOg+jkMTT2cr4U/zupwsk= github.com/shirou/gopsutil v2.18.11+incompatible h1:PMFTKnFTr/YTRW5rbLK4vWALV3a+IGXse5nvhSjztmg= github.com/shirou/gopsutil v2.18.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 h1:udFKJ0aHUL60LboW/A+DfgoHVedieIzIXE8uylPue0U= @@ -28,3 +39,10 @@ github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= golang.org/x/sys v0.0.0-20180406135729-3b87a42e500a h1:DwI0ihryIiWlRUKL/ii7Snvn4LiL9TvMoVZq3qMbffg= golang.org/x/sys v0.0.0-20180406135729-3b87a42e500a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181221143128-b4a75ba826a6 h1:IcgEB62HYgAhX0Nd/QrVgZlxlcyxbGQHElLUhW2X4Fo= +golang.org/x/sys v0.0.0-20181221143128-b4a75ba826a6/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +howett.net/plist v0.0.0-20181124034731-591f970eefbb h1:jhnBjNi9UFpfpl8YZhA9CrOqpnJdvzuiHsl/dnxl11M= +howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= diff --git a/main.go b/main.go index 60df7d5..fc6df73 100644 --- a/main.go +++ b/main.go @@ -32,14 +32,16 @@ var ( zoomInterval = 3 helpVisible = false averageLoad = false + battery = false percpuLoad = false - widgetCount = 6 + widgetCount = 7 fahrenheit = false configDir = appdir.New("gotop").UserConfig() logPath = filepath.Join(configDir, "errors.log") stderrLogger = log.New(os.Stderr, "", 0) cpu *w.CPU + batt *w.Batt mem *w.Mem proc *w.Proc net *w.Net @@ -61,6 +63,7 @@ Options: -p, --percpu Show each CPU in the CPU widget. -a, --averagecpu Show average CPU in the CPU widget. -f, --fahrenheit Show temperatures in fahrenheit. + -b, --battery Show battery charge over time (minimal overrides & sets false) Colorschemes: default @@ -81,6 +84,7 @@ Colorschemes: } averageLoad, _ = args["--averagecpu"].(bool) percpuLoad, _ = args["--percpu"].(bool) + battery, _ = args["--battery"].(bool) minimal, _ = args["--minimal"].(bool) if minimal { @@ -145,7 +149,12 @@ func setupGrid() { ui.Body.Set(0, 6, 6, 12, mem) ui.Body.Set(6, 6, 12, 12, proc) } else { - ui.Body.Set(0, 0, 12, 4, cpu) + if battery { + ui.Body.Set(0, 0, 8, 4, cpu) + ui.Body.Set(8, 0, 12, 4, batt) + } else { + ui.Body.Set(0, 0, 12, 4, cpu) + } ui.Body.Set(0, 4, 4, 6, disk) ui.Body.Set(0, 6, 4, 8, temp) @@ -192,6 +201,21 @@ func widgetColors() { if !minimal { temp.TempLow = ui.Color(colorscheme.TempLow) temp.TempHigh = ui.Color(colorscheme.TempHigh) + var battKeys []string + for key := range batt.Data { + battKeys = append(battKeys, key) + } + sort.Strings(battKeys) + bi := 0 + for _, v := range battKeys { + if bi >= len(colorscheme.BattLines) { + // assuming colorscheme for CPU lines is not empty + bi = 0 + } + c := colorscheme.BattLines[bi] + batt.LineColor[v] = ui.Color(c) + bi++ + } } } @@ -212,6 +236,10 @@ func initWidgets() { wg.Done() }() if !minimal { + go func() { + batt = w.NewBatt(time.Minute, zoom) + wg.Done() + }() go func() { net = w.NewNet() wg.Done() diff --git a/src/widgets/battery.go b/src/widgets/battery.go new file mode 100644 index 0000000..c087dd2 --- /dev/null +++ b/src/widgets/battery.go @@ -0,0 +1,64 @@ +package widgets + +import ( + "fmt" + "log" + "math" + "strconv" + "time" + + ui "github.com/cjbassi/termui" + "github.com/distatus/battery" +) + +type Batt struct { + *ui.LineGraph + Count int // number of batteries + interval time.Duration +} + +func NewBatt(interval time.Duration, zoom int) *Batt { + batts, err := battery.GetAll() + self := &Batt{ + LineGraph: ui.NewLineGraph(), + Count: len(batts), + interval: interval, + } + self.Label = "Battery Status" + self.Zoom = zoom + if err != nil { + log.Printf("failed to get battery info from system: %v", err) + } + for i, b := range batts { + pc := math.Abs(b.Current/b.Full) * 100.0 + self.Data[mkId(i)] = []float64{pc} + } + + self.update() + + go func() { + ticker := time.NewTicker(self.interval) + for range ticker.C { + self.update() + } + }() + + return self +} + +func mkId(i int) string { + return "Batt" + strconv.Itoa(i) +} + +func (self *Batt) update() { + batts, err := battery.GetAll() + if err != nil { + log.Printf("failed to get battery info from system: %v", err) + } + for i, b := range batts { + n := mkId(i) + pc := math.Abs(b.Current/b.Full) * 100.0 + self.Data[n] = append(self.Data[n], pc) + self.Labels[n] = fmt.Sprintf("%3.0f%% %.0f/%.0f", pc, math.Abs(b.Current), math.Abs(b.Full)) + } +} From 24ca528ceffd17f36975ba967be9facf1a95b513 Mon Sep 17 00:00:00 2001 From: "Sean E. Russell" Date: Tue, 1 Jan 2019 11:16:51 -0600 Subject: [PATCH 2/2] Update README with option flag change for battery & adds status bar flag. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 959b96a..a733f9d 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,8 @@ To make a custom colorscheme, check out the [template](./colorschemes/template.g `-v`, `--version` Show version. `-p`, `--percpu` Show each CPU in the CPU widget. `-a`, `--averagecpu` Show average CPU in the CPU widget. -`-b`, `--battery` Show battery level (defaults to false, `minimal` turns off) +`-b`, `--bar` Show a statusbar with the time. +`-t`, `--battery` Show battery level (defaults to false, `minimal` turns off) ## Building deb/rpms