[AGS] Bar: Start sysinfo
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import { exec, GLib } from "astal"
|
||||
|
||||
const featureTest = () => {
|
||||
// Check if awk is available
|
||||
try {
|
||||
exec( 'awk -V' );
|
||||
exec( 'sed --version' );
|
||||
enabled = true;
|
||||
} catch ( e ) {
|
||||
printerr( '[ SysInfo ] AWK or SED missing! No system info will be available' );
|
||||
enabled = false;
|
||||
return;
|
||||
}
|
||||
try {
|
||||
exec( 'mpstat' );
|
||||
} catch ( e ) {
|
||||
availableFeatures.cpu = false;
|
||||
printerr( '[ SysInfo ] Feature Test for CPU info failed. mpstat from the sysstat package missing!' );
|
||||
}
|
||||
}
|
||||
|
||||
let enabled = false;
|
||||
|
||||
const availableFeatures = {
|
||||
cpu: true,
|
||||
ram: true,
|
||||
bat: true,
|
||||
net: false,
|
||||
brightness: true,
|
||||
}
|
||||
|
||||
const sysInfoFetcher = () => {
|
||||
if ( enabled ) {
|
||||
if ( availableFeatures.cpu ) {
|
||||
const cpuUtil = exec( 'mpstat | awk "/all/ {print(100 - $NF)"}' );
|
||||
}
|
||||
if ( availableFeatures.ram ) {
|
||||
const ramUtil = exec( `free | awk '/Mem/ { printf("%.2f\\n", ($3/$2)*100) }'` );
|
||||
}
|
||||
if ( availableFeatures.bat ) {
|
||||
const acpi = exec( `acpi -i | grep 'Battery'` );
|
||||
// TODO: Parse acpi output
|
||||
}
|
||||
// if ( availableFeatures.net ) {
|
||||
// // Using ifstat or vnstat probably, get current network de
|
||||
// }
|
||||
if ( availableFeatures.brightness ) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const SystemInfo = () => {
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user