How fromwau/dotfiles works
This repository is a personal Linux desktop configuration, with an AGS bar and a small Rust CLI for shared Hyprland session state. The documented state workflow is: desktop tools invoke hyprstate to update state.json; AGS watches that file and refreshes its UI, while Hyprland reads it during reloads. The tree includes AGS and hyprstate, but not the documented Hyprland configuration or other client scripts, so those are represented only as external systems. Connections are based on the README or the sampled CLI source.
Main entry points: main.rs hyprstate CLI · state.ts State monitor · app.tsx AGS application · Bar.tsx Bar
Components 14
Desktop UI
- AGS application
.config/ags/app.tsx - Bar
.config/ags/widget/Bar.tsx - Settings UI
.config/ags/widget/Settings.tsx - Status widgets
.config/ags/widget/components - State monitor
.config/ags/utils/state.ts - Display mode
.config/ags/utils/displayMode.ts
Session State
- hyprstate CLI
hyprstate/src/main.rs - state.json
App Launcher
- Walker configuration
.config/anyrun
Other components
- Desktop user
- Hyprland
- Desktop notifications
- Desktop state clients
- Launcher user
Connections 13
- Desktop user → AGS application: uses
- AGS application → Bar: renders
- AGS application → Settings UI: renders
- Bar → Status widgets: renders
- State monitor → state.json: watches
- State monitor → Bar: refreshes
- State monitor → Status widgets: refreshes
- Desktop state clients → hyprstate CLI: invokes
- hyprstate CLI → state.json: reads and writes
hyprstate/src/main.rs - hyprstate CLI → Hyprland: reloads
hyprstate/src/main.rs - hyprstate CLI → Desktop notifications: notifies
hyprstate/src/main.rs - Hyprland → state.json: reads on reload
- Launcher user → Walker configuration: launches