From adc4db6b55d935e1c81cbdba0ba2aa44b910377b Mon Sep 17 00:00:00 2001 From: coast Date: Thu, 3 Jul 2025 00:12:08 +0330 Subject: [PATCH] scripts and other --- local/bin/usbmount | 29 +++++++++++++++++++++++++++++ local/bin/usbumount | 31 +++++++++++++++++++++++++++++++ suckless/dwm/config.h | 1 - suckless/slstatus/config.h | 6 +++--- suckless/slstatus/slstatus | Bin 31248 -> 31248 bytes suckless/slstatus/slstatus.o | Bin 6352 -> 6376 bytes 6 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 local/bin/usbmount create mode 100644 local/bin/usbumount diff --git a/local/bin/usbmount b/local/bin/usbmount new file mode 100644 index 0000000..81ba1a5 --- /dev/null +++ b/local/bin/usbmount @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import os +import subprocess +import sys + +RED = "\033[0;31m" +RESET = "\033[0m" + +def main(): + if os.geteuid() != 0: + print(f"{RED}[!] Superuser access is required{RESET}") + sys.exit(1) + + if not os.path.exists("/dev/sda"): + print(f"{RED}[!] USB not found!{RESET}") + sys.exit(1) + + print(f"{RED}[*] Decrypting /dev/sda1...{RESET}") + try: + subprocess.run(["cryptsetup", "open", "/dev/sda1", "sda1_crypt"], check=True) + subprocess.run(["mount", "/dev/mapper/sda1_crypt", "/mnt/usb", "--mkdir"], check=True) + print(f"{RED}[*] Decrypted and mounted to /mnt/usb!{RESET}") + except subprocess.CalledProcessError as e: + print(f"{RED}[!] Error: {e}{RESET}") + sys.exit(1) + +if __name__ == "__main__": + main() diff --git a/local/bin/usbumount b/local/bin/usbumount new file mode 100644 index 0000000..ffe68bc --- /dev/null +++ b/local/bin/usbumount @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import os +import subprocess +import sys + +RED = "\033[0;31m" +RESET = "\033[0m" + +def run(cmd, fail_msg): + try: + subprocess.run(cmd, check=True) + except subprocess.CalledProcessError: + print(f"{RED}[!] {fail_msg}{RESET}") + sys.exit(1) + +def main(): + if os.geteuid() != 0: + print(f"{RED}[!] Superuser access is required{RESET}") + sys.exit(1) + + print(f"{RED}[*] Unmounting /mnt/usb...{RESET}") + run(["umount", "/mnt/usb"], "Failed to unmount /mnt/usb") + + print(f"{RED}[*] Closing encrypted device...{RESET}") + run(["cryptsetup", "close", "sda1_crypt"], "Failed to close mapper device") + + print(f"{RED}[*] Unmounted and closed successfully!{RESET}") + +if __name__ == "__main__": + main() diff --git a/suckless/dwm/config.h b/suckless/dwm/config.h index 95d512e..3878b2b 100644 --- a/suckless/dwm/config.h +++ b/suckless/dwm/config.h @@ -1,4 +1,3 @@ - /* See LICENSE file for copyright and license details. */ /* appearance */ diff --git a/suckless/slstatus/config.h b/suckless/slstatus/config.h index aa73ce0..8ae8a78 100644 --- a/suckless/slstatus/config.h +++ b/suckless/slstatus/config.h @@ -65,10 +65,10 @@ static const char unknown_str[] = "n/a"; */ static const struct arg args[] = { /* function format argument */ - {run_command, " [ %s%] ", "pamixer --get-volume"}, + {run_command, "[ %s%]", "amixer get Master | grep -o '[0-9]*%' | head -1"}, {ram_used, " [ %s] ", NULL}, - {battery_state, " [%s", "BAT1"}, + {battery_state, "[%s", "BAT1"}, {battery_perc, " %s%] ", "BAT1"}, - {run_command, " [󱑃 %s] ", "date +%I:%M-%p"}, + {run_command, "[󱑃 %s] ", "date +%I:%M-%p"}, }; diff --git a/suckless/slstatus/slstatus b/suckless/slstatus/slstatus index a5bf5c3e840e591b4400eb840e01aa9af790f6bf..042803c8a622d96a3546b125edb634737cb61e90 100755 GIT binary patch delta 1468 zcmZwHe@xV690%~{^9AMb$8{&_-9_%ccF~212ciNSCR9#YK)PyhcO2ZEl9Frua=;A3 zmZq40ocnCeYAvSOaA6S_Q~nA2!@_V=w^YphL6VV$_=C3G(ogU64%u4Y?fbl*@AJIB z&-2|q&pn}W3XM}&J|&hVsfSk?7t&7iNHF^JNFE}mIcHt8^^t7Tod1(ut2t*G%A(mx z!@IQyGpU~2OfK5by(X9Ki_&Pu|7I*3MRhZoU37#q%@*qBLbJ>EO)MGuPx3@~ui0bO z%!|UKsUAxFc%f2v9y856$ZOKF$rs+0_8^{0cxOhjW^jhjWw_(1hclMWp5F0fB)IVQ z$h&j-?IlU!;L@Z7dXF3P`e-1$Y#Vf>h%p(oAu&A!)8=l z^bPe@wR(Du?(}A)=lT|;IMKGTDzIKp&s4hiX5Ws;yFOicQySEB1+SnnGL){ky;SG# zN|&`-`$d$d)asKW&%iR651UVm?3sr4A4Nt;sm!w?WoSPPLvYnOkz;V~dAuK|l>GwU zgGXUAeBvkMVCO~TVCv5zSK<3GK3=KymoQ(vYE@@YDMG{Zmqlvfr!WKuVHX^_f)}PJ zH3qHlKFokMS4GyqkA_6r;nr&+x8N8wOjYX3VUZkI^Q*{4m~dU>D6EC2q4777@u{s! z)uS>a0ZTrDf#C;mBh0!X@-=LOCt=(lBE!%P|ABqbYEWvypO^>^Lq8PQ4D&}t_CYV~ zg1c_w17XfB#?cC;d(J=RV?Nq=QybjvU_fan4`Q;AU$}3S0aCNzzW^fxyoe!12Jm)MH+ZdZ} zHY~zIpJKDmLdQAPXD166`d-rRUgQsbCAJ+{@cKx2wJ}4hHX86>QF-{>D@+wGs^QEE zmnN4vSW!Z&_^S#F?c);_4w}WIs8{fmN(c3GYGpR1a-i}>YU0C{7F*9RB3mW~tuq=T zUtz^6Tli9?W!|gU6R%D5`ixivY*5@qNPNO(zg@d=jTif$wzXi>Bu9Ez8coH>MM9kj zwQ`-`PVKzcZ=nNx$iIR@{JVdZ_V;yO99TpLIS_Etb#4nJ&)bge^K4{@0;B02t>xil zRy;lt6YYllX#2$Bg~Mu-eY$2aaChUPX_E&d n-)LNxIOvXs2RXGVJ8|;dt!~Pm`RKe|hYSbelfuWE)@c6%#s}wW delta 1515 zcmZvcZA@Eb6vv!_n<~4y=;#xx-qL-xEDVr(ZY>~ZGW_H@%pI3(eqx>lHmf2@j z?l>ZoIX;=Nf0Yoo?>8mAL6x~~xh`@bcUC8hsLQociDgDEyJ~du2)PPZB!(Z+gsY~; zUwe@D6(mPOg~@u^O6?_QWF%7bME*m?s{hvBW2&0bno*~UmSA(!uEv*ChvWIiHb?u8 z7hi5}6srH`nf;mq0@a_XJ^^d1j#q5xBsd4Yq(DFg(Eg`f|j- zXC9YAl>NZG8S$^dFxYUJISS@o!TNiIa9_nbZ~)u|7W@PqcaAQ zVVMx$fUCi--kfy-7nltN@lxW?z=g z^)2&USW987fVIK0smf=O6V&8$O9%D&obp||hnA03|;cuWerXF)8q$~Qky0#s2Fn()nUF)`)chno%%4Zrn9wAJ0?*O zMr}6??G_a%hOs3vE&ecUE8>IXt+Puf1?!$t60gzmx=r{;$a;(Xhivsu*+pgbPQ@}r zd+ImY8c-ii+G6dN0i!{MtJOv9z~Tb{S8{ygKRskY)F&C5WUX^b`m^W-Vo9n6xm)E7*Zhv^jN({weM zy0Ux%<)dv;ZXA}%huB026;=Reh|Hlh99S5#%N_J==&_W?QG|0hhhjY}3e`;HNGRDr zQN>FAFYGn9&3CCirO0D+lXttNc%jSn&SyV&#Iw!w&kJ#bCmvtub?9x|?TJcEPsiKy pmM`{Ey3t;g5Uq)eqmU{tJ diff --git a/suckless/slstatus/slstatus.o b/suckless/slstatus/slstatus.o index 551855be34e2b3151545823b319500284013e922..d4578255c72ba2e812d1bbffcd201b9efc38405e 100644 GIT binary patch delta 312 zcmca$_`-042IGr~n)kz_-#4sKP*5#ajb%v8&8$c*QbDlkN=7Be_Gh5!XYMkz3C_Fzn4*}R<9 zkcV;iWJU?$$!`Q@7++836w>GX&Hw=plP?O1PmU1M;ACKgh(v%z76@rbu|q`)plU%} zHXs&a-26zWjgc{8a;C^}M#ag7qUMa1lQTu_84D(_1d<+;UjoSulQqTc84pa(6tibN z!3xwinUPa?@&Pdo#v7AgirF*$V4ZBpDmK|cT!Zn)G!TZkVC!T<5qSWl=Tc$- delta 260 zcmaE1c)@Uj2IGZ^n)e+PqTe^HP*6}UR*h9)C`ioBtVk_V(A7;(EzvE@&neAKWl)HI zx4#vn0;oVCTD6$L$uY!`0jfh`b39`L%jN^D20V;=Cw~;wXS_67QAnTh-sC_bamL4! zGlldeUob#G1e9h3(riHdc=AReea`n#(Spefg~T@rH!w0fOl}l8&d4>{Q`DR>X>y~e z{p1D_j>#uPEf@_ZGm6