How playrood32/adw-network works
Adwaita Network is a GNOME network-management desktop app. Users manage Wi-Fi and Ethernet, configure and run hotspots, administer connected clients, and manage connection profiles/VPNs through separate UI pages. The main control path is the window and page handlers invoking network, hotspot, configuration, or modem services; these services interact with NetworkManager, persistent files, and optional system tools. The README documents major capabilities not visible in the sampled excerpts; those are represented at their supported module or directory paths, with uncertain internal wiring omitted.
Main entry points: window.rs App window · mod.rs Hotspot page · devices_page.rs Devices page · hotspot.rs Hotspot service
Components 22
Application UI
- App window
src/window.rs - Wi-Fi page
src/ui/wifi_page/mod.rs - Ethernet page
src/ui/ethernet_page.rs - Devices page
src/ui/devices_page.rs - Hotspot page
src/ui/hotspot_page/mod.rs
Network Management
- Network service
src/nm.rs - Network D-Bus
src/nm_dbus.rs - Modem client
src/modem_manager.rs - QR generation
src/qr.rs
Hotspot and Clients
- Hotspot service
src/hotspot.rs - Runtime rules
src/hotspot_runtime.rs - Client leases
src/leases.rs - Hotspot config
src/config.rs - Password storage
src/secrets.rs
Profiles and Settings
- Profiles page
src/ui/profiles_page.rs - Profile service
src/profiles.rs - App settings
src/config.rs
Other components
- Desktop user
- NetworkManager
- ModemManager
- App config files
- tc / nftables
Connections 28
- Desktop user → App window: uses
- App window → Wi-Fi page: presents
- App window → Ethernet page: presents
- App window → Hotspot page: presents
- App window → Devices page: presents
- App window → Profiles page: presents
- Wi-Fi page → Network service: scans / connects
- Ethernet page → Network service: manages connections
- Profiles page → Network service: manages VPNs
- Network service → Network D-Bus: uses
- Network D-Bus → NetworkManager: D-Bus requests
- Devices page → Modem client: reads / controls
- Modem client → ModemManager: D-Bus requests
- Hotspot page → Hotspot service: starts / stops
- Hotspot page → Hotspot config: saves settings
- Hotspot config → App config files: reads / writes
- Hotspot page → Password storage: stores password
- Hotspot page → QR generation: requests QR
- Hotspot service → NetworkManager: configures hotspot
- Hotspot service → Runtime rules: syncs rules
- Hotspot service → Client leases: reads clients
- Devices page → Client leases: lists clients
- Devices page → Hotspot config: edits device rules
- Runtime rules → tc / nftables: applies limits
- Profiles page → Profile service: manages profiles
- Profile service → App config files: reads / writes
- Profiles page → App settings: loads settings
- App settings → App config files: reads / writes