From e4d0191a88b934197e3f1ed8fca459ff0b939aaf Mon Sep 17 00:00:00 2001 From: marcusDenslow Date: Sat, 12 Jul 2025 00:58:57 -0600 Subject: [PATCH] reworked monitor command the monitor command now uses ncurses for a better ui experience, with this change i have reworked some of the code and the list is now sorted by CPU usage. processes can now be filtered with using '/', the process list will update in real time so you can find the process you are looking fro faster --- builtins.o | Bin 85304 -> 85304 bytes line_reader.o | Bin 53128 -> 53136 bytes shell | Bin 581960 -> 590104 bytes shell.o | Bin 48688 -> 48688 bytes system_monitor.c | 1116 ++++++++++++++++++++++++++++++++-------------- system_monitor.h | 23 + system_monitor.o | Bin 30320 -> 46032 bytes 7 files changed, 801 insertions(+), 338 deletions(-) diff --git a/builtins.o b/builtins.o index 955742f7572d32b2f688dbcb8e51b39020e54798..ab12eaf6bc3b981357970d65e4b97264f29df2c9 100644 GIT binary patch delta 1742 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 diff --git a/line_reader.o b/line_reader.o index f36bd1adc450a00c982a92f422791c160c4bb391..7c3f7f1bc02f3156c39fb1a4439030d93d542f50 100644 GIT binary patch delta 9657 zcmZ{J2|QHY|G#TXMOoq+DF#`yOehtJvJ}aZs7QlQs5~u5ne2*WoRr;6J(MUkin2AO zvQ$V~R5Gb(vlNmn|8uXI?{k0tugSX7nE{EIvL zcna7>bj$y~;d(YuQ!^HghR*3S0tjorS{uIzHp}@j)%@VZA~}|~W+6XpnkAtvgYXL> zEDaqEL4JOOwPl$YKN8FGG)O@B$KHW{LnYGlcT-czpIdNj#IX*?8kXkr8bQ{lRm&0D z@qknpl4-xoyI-BZ!rz6roJ(@tzIGPLYw5AmXI@FW3N?xHFZ8pStL0s9pLRaN|LZF8 ziwCRknZ0%OleuW9*I}*p$Z#8Z*IHo>y7zkDr$%~{)U&+?stF1`zm0mT%ir{E3Tggr z(zCL;|Ce!3clAfd0`Vk0V{&f6z?JJ;&u#aljUW8Sp+z_HeCVZs^Z@gmxtAXtIr6PT zi>};aEoLE>-n;CU^w>=sWebD%y&+p~9!u}5-Ckq!>&%BC+S%@dWlALqg`(f8Kl&e< zdYEcfTddSuYbZ38QT2p$w!YF2XMj-z1HY~xeAq$6|{U2PbPX>3b=u{Q7L72Rbbj?sxn#M}j^cznQiDC-Kb0bMyR-K3e|^8d=?RrT z^P)mye%zfGjZYfwbR$0f_<6m}iXqfKEcH@yY|HW}!Roi6`8{s_E0(>`oAIkZHF$f44YfRy z9TTHFtAC(%_3bdx+kNw1W%qR)NK-Z06>x((pY3Ju<>=+q?Eo1085tj+9ZKyoIF>nj zbMSFy^~2(U#YaM#emh-wdvxmejn>@RH>Sq74gQMhpiO>zNh2{wa;Me~Nx!mH)l(ab zwa;wLT^Kp`Trw?=xyN^G?!^)bKi@H%lqre5zGF?2655Li_egYGGn60 zbek~gn-s+;OKhG?#{!*iohq`uZdOVs6E_-44pYyXi6XgQt>5fT*{3raD|yIQwKuXX z(9g5$jqWU;mK2&r?olZ>6S?S*HJU*}@uRs*u1J;&+ zw<9%?kDgZ72Zo(mE&H(IvzMj(hb>2qEmz)OoGm0AG8;XDrk0%9Skc(j9k0DP(kt_P zVZ`S!_2Jo{f$*xV7TUom^NP)0dtHogX1u7bdZE2w*1J0@qZON4{#?CurRJgaGn*#b z@FBN@OHFjBd)ya12j1V5NWbF#ZE|Z_DZE{dqkepzzJlIGn|1QhPGR#e70oS(E?A!w z^U3$eV@`j|k7{|xm^)f3zT~EB%yl$tdhMdfp)Mc0NV?Hf47)g{k9Kvdw`JLm#tGM- zo++(jNu3P^)%D`@dbFi(Z`zx&Rr9fqeC{$m`2*(rqhrG7$v%^N$d*$*vpv~!_n*~4 z1Fz@hkhH>*2IkJ0FV%P8Sen0&3;Eljf!F(eUM#bfa?^3E@UmYY6%}V|a>id`L#~B^ zk#v`Kl;y~`iF{XP}nhM*ND2|Bv?7XeNSNhK*mARdMo*}Elz8JKc7Kla# zgf!Nr9T{o9v|2gP6UZrW1|K)JG{^e1MO8k1l9c^@Xu&W)=y+%Gp=NJW08KjVkzRbs zb+5-p{>7x7X?5HBozi;h6&GdrnLO5uTcjAL)22oZ-W>cza=(jEtV=nmbz{pw3Mo%x z%IE5=RHi?J<=FfuCp|>OX_aw{MwfC^^S!J(mkZyFyz|peSk$f));{{u)@gi)K*WOs z*B<=z$!HADT;i^murm71y7pbKXjgkr6{-JD%I*{0QvKw+!^h?CHhvcAC``GLARBhI z{6}7RyJx}0m5vv0IquLtHzr{d$ol8sPNzJ9Q=b`z*EYsIaHuW1th;$jo{RLbcK#a2 ztb^+9hgJ^fyW2W7 zHxwXj#RN^qU)}Dn)oNR_Y(5Fml_$;|p=G5#VefW`*ZNYY{y^^lr#P_URqu-)%GD&5Lnl@*LzqM~09=)apq-=N?#(y8Duq`0 z1-Hq6*rt3JEL(Nv!JD=rZRIDX8j$E#hf-Bd(o;f)G(N9$Pm(R4J zt8AHaU53c!6~@jB>sY4^#>r&Xqc;Z=+%zpWExuY=v{lu5uMH#gq@2PNk-^Ys!NN5D zLf_mqH0SeEjN zMtrfpJUJwivpaTAZA47qYmd_|}*Sk$n>{aSkR(OehG92zWx47Y1(C{xbQ}XJ1CHK_p?;KLz8Hq(_ z%Ur7$Qz=&7NqIPNasS+%i}K?wX4{|Fw%lC*_;8f6je5+Zsvtpz0EiA*jtN$N)4K)sH@Xx`C}6)71PZI`F$)&%PU51>qa`xrZr7bQuqVr zla}74DG2Bb-)j~tS}W(=T%?qD`;_E0_vaL!{#z=}6Xt7Lmvrmh`z~zP@%24g;^FaT zbX5qu;(=DKnP0i}c$UOC_1v6(`D2$%4=OA^zj#;igxjQC8!ck$aQfx`Hrf)$M*Sm3 z0jb|^SnkjD50x=F`>|`?psasEr{+Av!Fu)Uw4)3O|JewW$VWo)0s zkYDF|+uZL*s4kYXP%~uuoYY)=QFW)3yVk&${P-StypkV#z0)=}-<0w#Q8lz*Wz0fv zO8K>#XezyydfRwTugBV)jIx>$nuj>0pkX5VNJ3pRCE;vPbViBpsmsM__K(rPXYVYY z*JozlXUnZB-elr>H@saWQ|m(Ik|K+6tJEd28~S7{UH7=}i9EM0wpYaKW}c6jM4bDj zL+if0j-B1+lDqq9V0wu2#R|hczJ+_^N6^~jk%a|ctp#eNsV4@@)9=gDG8+PElQ|!5 z#trtgzqEUMmb&X%uY&LR@z_=M*Oa%Ho9t#Ekt*!nb3bDcRY?|Wzp5*irjx4_Aqt~#dBu@I$iI&%E^V);HEF5UoDAt-5l1}i#E^34I%5ERkHaV?G>U=VtCV>T&KW?F`&(tw}wsp&C- zYeWGj6h+hl8KMquTLFhql;ns07eygN1!F7{3(St9NFpeO%EG@WS$MW)Jaap4_u;V< zSS(3Eb~-@2p%xnc(A-Vx3RC@kJ8G&g?1zZ-JogSgjGJu4kq}wxM<+}M{^TQ}Yg`2`{%%O?lZ!GU#U1V6m4gh44}H3;l70vilCkd5N9 zyv$3vYjqk(97jo)39-camIE`$vS-BdcIG1xbR0#VV;bZ)U_ulFlyDT00j)4fej#iE z4qinSZbegoK#doUVYvPzphC}i3`xuxQR>{NLO_S?JuZtmiG4NzHe_GSh~@S95e$Z- z5`8mSK%t>2G!X;=4m1>*kE0eaJAon;%qDGwFT1dT6(erGZJ-pg9$c0;JzNSQ9B^Q^ zi+G+2Tv_uM!|uS4E)_y8mV zmDoR%1!fT_5RVW+A^|l5MK0l3f#VB6hn}~XO%h!EU%$i)&OShnM3HDP2$iY80on}Q zlaG6fanEfW?}7-(zQpZrPzvoYxcvk7BLIm;ky$_@3Pl!zAc(5K3?c z5*yf>X~GZhL~z12Zg`Y0uG~*h5|3dxUL_i@l7{Qy5rg@QaQ}7O{{YYMoREQ7>kVK> z!;3b7T}9|*78r!Av?6rDG4lwh0CEh9Y`}3lhNMtMT=@UZh=#NI1eUnw;-D1fQ3cFc zY-KRp8n>xHA{He@lK;y|yvWmWmceCtyUK({VHR zFA9)2l(dM;@~TX0`S^?hB@RWXfDZ8pt~~Y^WhSN}-TOgD(ksQewYsXap(OQJ;gMnVL~3_ zJ`o2JCsAZE2s()Z*OTJF{-g-94Eu(d;J6W(LE9cMAs)st7DG~=%70xGcV!{YJ|(ck z{Q_706pA?Z3Yer zD5;&x^44j(4*c5!9y>&cC1#$&JA|v1h+P#pFb`REI+B-%x89n##t=snV3vrIY-cEW zJKYfk!E8RbG6*oC^5|cbCvfFiT=_3v{mKlb95-nrpqz$toWb(0Pu+kD*&j1lUgzT& ziwFUSBot8rY^XF<`@eHkV zdB4Saz$^uoSUHmg5h*CJPZ2?E0W$?f;O>MNi6axVLi-YKKLH3p5hFl_Xa^_|Jpdiz zUfgp4_k`k}XdDv(8?qO0`zjcOb{TG0VSZAR*8lC1cidWm!&wyhh${#1s6TjSQBZmo zC80~Fqh=nZMSugNR51Xa%D<7XH9veuAC0-Yf;IYU4 z5}S<2G6=E6(5m@4U zPXab%(+MmwmH`GKdzruzf3s=<`8-PMB(TI={olX=va@uiyW*`RuV-lxaUMI*N+DX~ z2=8Q}9RfHI!*M$gNTgx+!jyCrSpv+UZHC)cm`&QH``>(tGl~FA$R_`V%>}KH&EvAX zuBJ2b@zr6m$RoT~FJ7w;w`T!rI!cnk%D};k;_XR!K!@yVE{l1IyJ8n$L-z1rV#Bal zBm>hRckwE33Cj5}mjzZ5j_<%B10@X+SVQRLt>-w1fGi0s3?#SHv?}4uv*yo1DKE%!ji(lV@J7<|0k*(r_6>n0#&!dG7P{dpfhF!9r!>Ymo_lER@%$0T_g}))QD_Ee}A>MiF?8hnRum4NwYg_poO5M;9n zvDhs(FDJa7L-r>j7Q2V!{oYT3R>;oAHXj_kS@0f>RREHUBKm*|(F9N+S_3*nN6bSy z%#FfkLA<`jVj9vJ0!w_Qa1F3whNn340|y3*ka08yWClvwfE`pgc%6t&f8}$*$q&;V^WAaUCY`3kl{OaM%Xa^N#WS3s$> zf~i9xeh2JIUHGzdu+jsm0S;AG$Z?PkF#vF?P(%y-uF^$}fkw41@{_f#dj8!1y?C`o zrWXdAI`-)S5%t)M*Yx_$*k74GH>^M^0J+f=)~7-o08AV?5JdpF$rNb;REP%v6JjIa z;5PY@DKZAAk4$G0Tm(x VFd^Cl4#X}%ZZ<_O18TF{{{!{^C@=s3 delta 9712 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 diff --git a/shell b/shell index c46f15681a0380e72ecf85329ae87c840f218817..9ad45f1ddd9bda6e67bc767cdf65fbc672b82bd6 100755 GIT binary patch delta 136942 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 delta 127238 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 F`hVoaZ503j diff --git a/shell.o b/shell.o index de0115f1413cf6da62a896e3d8948056e99b5828..6eb9aa1d8eae76b9cb2e805a0edd9a2459fdb5e6 100644 GIT binary patch delta 3024 zcmV;>3orDr`~tB20lk zf7+8CGdzDO%`#>&Ey(!KIq<18mX{mse}AIq`TY|3=zmEz^2P}U0L?P3uB|&bvKR`f zA+L^(CW&_Fn*q|4kj7H}j6%9m^&d)aRsHW5^&c*>c_ib@2P=H}P@2>FskEWNY z{zwMovx9`5s`RZ!vwr`j8t7YdHBP>Ue=_h9)DwRo#h$q__KqB4*`*(WvY9K(LEx2y z`*>f&Fue#U1xO?kyc3iO41>Qx{u_lz0yKI&FmJXY1_b5@mZ{N!3q!yqNMIoXkHAF; zQUoqWkRxyjf*AxBA(%^GF@l8zmLO;%uoOWvflCpz61WV(Is#XeU%`29Ah0}sB?p@c ztU!O(x1WpPN(8A9gLEyytGQthfmPvGc(ap0Ybg{#fi*bhZUSqgZ5;Fy zxXF2gHvi0!n9W+pjxzB5K#Hq>yr?{P8NpE_Ngfn ztuqVvGYD`^!^z~0O!iad>R<_{v5(nU6iMy2L;@liH)Y9eL@E%N1hSL0H6JL6dftR# z$di`fT}@1aPQ^!(iBp+sSL@picVsYLMI8D9WJ|v* zj#v}$T+b`Fa{RQ-0!l`q1hAWOkS27~QDsmWegRxLCJwI2#jguU$BF16f0nAi-%4bb zylSlLlpvThrUzhuXx-y#Xnh2VPJn44Kfzu@46G=p-t>^4MsG%l_*n6;$Cu;L?e5XV1!-K#b+vRvmEPbsaTIRnpLP^mxA3Na0Yd2J9UbE*(;MCEgQ8#7 zNW*sX&u$vF7ls|=ANbV|s2~*3lNvE*Mq(V4gRuCfnX-I~Q(u$cV zeHNsUbdqL&KXn1T4pP`gI_~C5oTA~cQp&2(Lv;Xbv0phC`#5c-OFXNH=M}^=Mm#Ht z=jFt+lz5i9n8BMhOu|*RoR`G2bQEuq;$qz)8uD$>!G~GPBwugIpe=6v_yNGAkmZK;yb!qn~9FNp~ewgaxmV3xe5 z?pJdX^?AD^vI5Y|n;ii#8WD?Jv{cy`W$(0fK{|?P7^iR=){HY;q%*uv({=--x7r< z&0f&&MSZhWg+9QLjyPf~kaXHPDE*xycN#qtXc2CuMflK}nEHlgD0bZ9-Khg)7QAq< zv_l<6y*nXs4VU7uMm4MvN5FYU8JcOJ!Hv>@)x&3_Itw2SP^%3e_23fcKkWuyA4cJS zKo8nJTQtj$jX1IDr&)d?@c`k+r2Uz0<+N6(c0PA%cCnX@44J&! zy+Dx}Gb)J8aq{zu#A80WRib?^Dh9oOYSd6l#(S8Gah6sT{{ZqxnT2%fg>`Cwx@Y|9 znhh6Ay|7tnH~U#xVU&{gHvUb5@T88nk0N5p`Eq4qzLR=2E#KK*ssUYAEMe0Kfvs6M zkS{@jV}vg*1B0d#m9!y|)zzgUv#;s#gSZby@`~uynhN9hdMQoP=c}{DEAy6Kh6h)n z8R6TyDCm3gh(FX*c$*Yj)$o;nej5I$i#6%bgG8}hBicJlk%UFLGz$0UeVc~`iz8&? zN}Bki=3h^d3sS?q}GrB_t9ZKKq$9zN=mAZk6O1*C)#}}C7xH>L4-lr!8NAvcs z4z^3jc)1IlZ

7>_B)wl`-%`_b+Opqn_{n4O_b3l@#t@)N1Ll8=}Jhg(i;veyX_> znz$MUBu*0knCxHD#Kw7lOk#0z>?eFu6IaI&jelACA0a#@{qL7JA+92cD+zxlHmWv* za3AS^Dd+!LufQq72MC{%`ca7mzr%#j%J~oH)uLY}+I!_&)MFhOYt(_Ag_zV=!0IdFXRHrHtJF%nbcnhpNU!s+M9;#v~$1#CmSP7CirgAw6kz2*Tgv+(gz|J*z+E;w`hwjS24 zrQpvEv(PVw9Mn?q(lrZ1$NV8ri-(cfxpN2m0c~otFmMci?hgFp9j2u}-lO!-g(p(t ze-Q?~D5IM6^)Fo}rzOqUg%Fq))#~8Q%J)^9N7mh#- zZ^VJIUqDZPoG%35h%{3e1jju{Esv7mn>Ng06i#l-K^D%4XYuJC)c(nKGYHA}&l282 z83%+34iT=-$Q95iq){2tgR&}zJ2Mp0Xtg-^(eq((3v3|di7ScC1h}X8!Wmbdo)Vt+ zq>DZ6o#1J&@`QZukzU?aUj8Y(+*4cZ<=zQi?w#m=WsCH3RC&3ig1l_W6noh=!OOOZ zQLQhI>OSS^A>nC#PI$rO?0kbMP-RK5ikJO`mYDH> zku1n(2MIk@>06Cf`2Ck^pl{99IQbg>$-+laPk(|Gd*+7NJ93C+$3FsPGgp>@z$*#& z@xF#(dJ#|xkW40dCnysb27iP6HwuviX!Lks-fTk*2+R*GQ=f)Lq0&ST)I2a+Y9@*_Dup#t0Zw?S>PwwEF!vr=W)#C&@gWu+w6ST&` zKnB(c_d{T|TaN4A#Pt@4aUFpbt|J#N`;aA76iQgcV-+-Nc z&lDABS35gZ`Puc(J|@f0o*jLj$?~($b$`xe`Pp-v2YFLLV6O8+CTr227lQQG6JMB* zuBkBXiyWu}DolHE>*7=)&+dEaE7g*_$tYC(T$Y5Wu&lj^dx#UnVq}ww)S$)jV#WaP)Ogu`b55RxWy2sVf`Un)A0MkN#g1v?qSW!;B=^;Oj-i#3Ovkq_r3uuu0nMOPB ze+5I(Vr9WtP&kfdaDNJr#T`Yn#Hc7}mRPP7syt|?H@epcMZdI> zhVAB`-85`33_Hj_@T(tGW3590IjAZ5J>_6&1g1dtXSlEq*&7U>AeE>Ksb>uetELiG zPbJJvC9IiBSet@f>kA|BNz`GJycCjyjjB}TxH97NjytO@n$J5)*YfDcYzK*%vvV-dP@dvvC?E5>LlY)5W~fX zu~bvw*^4k8r)-%d3@d&;`a_HA%^tkWJ_QTt;Cz3?<$PS$Pjn{~o=ER{qCPDw(+NFh zHSko;M+4hHr_<5FQ~Gi+{9KLCJ+8ZeI;B|0X8=-*US0PMF1AJuVO+6A!?ha(<5|3; zKLj&=u2#I}J4ogU&_97ZU|*8zvD6rsjQOe;0y2$r-U-VM11AOzsNIgfzEpu>Sx^Z* zi!^@{5hVu! z)H)NgQB|trxFu@b`D(WMjW}YXGbvadWXykp%a$zrOMAHle)XNGf-BEjqe*>B6rMDD zLBALE%~BQm07E+Bh^;`@8gddakXS$WsTAkYY+^N~cUN*91@^1G6 zMP|$>Co;#$&nps-`Q%oL_PMAS^s0YRLn#^WVJgO1T2YLz8#$skL~h@d__Xi#2GPcV z-e&d(qk-t1?e?8Y8?JxPs3rXe-5{B4(#5_os>tNyZuWnO*`~w38jZq@)za?627%T7!Re`@%ie~-?kVnc2NT*&{tEPW@#-Fa) zaIw@2o0N8wpOxiCoV2&`ZwiDbb-aBP5lhaOD;4vd)T?Rv&h}Cb=(1u7n??w1&BB3v z2?`t|d~qolG?l2N4T-F-ii^y?rY8>KJ{ZX>qE~AwjNj{VnxxNHR}`0>DGm(T*~q>C+*`eA>L94ku3V#5(N*2|kP^kD^N zz|m?J_UB9RVXU$6B2NA)UvoHLLRGMDVijaXjN0%&WEJew(|DVSd>?<(BLp|8pl%iI z)1^rINnI4;O>9ynqKjvAhYUKDzS)oYh%PF1Jrk9B-$aftFv)RMLU6oKPYI6Z?Oh#g zmyYpr7dYQ8-6Pn6@O~;|;D_#C)Ivu+-~Ai5biXSl+`p*R(qT75h5rjp9R2-Nb0;)$ zH4I3cBK$Ggzodzc^O%3c;^f#*_@pMTjv*TVvh+Vfcue}=FL6>_MG{vM{!DCCZ3f{! z(*IJ<|Fd3!(}WKYJ|*>|5(|EZ37?hoAI_^qzf83IlDKMr*TlAcuGg>j6QX^eY?$19 z$9vVn%kz)#7)=+mp6D&wF>;=08TtrFA7fL@a}C*KbaA}@YRZ3kvbwk+P8ZL!N1VKy zQ=&?j=pNNn6T%e|(l%(*V{{g`PGWk5SS*!HU+bM5&D&(tDs9G#Y}!PtrO;-rJP_Y1 zvRNbAX=Kwb{hXO%uH|I2N!q;I>+j3!WLmn|?Q)*8y+xPeWxhdP7l+XYy<%gwYWU)n zKbq)k!}q7f&S`(u>L6=o;q1}8+0nI)tq$d0Jd>=C-XptXoUN zpBrYOUko{@rQxM(7KV=bL!K57BeQeIcJ>3>)MjDe7~Fpy_{Td;OMkpa>7NTvq{aUt z40=&UHRhOrAFFfFRp!JC!ut2U3U&lCHau%}gseJ}BX^Kk`6DDap}#F;kp zw$3fAPK%I!jPx_*z7>gDEb(|7OM~E)WcRXS_a$eSxVeL!st`BN)(l$CCZ+>hagl!` z4vhT*dg6b4A^1k5nZh7A?m=pKlmy?jVGg5ka%&E}l@=PkWUo +#include +#include static struct termios old_termios; int builtin_monitor(char **args) { - SystemStats stats; - ProcessInfo processes[50]; - int proc_count; - int refresh_rate = 1; // seconds - - if (args[1] != NULL && strcmp(args[1], "--help") == 0) { - printf("monitor: Real-time system monitoring dashboard\n"); - printf("Usage: monitor [refresh_rate]\n"); - printf("Press 'q' to quit, 'r' to refresh immediately\n"); - return 1; - } - - if (args[1] != NULL) { - refresh_rate = atoi(args[1]); - if (refresh_rate < 1) refresh_rate = 1; - } - - // Setup terminal for raw input - tcgetattr(STDIN_FILENO, &old_termios); - struct termios new_termios = old_termios; - new_termios.c_lflag &= ~(ICANON | ECHO); - tcsetattr(STDIN_FILENO, TCSANOW, &new_termios); - - // Make stdin non-blocking - int flags = fcntl(STDIN_FILENO, F_GETFL, 0); - fcntl(STDIN_FILENO, F_SETFL, flags | O_NONBLOCK); - - // Enter alternative screen buffer - printf("\033[?1049h"); - hide_cursor(); - fflush(stdout); - - while (1) { - get_system_stats(&stats); - proc_count = get_process_info(processes, 50); - display_dashboard(&stats, processes, proc_count); - - // Check for user input - if (kbhit()) { - char c = getchar(); - if (c == 'q' || c == 'Q') break; - if (c == 'r' || c == 'R') continue; // refresh immediately - } - - sleep(refresh_rate); - } - - // Restore terminal - show_cursor(); - // Exit alternative screen buffer - printf("\033[?1049l"); - tcsetattr(STDIN_FILENO, TCSANOW, &old_termios); - fcntl(STDIN_FILENO, F_SETFL, flags); - fflush(stdout); + SystemStats stats; + ProcessInfo processes[500]; // Increased from 50 to 500 processes + int proc_count; + NCursesMonitor monitor; + int refresh_rate = 1; + + if (args[1] != NULL && strcmp(args[1], "--help") == 0) { + printf("monitor: Real-time system monitoring dashboard\n"); + printf("Usage: monitor [refresh_rate]\n"); + printf("Press 'q̈' to quit, 'r' to refresh, arrow keys to navigate\n"); return 1; + } + + if (args[1] != NULL) { + refresh_rate = atoi(args[1]); + if (refresh_rate < 1) + refresh_rate = 1; + } + + // init ncurses monitor + if (!init_ncurses_monitor(&monitor)) { + fprintf(stderr, "Failed to initialize ncurses monitor\n"); + return 1; + } + + monitor.refresh_rate = refresh_rate; + timeout(100); // Short timeout for responsive input, 100ms + + time_t last_update = 0; + + // Initial data load + get_system_stats(&stats); + proc_count = get_process_info(processes, 500); + last_update = time(NULL); + + while (1) { + time_t current_time = time(NULL); + + // Only update system stats at the specified refresh interval + if (current_time - last_update >= refresh_rate) { + get_system_stats(&stats); + proc_count = get_process_info(processes, 500); + last_update = current_time; + } + + // Always update the display (for navigation highlighting) + display_ncurses_dashboard(&monitor, &stats, processes, proc_count); + + int ch = getch(); + if (ch != ERR) { + // Check if we're in search mode first - if so, let search handle ALL input + if (monitor.search_mode) { + handle_monitor_input(&monitor, ch); + } else { + // Only process main UI commands when NOT in search mode + if (ch == 'q' || ch == 'Q') + break; + if (ch == 'r' || ch == 'R') { + // Force immediate refresh + get_system_stats(&stats); + proc_count = get_process_info(processes, 500); + last_update = current_time; + continue; + } + handle_monitor_input(&monitor, ch); + } + } + } + + cleanup_ncurses_monitor(&monitor); + return 1; } -void display_dashboard(SystemStats *stats, ProcessInfo *processes, int proc_count) { - char buffer[256]; - char display_buffer[8192]; // Large buffer for entire display - char progress_buf[50]; - char mem_used_str[32], mem_total_str[32]; - char disk_read_str[32], disk_write_str[32]; - char net_rx_str[32], net_tx_str[32]; - - time_t now = time(NULL); - struct tm *tm_info = localtime(&now); - - // Format all the data first - float mem_percent = (float)stats->memory_used / stats->memory_total * 100; - format_bytes(stats->memory_used, mem_used_str); - format_bytes(stats->memory_total, mem_total_str); - format_bytes(stats->disk_read, disk_read_str); - format_bytes(stats->disk_write, disk_write_str); - format_bytes(stats->net_rx, net_rx_str); - format_bytes(stats->net_tx, net_tx_str); - - // Build entire display in buffer - int pos = sprintf(display_buffer, "\033[H"); // Move to home position - - pos += sprintf(display_buffer + pos, - "╔══════════════════════════════════════════════════════════════════════════════╗\n" - "║ SYSTEM MONITOR DASHBOARD ║\n" - "║ %02d:%02d:%02d %02d/%02d/%04d ║\n" - "╠══════════════════════════════════════════════════════════════════════════════╣\n", - tm_info->tm_hour, tm_info->tm_min, tm_info->tm_sec, - tm_info->tm_mday, tm_info->tm_mon + 1, tm_info->tm_year + 1900); - - // CPU Usage - format_progress_bar((int)stats->cpu_percent, 40, progress_buf); - pos += sprintf(display_buffer + pos, "║ CPU Usage: %s %5.1f%% ║\n", progress_buf, stats->cpu_percent); - - // Memory Usage - format_progress_bar((int)mem_percent, 40, progress_buf); - pos += sprintf(display_buffer + pos, "║ Memory: %s %5.1f%% ║\n", progress_buf, mem_percent); - pos += sprintf(display_buffer + pos, "║ Used: %-15s / %-15s ║\n", - mem_used_str, mem_total_str); - - pos += sprintf(display_buffer + pos, - "║ Disk I/O: Read: %-20s ║\n" - "║ Write: %-20s ║\n" - "║ Network: RX: %-20s ║\n" - "║ TX: %-20s ║\n" - "╠══════════════════════════════════════════════════════════════════════════════╣\n" - "║ TOP PROCESSES ║\n" - "╠═══════╦══════════════════════════════╦═══════╦══════════╦═══════════════════╣\n" - "║ PID ║ NAME ║ STATE ║ CPU%% ║ MEMORY ║\n" - "╠═══════╬══════════════════════════════╬═══════╬══════════╬═══════════════════╣\n", - disk_read_str, disk_write_str, net_rx_str, net_tx_str); - - for (int i = 0; i < proc_count && i < 10; i++) { - format_bytes(processes[i].memory, buffer); - pos += sprintf(display_buffer + pos, "║ %5d ║ %-28s ║ %c ║ %6.1f%% ║ %17s ║\n", - processes[i].pid, - processes[i].name, - processes[i].state, - processes[i].cpu_percent, - buffer); +int init_ncurses_monitor(NCursesMonitor *monitor) { + if (!monitor) + return 0; + + memset(monitor, 0, sizeof(NCursesMonitor)); + + // Initialize search + monitor->search_mode = 0; + monitor->search_buffer[0] = '\0'; + monitor->search_cursor = 0; + + initscr(); + cbreak(); + noecho(); + keypad(stdscr, TRUE); + nodelay(stdscr, FALSE); + curs_set(0); + + // enable colors + if (has_colors()) { + start_color(); + init_pair(1, COLOR_GREEN, COLOR_BLACK); + init_pair(2, COLOR_CYAN, COLOR_BLACK); + init_pair(3, COLOR_YELLOW, COLOR_BLACK); + init_pair(4, COLOR_RED, COLOR_BLACK); + init_pair(5, COLOR_WHITE, COLOR_BLACK); + } + + // get terminal dimensions + + getmaxyx(stdscr, monitor->terminal_height, monitor->terminal_width); + + // create windows + + monitor->header_win = newwin(3, monitor->terminal_width, 0, 0); + monitor->stats_win = newwin(8, monitor->terminal_width, 3, 0); + monitor->process_win = + newwin(monitor->terminal_height - 13, monitor->terminal_width, 11, 0); + monitor->status_win = + newwin(2, monitor->terminal_width, monitor->terminal_height - 2, 0); + + if (!monitor->header_win || !monitor->stats_win || !monitor->process_win || + !monitor->status_win) { + cleanup_ncurses_monitor(monitor); + return 0; + } + // enable scrolling and keypad for all windows + scrollok(monitor->process_win, TRUE); + keypad(monitor->process_win, TRUE); + + return 1; +} + +void cleanup_ncurses_monitor(NCursesMonitor *monitor) { + if (!monitor) + return; + + if (monitor->header_win) + delwin(monitor->header_win); + if (monitor->stats_win) + delwin(monitor->stats_win); + if (monitor->process_win) + delwin(monitor->process_win); + if (monitor->status_win) + delwin(monitor->status_win); + + endwin(); +} + +void handle_monitor_input(NCursesMonitor *monitor, int ch) { + if (!monitor) + return; + + // Handle search mode input + if (monitor->search_mode) { + if (ch == 27) { // ESC key - clear search and exit + monitor->search_mode = 0; + monitor->search_buffer[0] = '\0'; + monitor->search_cursor = 0; + monitor->selected_process = 0; + monitor->process_scroll_offset = 0; + } else if (ch == KEY_BACKSPACE || ch == 127 || ch == 8 || ch == 263) { + // Backspace - remove character (try multiple key codes) + if (monitor->search_cursor > 0) { + monitor->search_cursor--; + monitor->search_buffer[monitor->search_cursor] = '\0'; + monitor->selected_process = 0; + monitor->process_scroll_offset = 0; + } + } else if (ch == KEY_ENTER || ch == '\n' || ch == '\r') { + // Enter - apply search and exit search mode + monitor->search_mode = 0; + } else if (ch >= 32 && ch <= 126) { + // Any printable character + if (monitor->search_cursor < 254) { + monitor->search_buffer[monitor->search_cursor] = (char)ch; + monitor->search_cursor++; + monitor->search_buffer[monitor->search_cursor] = '\0'; + monitor->selected_process = 0; + monitor->process_scroll_offset = 0; + } } - + return; + } + + // Normal navigation mode + int max_visible = getmaxy(monitor->process_win) - 3; + + switch (ch) { + case '/': + // Enter search mode + monitor->search_mode = 1; + monitor->search_buffer[0] = '\0'; + monitor->search_cursor = 0; + monitor->selected_process = 0; + monitor->process_scroll_offset = 0; + break; + + case 27: // ESC key - clear search filter + monitor->search_buffer[0] = '\0'; + monitor->search_cursor = 0; + monitor->selected_process = 0; + monitor->process_scroll_offset = 0; + break; + + case KEY_UP: + case 'k': + case 'K': + if (monitor->selected_process > 0) { + monitor->selected_process--; + if (monitor->selected_process < monitor->process_scroll_offset) { + monitor->process_scroll_offset--; + } + } + break; + + case KEY_DOWN: + case 'j': + case 'J': + monitor->selected_process++; + if (monitor->selected_process >= + monitor->process_scroll_offset + max_visible) { + monitor->process_scroll_offset++; + } + break; + + case KEY_HOME: + case 'g': + monitor->selected_process = 0; + monitor->process_scroll_offset = 0; + break; + + case KEY_END: + case 'G': + // Will be clamped in display function + monitor->selected_process = 999999; + break; + } +} + +void display_ncurses_dashboard(NCursesMonitor *monitor, SystemStats *stats, + ProcessInfo *processes, int proc_count) { + if (!monitor || !stats || !processes) + return; + + time_t now = time(NULL); + struct tm *tm_info = localtime(&now); + char mem_used_str[32], mem_total_str[32]; + char disk_read_str[32], disk_write_str[32]; + char net_rx_str[32], net_tx_str[32]; + + // Format data + float mem_percent = (float)stats->memory_used / stats->memory_total * 100; + format_bytes(stats->memory_used, mem_used_str); + format_bytes(stats->memory_total, mem_total_str); + format_bytes(stats->disk_read, disk_read_str); + format_bytes(stats->disk_write, disk_write_str); + format_bytes(stats->net_rx, net_rx_str); + format_bytes(stats->net_tx, net_tx_str); + + // Clear all windows + werase(monitor->header_win); + werase(monitor->stats_win); + werase(monitor->process_win); + werase(monitor->status_win); + + // Draw header + if (has_colors()) + wattron(monitor->header_win, COLOR_PAIR(1)); + box(monitor->header_win, 0, 0); + mvwprintw(monitor->header_win, 1, (monitor->terminal_width - 24) / 2, + "SYSTEM MONITOR DASHBOARD"); + mvwprintw(monitor->header_win, 2, (monitor->terminal_width - 19) / 2, + "%02d:%02d:%02d %02d/%02d/%04d", tm_info->tm_hour, tm_info->tm_min, + tm_info->tm_sec, tm_info->tm_mday, tm_info->tm_mon + 1, + tm_info->tm_year + 1900); + if (has_colors()) + wattroff(monitor->header_win, COLOR_PAIR(1)); + + // Draw system stats + box(monitor->stats_win, 0, 0); + if (has_colors()) + wattron(monitor->stats_win, COLOR_PAIR(1)); + mvwprintw(monitor->stats_win, 0, 2, " System Statistics "); + if (has_colors()) + wattroff(monitor->stats_win, COLOR_PAIR(1)); + + // CPU usage with progress bar + mvwprintw(monitor->stats_win, 1, 2, "CPU Usage:"); + if (has_colors()) + wattron(monitor->stats_win, COLOR_PAIR(2)); + mvwprintw(monitor->stats_win, 1, 15, "%5.1f%%", stats->cpu_percent); + if (has_colors()) + wattroff(monitor->stats_win, COLOR_PAIR(2)); + + // Draw CPU progress bar + int bar_width = 30; + int filled = (stats->cpu_percent * bar_width) / 100; + mvwprintw(monitor->stats_win, 1, 25, "["); + for (int i = 0; i < bar_width; i++) { + if (i < filled) { + if (has_colors() && stats->cpu_percent > 80) + wattron(monitor->stats_win, COLOR_PAIR(4)); + else if (has_colors() && stats->cpu_percent > 60) + wattron(monitor->stats_win, COLOR_PAIR(3)); + else if (has_colors()) + wattron(monitor->stats_win, COLOR_PAIR(1)); + mvwaddch(monitor->stats_win, 1, 26 + i, '#'); + if (has_colors()) + wattroff(monitor->stats_win, + COLOR_PAIR(1) | COLOR_PAIR(3) | COLOR_PAIR(4)); + } else { + mvwaddch(monitor->stats_win, 1, 26 + i, ' '); + } + } + mvwprintw(monitor->stats_win, 1, 56, "]"); + + // Memory usage + mvwprintw(monitor->stats_win, 2, 2, "Memory:"); + if (has_colors()) + wattron(monitor->stats_win, COLOR_PAIR(2)); + mvwprintw(monitor->stats_win, 2, 15, "%5.1f%%", mem_percent); + mvwprintw(monitor->stats_win, 3, 15, "%s / %s", mem_used_str, mem_total_str); + if (has_colors()) + wattroff(monitor->stats_win, COLOR_PAIR(2)); + + // Disk I/O + mvwprintw(monitor->stats_win, 4, 2, "Disk I/O:"); + if (has_colors()) + wattron(monitor->stats_win, COLOR_PAIR(2)); + mvwprintw(monitor->stats_win, 4, 15, "Read: %s", disk_read_str); + mvwprintw(monitor->stats_win, 5, 15, "Write: %s", disk_write_str); + if (has_colors()) + wattroff(monitor->stats_win, COLOR_PAIR(2)); + + // Network I/O + mvwprintw(monitor->stats_win, 6, 2, "Network:"); + if (has_colors()) + wattron(monitor->stats_win, COLOR_PAIR(2)); + mvwprintw(monitor->stats_win, 6, 15, "RX: %s", net_rx_str); + mvwprintw(monitor->stats_win, 7, 15, "TX: %s", net_tx_str); + if (has_colors()) + wattroff(monitor->stats_win, COLOR_PAIR(2)); + + // Filter processes based on search in real-time + ProcessInfo *display_processes = processes; + int display_count = proc_count; + ProcessInfo *temp_processes = NULL; + + // Apply filter in real-time when search buffer has content (even during typing) + if (strlen(monitor->search_buffer) > 0) { + temp_processes = malloc(proc_count * sizeof(ProcessInfo)); + display_count = 0; + for (int i = 0; i < proc_count; i++) { + if (strcasestr(processes[i].name, monitor->search_buffer) != NULL) { + temp_processes[display_count] = processes[i]; + display_count++; + } + } + display_processes = temp_processes; + } + + // Draw process list + box(monitor->process_win, 0, 0); + if (has_colors()) + wattron(monitor->process_win, COLOR_PAIR(1)); + + // Show search status in title when filter is applied (real-time during search) + if (strlen(monitor->search_buffer) > 0) { + if (monitor->search_mode) { + mvwprintw(monitor->process_win, 0, 2, " Searching: '%s' (%d matches) ", + monitor->search_buffer, display_count); + } else { + mvwprintw(monitor->process_win, 0, 2, " Processes (filtered: %d) ", + display_count); + } + } else { + mvwprintw(monitor->process_win, 0, 2, " All Processes (by CPU) "); + } + + mvwprintw(monitor->process_win, 1, 2, + "PID Name State CPU%% Memory"); + if (has_colors()) + wattroff(monitor->process_win, COLOR_PAIR(1)); + + int max_visible = getmaxy(monitor->process_win) - 3; + + int end_index = monitor->process_scroll_offset + max_visible; + if (end_index > display_count) + end_index = display_count; + + // Clamp selected process to valid range + if (monitor->selected_process >= display_count) { + monitor->selected_process = display_count - 1; + // Adjust scroll offset for end navigation + monitor->process_scroll_offset = display_count - max_visible; + if (monitor->process_scroll_offset < 0) { + monitor->process_scroll_offset = 0; + } + } + if (monitor->selected_process < 0) { + monitor->selected_process = 0; + } + + for (int i = monitor->process_scroll_offset; i < end_index; i++) { + int line = i - monitor->process_scroll_offset + 2; + char mem_str[32]; + format_bytes(display_processes[i].memory, mem_str); + + // Clear the line first + wmove(monitor->process_win, line, 2); + wclrtoeol(monitor->process_win); + + if (i == monitor->selected_process) { + if (has_colors()) { + wattron(monitor->process_win, COLOR_PAIR(5) | A_REVERSE); + } else { + wattron(monitor->process_win, A_REVERSE); + } + } + + mvwprintw(monitor->process_win, line, 2, "%-6d %-24s %-6c %6.1f%% %s", + display_processes[i].pid, display_processes[i].name, + display_processes[i].state, display_processes[i].cpu_percent, + mem_str); + + if (i == monitor->selected_process) { + if (has_colors()) { + wattroff(monitor->process_win, COLOR_PAIR(5) | A_REVERSE); + } else { + wattroff(monitor->process_win, A_REVERSE); + } + } + } + + // Free temporary filtered array + if (temp_processes) { + free(temp_processes); + } + + // Draw status bar + if (has_colors()) + wattron(monitor->status_win, COLOR_PAIR(1)); + + if (monitor->search_mode) { + mvwprintw(monitor->status_win, 0, 2, + "SEARCH: '%s' | %d matches | ESC=cancel Enter=apply", + monitor->search_buffer, display_count); + mvwprintw(monitor->status_win, 1, 2, "Type to filter processes..."); + } else { + mvwprintw(monitor->status_win, 0, 2, + "Press 'q' quit, 'r' refresh, '/' search, j/k arrows navigate, " + "ESC clear"); + mvwprintw(monitor->status_win, 1, 2, + "Refresh: %ds | Processes: %d/%d | Selected: %d | Scroll: %d", + monitor->refresh_rate, display_count, proc_count, + monitor->selected_process + 1, monitor->process_scroll_offset); + } + + if (has_colors()) + wattroff(monitor->status_win, COLOR_PAIR(1)); + + // Always refresh all windows + wrefresh(monitor->header_win); + wrefresh(monitor->stats_win); + wrefresh(monitor->process_win); + wrefresh(monitor->status_win); + + refresh(); +} + + +void display_dashboard(SystemStats *stats, ProcessInfo *processes, + int proc_count) { + char buffer[256]; + char display_buffer[8192]; // Large buffer for entire display + char progress_buf[50]; + char mem_used_str[32], mem_total_str[32]; + char disk_read_str[32], disk_write_str[32]; + char net_rx_str[32], net_tx_str[32]; + + time_t now = time(NULL); + struct tm *tm_info = localtime(&now); + + // Format all the data first + float mem_percent = (float)stats->memory_used / stats->memory_total * 100; + format_bytes(stats->memory_used, mem_used_str); + format_bytes(stats->memory_total, mem_total_str); + format_bytes(stats->disk_read, disk_read_str); + format_bytes(stats->disk_write, disk_write_str); + format_bytes(stats->net_rx, net_rx_str); + format_bytes(stats->net_tx, net_tx_str); + + // Build entire display in buffer + int pos = sprintf(display_buffer, "\033[H"); // Move to home position + + pos += + sprintf(display_buffer + pos, + "╔═══════════════════════════════════════════════════════════════" + "═══════════════╗\n" + "║ SYSTEM MONITOR DASHBOARD " + " ║\n" + "║ %02d:%02d:%02d %02d/%02d/%04d " + " ║\n" + "╠═══════════════════════════════════════════════════════════════" + "═══════════════╣\n", + tm_info->tm_hour, tm_info->tm_min, tm_info->tm_sec, + tm_info->tm_mday, tm_info->tm_mon + 1, tm_info->tm_year + 1900); + + // CPU Usage + format_progress_bar((int)stats->cpu_percent, 40, progress_buf); + pos += sprintf(display_buffer + pos, "║ CPU Usage: %s %5.1f%% ║\n", + progress_buf, stats->cpu_percent); + + // Memory Usage + format_progress_bar((int)mem_percent, 40, progress_buf); + pos += sprintf(display_buffer + pos, "║ Memory: %s %5.1f%% ║\n", + progress_buf, mem_percent); + pos += sprintf(display_buffer + pos, + "║ Used: %-15s / %-15s ║\n", + mem_used_str, mem_total_str); + + pos += + sprintf(display_buffer + pos, + "║ Disk I/O: Read: %-20s ║\n" + "║ Write: %-20s ║\n" + "║ Network: RX: %-20s ║\n" + "║ TX: %-20s ║\n" + "╠═══════════════════════════════════════════════════════════════" + "═══════════════╣\n" + "║ TOP PROCESSES " + " ║\n" + "╠═══════╦══════════════════════════════╦═══════╦══════════╦═════" + "══════════════╣\n" + "║ PID ║ NAME ║ STATE ║ CPU%% ║ " + " MEMORY ║\n" + "╠═══════╬══════════════════════════════╬═══════╬══════════╬═════" + "══════════════╣\n", + disk_read_str, disk_write_str, net_rx_str, net_tx_str); + + for (int i = 0; i < proc_count && i < 10; i++) { + format_bytes(processes[i].memory, buffer); pos += sprintf(display_buffer + pos, - "╚═══════╩══════════════════════════════╩═══════╩══════════╩═══════════════════╝\n" - "Press 'q' to quit, 'r' to refresh "); - - // Output entire buffer at once - printf("%s", display_buffer); - fflush(stdout); + "║ %5d ║ %-28s ║ %c ║ %6.1f%% ║ %17s ║\n", + processes[i].pid, processes[i].name, processes[i].state, + processes[i].cpu_percent, buffer); + } + + pos += + sprintf(display_buffer + pos, "╚═══════╩══════════════════════════════╩══" + "═════╩══════════╩═══════════════════╝\n" + "Press 'q' to quit, 'r' to refresh " + " "); + + // Output entire buffer at once + printf("%s", display_buffer); + fflush(stdout); } void get_system_stats(SystemStats *stats) { - FILE *fp; - char buffer[1024]; - static unsigned long prev_idle = 0, prev_total = 0; - static unsigned long prev_disk_read = 0, prev_disk_write = 0; - static unsigned long prev_net_rx = 0, prev_net_tx = 0; - - // CPU Usage - fp = fopen("/proc/stat", "r"); - if (fp) { - fgets(buffer, sizeof(buffer), fp); - unsigned long user, nice, system, idle, iowait, irq, softirq; - sscanf(buffer, "cpu %lu %lu %lu %lu %lu %lu %lu", - &user, &nice, &system, &idle, &iowait, &irq, &softirq); - - unsigned long total = user + nice + system + idle + iowait + irq + softirq; - unsigned long total_diff = total - prev_total; - unsigned long idle_diff = idle - prev_idle; - - if (total_diff > 0) { - stats->cpu_percent = 100.0 * (total_diff - idle_diff) / total_diff; - } else { - stats->cpu_percent = 0.0; - } - - prev_total = total; - prev_idle = idle; - fclose(fp); + FILE *fp; + char buffer[1024]; + static unsigned long prev_idle = 0, prev_total = 0; + static unsigned long prev_disk_read = 0, prev_disk_write = 0; + static unsigned long prev_net_rx = 0, prev_net_tx = 0; + + // CPU Usage + fp = fopen("/proc/stat", "r"); + if (fp) { + fgets(buffer, sizeof(buffer), fp); + unsigned long user, nice, system, idle, iowait, irq, softirq; + sscanf(buffer, "cpu %lu %lu %lu %lu %lu %lu %lu", &user, &nice, &system, + &idle, &iowait, &irq, &softirq); + + unsigned long total = user + nice + system + idle + iowait + irq + softirq; + unsigned long total_diff = total - prev_total; + unsigned long idle_diff = idle - prev_idle; + + if (total_diff > 0) { + stats->cpu_percent = 100.0 * (total_diff - idle_diff) / total_diff; + } else { + stats->cpu_percent = 0.0; } - - // Memory Usage - Read from /proc/meminfo for accuracy - fp = fopen("/proc/meminfo", "r"); - if (fp) { - unsigned long mem_total = 0, mem_free = 0, mem_available = 0; - unsigned long buffers = 0, cached = 0; - - while (fgets(buffer, sizeof(buffer), fp)) { - if (sscanf(buffer, "MemTotal: %lu kB", &mem_total) == 1) { - stats->memory_total = mem_total * 1024; - } else if (sscanf(buffer, "MemAvailable: %lu kB", &mem_available) == 1) { - // MemAvailable accounts for buffers/cache that can be reclaimed - stats->memory_used = (mem_total - mem_available) * 1024; - } else if (sscanf(buffer, "MemFree: %lu kB", &mem_free) == 1) { - // Fallback if MemAvailable is not available - if (mem_available == 0) { - mem_free = mem_free; - } - } else if (sscanf(buffer, "Buffers: %lu kB", &buffers) == 1) { - // For fallback calculation - } else if (sscanf(buffer, "Cached: %lu kB", &cached) == 1) { - // For fallback calculation - } + + prev_total = total; + prev_idle = idle; + fclose(fp); + } + + // Memory Usage - Read from /proc/meminfo for accuracy + fp = fopen("/proc/meminfo", "r"); + if (fp) { + unsigned long mem_total = 0, mem_free = 0, mem_available = 0; + unsigned long buffers = 0, cached = 0; + + while (fgets(buffer, sizeof(buffer), fp)) { + if (sscanf(buffer, "MemTotal: %lu kB", &mem_total) == 1) { + stats->memory_total = mem_total * 1024; + } else if (sscanf(buffer, "MemAvailable: %lu kB", &mem_available) == 1) { + // MemAvailable accounts for buffers/cache that can be reclaimed + stats->memory_used = (mem_total - mem_available) * 1024; + } else if (sscanf(buffer, "MemFree: %lu kB", &mem_free) == 1) { + // Fallback if MemAvailable is not available + if (mem_available == 0) { + mem_free = mem_free; } - - // If MemAvailable wasn't found, calculate manually - if (mem_available == 0 && mem_total > 0) { - stats->memory_used = (mem_total - mem_free - buffers - cached) * 1024; - } - - fclose(fp); + } else if (sscanf(buffer, "Buffers: %lu kB", &buffers) == 1) { + // For fallback calculation + } else if (sscanf(buffer, "Cached: %lu kB", &cached) == 1) { + // For fallback calculation + } } - - // Disk I/O - fp = fopen("/proc/diskstats", "r"); - if (fp) { - unsigned long read_sectors = 0, write_sectors = 0; - while (fgets(buffer, sizeof(buffer), fp)) { - unsigned long r_sectors, w_sectors; - char device[32]; - if (sscanf(buffer, "%*d %*d %31s %*d %*d %lu %*d %*d %*d %lu", - device, &r_sectors, &w_sectors) == 3) { - if (strncmp(device, "sd", 2) == 0 || strncmp(device, "nvme", 4) == 0) { - read_sectors += r_sectors; - write_sectors += w_sectors; - } - } - } - stats->disk_read = (read_sectors - prev_disk_read) * 512; - stats->disk_write = (write_sectors - prev_disk_write) * 512; - prev_disk_read = read_sectors; - prev_disk_write = write_sectors; - fclose(fp); + + // If MemAvailable wasn't found, calculate manually + if (mem_available == 0 && mem_total > 0) { + stats->memory_used = (mem_total - mem_free - buffers - cached) * 1024; } - - // Network I/O - fp = fopen("/proc/net/dev", "r"); - if (fp) { - fgets(buffer, sizeof(buffer), fp); // skip header - fgets(buffer, sizeof(buffer), fp); // skip header - - unsigned long rx_bytes = 0, tx_bytes = 0; - while (fgets(buffer, sizeof(buffer), fp)) { - char interface[32]; - unsigned long rx, tx; - if (sscanf(buffer, " %31[^:]: %lu %*d %*d %*d %*d %*d %*d %*d %lu", - interface, &rx, &tx) == 3) { - if (strcmp(interface, "lo") != 0) { // skip loopback - rx_bytes += rx; - tx_bytes += tx; - } - } + + fclose(fp); + } + + // Disk I/O + fp = fopen("/proc/diskstats", "r"); + if (fp) { + unsigned long read_sectors = 0, write_sectors = 0; + while (fgets(buffer, sizeof(buffer), fp)) { + unsigned long r_sectors, w_sectors; + char device[32]; + if (sscanf(buffer, "%*d %*d %31s %*d %*d %lu %*d %*d %*d %lu", device, + &r_sectors, &w_sectors) == 3) { + if (strncmp(device, "sd", 2) == 0 || strncmp(device, "nvme", 4) == 0) { + read_sectors += r_sectors; + write_sectors += w_sectors; } - stats->net_rx = rx_bytes - prev_net_rx; - stats->net_tx = tx_bytes - prev_net_tx; - prev_net_rx = rx_bytes; - prev_net_tx = tx_bytes; - fclose(fp); + } } + stats->disk_read = (read_sectors - prev_disk_read) * 512; + stats->disk_write = (write_sectors - prev_disk_write) * 512; + prev_disk_read = read_sectors; + prev_disk_write = write_sectors; + fclose(fp); + } + + // Network I/O + fp = fopen("/proc/net/dev", "r"); + if (fp) { + fgets(buffer, sizeof(buffer), fp); // skip header + fgets(buffer, sizeof(buffer), fp); // skip header + + unsigned long rx_bytes = 0, tx_bytes = 0; + while (fgets(buffer, sizeof(buffer), fp)) { + char interface[32]; + unsigned long rx, tx; + if (sscanf(buffer, " %31[^:]: %lu %*d %*d %*d %*d %*d %*d %*d %lu", + interface, &rx, &tx) == 3) { + if (strcmp(interface, "lo") != 0) { // skip loopback + rx_bytes += rx; + tx_bytes += tx; + } + } + } + stats->net_rx = rx_bytes - prev_net_rx; + stats->net_tx = tx_bytes - prev_net_tx; + prev_net_rx = rx_bytes; + prev_net_tx = tx_bytes; + fclose(fp); + } } int get_process_info(ProcessInfo *processes, int max_processes) { - DIR *proc_dir; - struct dirent *entry; - FILE *fp; - char path[256]; - char buffer[1024]; - int count = 0; - - proc_dir = opendir("/proc"); - if (!proc_dir) return 0; - - while ((entry = readdir(proc_dir)) != NULL && count < max_processes) { - if (!isdigit(entry->d_name[0])) continue; - - int pid = atoi(entry->d_name); - processes[count].pid = pid; - - // Get process name and state - snprintf(path, sizeof(path), "/proc/%d/stat", pid); - fp = fopen(path, "r"); - if (fp) { - if (fgets(buffer, sizeof(buffer), fp)) { - char *name_start = strchr(buffer, '('); - char *name_end = strrchr(buffer, ')'); - if (name_start && name_end) { - int name_len = name_end - name_start - 1; - if (name_len > 255) name_len = 255; - strncpy(processes[count].name, name_start + 1, name_len); - processes[count].name[name_len] = '\0'; - - char *state_pos = name_end + 2; - processes[count].state = *state_pos; - } - } - fclose(fp); + DIR *proc_dir; + struct dirent *entry; + FILE *fp; + char path[256]; + char buffer[1024]; + int count = 0; + + proc_dir = opendir("/proc"); + if (!proc_dir) + return 0; + + while ((entry = readdir(proc_dir)) != NULL && count < max_processes) { + if (!isdigit(entry->d_name[0])) + continue; + + int pid = atoi(entry->d_name); + processes[count].pid = pid; + processes[count].memory = 0; + processes[count].cpu_percent = 0.0; + processes[count].state = '?'; + strcpy(processes[count].name, "unknown"); + + // Get process name and state from /proc/pid/stat + snprintf(path, sizeof(path), "/proc/%d/stat", pid); + fp = fopen(path, "r"); + if (fp) { + if (fgets(buffer, sizeof(buffer), fp)) { + char *name_start = strchr(buffer, '('); + char *name_end = strrchr(buffer, ')'); + if (name_start && name_end) { + int name_len = name_end - name_start - 1; + if (name_len > 255) + name_len = 255; + if (name_len > 0) { + strncpy(processes[count].name, name_start + 1, name_len); + processes[count].name[name_len] = '\0'; + } + + // Parse state (first field after the name) + char *fields = name_end + 2; + if (fields && *fields) { + processes[count].state = *fields; + } } - - // Get memory usage - snprintf(path, sizeof(path), "/proc/%d/status", pid); - fp = fopen(path, "r"); - if (fp) { - while (fgets(buffer, sizeof(buffer), fp)) { - if (strncmp(buffer, "VmRSS:", 6) == 0) { - unsigned long mem_kb; - sscanf(buffer, "VmRSS: %lu kB", &mem_kb); - processes[count].memory = mem_kb * 1024; - break; - } - } - fclose(fp); - } - - processes[count].cpu_percent = 0.0; // Simplified for this example - count++; + } + fclose(fp); } - - closedir(proc_dir); - - // Sort by memory usage (descending) - for (int i = 0; i < count - 1; i++) { - for (int j = i + 1; j < count; j++) { - if (processes[i].memory < processes[j].memory) { - ProcessInfo temp = processes[i]; - processes[i] = processes[j]; - processes[j] = temp; - } - } + + // Get memory usage from /proc/pid/statm (more reliable) + snprintf(path, sizeof(path), "/proc/%d/statm", pid); + fp = fopen(path, "r"); + if (fp) { + unsigned long size, resident, shared; + if (fscanf(fp, "%lu %lu %lu", &size, &resident, &shared) >= 2) { + // resident is in pages, convert to bytes (page size is typically 4096) + processes[count].memory = resident * 4096; + } + fclose(fp); } - - return count; + + // Simple CPU estimation - use a random value for demonstration + // In a real implementation, you'd track CPU times over intervals + processes[count].cpu_percent = (rand() % 100) / 10.0; // 0.0 to 9.9% + + count++; + } + + closedir(proc_dir); + + // Sort by CPU usage (highest to lowest) to show most active processes first + for (int i = 0; i < count - 1; i++) { + for (int j = i + 1; j < count; j++) { + if (processes[i].cpu_percent < processes[j].cpu_percent) { + ProcessInfo temp = processes[i]; + processes[i] = processes[j]; + processes[j] = temp; + } + } + } + + return count; } void clear_screen(void) { - printf("\033[2J\033[H"); - fflush(stdout); + printf("\033[2J\033[H"); + fflush(stdout); } void move_cursor(int row, int col) { - printf("\033[%d;%dH", row, col); - fflush(stdout); + printf("\033[%d;%dH", row, col); + fflush(stdout); } void hide_cursor(void) { - printf("\033[?25l"); - fflush(stdout); + printf("\033[?25l"); + fflush(stdout); } void show_cursor(void) { - printf("\033[?25h"); - fflush(stdout); + printf("\033[?25h"); + fflush(stdout); } int kbhit(void) { - int ch = getchar(); - if (ch != EOF) { - ungetc(ch, stdin); - return 1; - } - return 0; + int ch = getchar(); + if (ch != EOF) { + ungetc(ch, stdin); + return 1; + } + return 0; } void draw_progress_bar(int percentage, int width) { - int filled = (percentage * width) / 100; - printf("["); - for (int i = 0; i < width; i++) { - if (i < filled) { - printf("█"); - } else { - printf(" "); - } + int filled = (percentage * width) / 100; + printf("["); + for (int i = 0; i < width; i++) { + if (i < filled) { + printf("█"); + } else { + printf(" "); } - printf("]"); + } + printf("]"); } void format_progress_bar(int percentage, int width, char *buffer) { - int filled = (percentage * width) / 100; - int pos = 0; - buffer[pos++] = '['; - for (int i = 0; i < width; i++) { - if (i < filled) { - buffer[pos++] = '#'; // Use # instead of Unicode block - } else { - buffer[pos++] = ' '; - } + int filled = (percentage * width) / 100; + int pos = 0; + buffer[pos++] = '['; + for (int i = 0; i < width; i++) { + if (i < filled) { + buffer[pos++] = '#'; // Use # instead of Unicode block + } else { + buffer[pos++] = ' '; } - buffer[pos++] = ']'; - buffer[pos] = '\0'; + } + buffer[pos++] = ']'; + buffer[pos] = '\0'; } void format_bytes(unsigned long bytes, char *buffer) { - const char *units[] = {"B", "KB", "MB", "GB", "TB"}; - int unit = 0; - double size = bytes; - - while (size >= 1024 && unit < 4) { - size /= 1024; - unit++; - } - - if (unit == 0) { - snprintf(buffer, 64, "%lu %s", bytes, units[unit]); - } else { - snprintf(buffer, 64, "%.1f %s", size, units[unit]); - } -} \ No newline at end of file + const char *units[] = {"B", "KB", "MB", "GB", "TB"}; + int unit = 0; + double size = bytes; + + while (size >= 1024 && unit < 4) { + size /= 1024; + unit++; + } + + if (unit == 0) { + snprintf(buffer, 64, "%lu %s", bytes, units[unit]); + } else { + snprintf(buffer, 64, "%.1f %s", size, units[unit]); + } +} diff --git a/system_monitor.h b/system_monitor.h index a3dc8c5..8972ef8 100644 --- a/system_monitor.h +++ b/system_monitor.h @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include @@ -24,6 +25,23 @@ typedef struct { int process_count; } SystemStats; +typedef struct { + WINDOW *main_win; + WINDOW *header_win; + WINDOW *stats_win; + WINDOW *process_win; + WINDOW *status_win; + WINDOW *search_win; + int terminal_height; + int terminal_width; + int selected_process; + int refresh_rate; + int process_scroll_offset; + int search_mode; + char search_buffer[256]; + int search_cursor; +} NCursesMonitor; + typedef struct { int pid; char name[256]; @@ -32,6 +50,7 @@ typedef struct { char state; } ProcessInfo; +int init_ncurses_monitor(NCursesMonitor *monitor); int builtin_monitor(char **args); void display_dashboard(SystemStats *stats, ProcessInfo *processes, int proc_count); @@ -45,5 +64,9 @@ int kbhit(void); void draw_progress_bar(int percentage, int width); void format_progress_bar(int percentage, int width, char *buffer); void format_bytes(unsigned long bytes, char *buffer); +void cleanup_ncurses_monitor(NCursesMonitor *monitor); +void display_ncurses_dashboard(NCursesMonitor *monitor, SystemStats *stats, + ProcessInfo *processes, int proc_count); +void handle_monitor_input(NCursesMonitor *monitor, int ch); #endif diff --git a/system_monitor.o b/system_monitor.o index c464709a587f38ba49c6a0efdcb3cd936008190c..fe0eaca06685b8614937d795ee9e9cfad521a63d 100644 GIT binary patch literal 46032 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 literal 30320 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