## TODO

- [ ] show PID of services
- [ ] show memory and maybe CPU use of services
- [ ] unit files
  - [ ] command to open unit file in text editor
  - [x] figure out path to unit file
  - [x] command to copy unit file path to clipboard
- [x] Overhaul rendering for lower CPU usage
- [x] Figure out inconsistent dev compile times. Sometimes 1s, sometimes 17s
- [x] Finish the work of updating services. Add new ones, delete no longer present ones
- [x] Use indexmap to speed up updating services
- [x] Fix jank where service refresh changes scroll position in services list
- [x] show substate in parens like `Active (Running)`
- [x] use journalctl -f to follow logs for instant refresh
- [x] display error (like when start/stop fails)
- [x] display spinner while starting up service
  - [x] generalize spinner logic to all actions
- [x] refresh logs on a timer
- [x] refresh services on a timer
- [x] put on crates.io
- [x] Implement scrolling with pgup/pgdown
- [x] try adding a modal help menu/command picker like x/? in lazygit
- [x] when searching, auto-select the first result
- [x] select first item by default
- [x] add color for stopped/running status
- [x] add some color (for dates maybe?)
- [x] ctrl-f for find
- [x] move logs to their own pane
