[AGS] Bar: Start sysinfo

This commit is contained in:
Janis Hutz 2025-04-21 12:44:41 +02:00
parent b2f1d8fd9e
commit f4b259dd13
2 changed files with 57 additions and 0 deletions

View File

@ -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 = () => {
}

View File

@ -16,6 +16,7 @@
- [ ] Media controls
- [ ] AppLauncher (possibly, if anyrun is no good)
- [ ] OSD (see [here](https://github.com/Aylur/astal/tree/main/examples/gtk3/js))
- [ ] Open Window List for bar when hovering over window title and per-workspace when hovering over workspace
- [ ] Text recognition
- [ ] Theming
- [ ] Vivado dark mode