Finalmente una entrada útil!!! jaja. Como me he cambiado hace poco a OpenBSD he tenido que modificar el script del statusbar de spectrwm, así que vengo a compartir lo que he logrado conseguir hasta el momento.
Sysctl es un comando bastante útil en OpenBSD y que nos otorga la mayoría de
la información sobre nuestro sistema (y de la que vamos a usar en nuestra
barrita). Por ejemplo saber la velocidad actual de nuestro proceador, el
problema radica en que al pedirlo nos devuelve el input más el output, ej:
sysctl hw.cpuspeed
devuelve hw.cpuspeed=2534
. Nosotros
no queremos eso en nuestra barra ¿verdad? Por suerte un agregando el argumento "-n"
nos devuelve solo lo que queremos!!!!
cpu() { CPU_SPEED=`sysctl -n hw.cpuspeed` printf "CPU Speed: %4d MHz" $CPU_SPEED } fan(){ fan=`sysctl -n hw.sensors.acpithinkpad0.fan0` echo -e "Fan: $fan" }
Esta función nos devuelve el volumen en porcentajes, ya que sndioctl devuelve el volumen en la forma 0.485 para decir 48% y 1.000 para decir 100%, por ejemplo.
vol() { vol=`sndioctl -n output.level | sed 's/0*\.//;s/.$//` echo -e "VOL: $vol%" }
Este proximo comando elimina, aparte del relleno, los decimales y letras que
aparecen en el output de la temperatura del computador. Sin este el resultado
sería el siguiente, ej: 59.00 degC
c(){ c=`sysctl -h hw.sensors.acpithinkpad0.temp1 | sed 's/\([^0-9$].*\)//g' ` echo -e "Temp: ${c}ºC" }
El más esperado por todos, como ver el uso de la ram. YAY.Creditos a solene por el script de uso de ram con awk. Fue dev de OpenBSD, así que creo que sus funciones son optimas
mem() { mem=`ps auwxx |awk '{ sum+=$6 } END { printf "%dM\n", sum/1024 }'` total=`echo "$(sysctl -n hw.usermem) /1024/1024" |bc` echo -e "$mem/${total}M" }
Espero que algunos de estos códigos le sean de utilidad a alguien, a mi me han servido y mi barrita se ve decente otra vez.
Si se ve feo el color, o no se puede leer bien me avisan,me gustó el morado este que le he puesto jaja
Editado el 8 de febrero. El 7 me enteré que dando -n como argumento me iba a devolver el output limpio.... debo aprender a leer los manuales más seguido jaja