[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