[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
|
- [ ] Media controls
|
||||||
- [ ] AppLauncher (possibly, if anyrun is no good)
|
- [ ] AppLauncher (possibly, if anyrun is no good)
|
||||||
- [ ] OSD (see [here](https://github.com/Aylur/astal/tree/main/examples/gtk3/js))
|
- [ ] 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
|
- [ ] Text recognition
|
||||||
- [ ] Theming
|
- [ ] Theming
|
||||||
- [ ] Vivado dark mode
|
- [ ] Vivado dark mode
|
||||||
|
Loading…
x
Reference in New Issue
Block a user