[AGS] Bar: Start sysinfo
This commit is contained in:
parent
b2f1d8fd9e
commit
f4b259dd13
@ -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 = () => {
|
||||
|
||||
|
||||
}
|
1
notes.md
1
notes.md
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user