Commit Graph
8 Commits
Author SHA1 Message Date
Martín Lucas Golini 66d2c9d4d2 eproc: improve startup memory collection and tab navigation
Publish the base process snapshot without waiting for PSS collection.
Leave Family Memory blank until startup accounting completes.

- Derive PSS policy from saved column visibility before startup.
- Collect Linux startup PSS with four temporary workers and seed the cache.
- Apply completed samples only to matching process identities without
  advancing performance history or aging ended processes.
- Preserve live cache entries while memory columns are hidden and
  invalidate entries on PID reuse.
- Share table-state parsing and validation; remove unused migrations.
- Add next-tab and previous-tab commands with Mod+Tab and Mod+Shift+Tab.
- Remember and restore each tab's last focused widget.
- Add coverage for startup collection, cache lifetime, saved visibility,
  and asynchronous family-memory updates.
2026-10-07 02:27:25 -03:00
Martín Lucas Golini 1de732962d Add eproc Performance view and family memory metrics
- Add CPU, memory, GPU, and network charts with ten-minute history,
  a 60-second view, clickable cards, and overall or per-core CPU views.
- Add Family Memory and Family Memory % to both process views. Use
  proportional memory on Linux, count zero-memory zombies correctly,
  and collect the data after the first frame without delaying it.
- Add column tooltips, rename Total Memory to Resident Memory, keep
  Command last by default, and migrate saved column layouts.
- Enable sorting within each tree level and preserve selection.
- Improve eepp chart margins and sorting behavior, and document UIChart.
2026-09-25 16:22:00 -03:00
Martín Lucas Golini f0ecd50609 Add macOS and initial FreeBSD support to eproc
- Collect process and system metrics on macOS and FreeBSD.
  - Resolve macOS app icons and share the XDG icon resolver between Linux and FreeBSD.
  - Hide unavailable columns, label resident memory “Real Mem” on macOS, and scale row height with pixel density.
  - Fix Premake filters and add macOS collector tests.
2026-09-24 02:37:24 -03:00
Martín Lucas Golini 6062639784 Add basic Windows support to eproc. 2026-09-23 21:52:06 -03:00
Martín Lucas Golini d551ac170c Expand eproc and improve eepp table and tree views
Add process columns, GPU metrics, tree mode, multi-process actions,
GUI and tray detection, and persistent filter and table settings.

Add optional column header reordering to eepp table and tree views.
Keep dragged headers in place during refresh and draw them above other
headers. Preserve row selection when sorting and when opening context
menus, and support application items in header context menus.

Refresh eepp and tool icons and add the icon generation script.
Add tests for the process views, icon decoding, and GUI table behavior.
2026-09-23 20:57:34 -03:00
Martín Lucas Golini 7a63e13070 Fix eproc not displaying the full command. Fix UITableHeaderColumn mist-firing a sort after drag. 2026-09-22 01:30:27 -03:00
Martín Lucas Golini 53f1fe6045 perf(ui): store Variant values inline
Replace Variant's heap-owned payloads with manually managed inline
  storage while preserving its return-by-value API.

  - inline std::string, String, DrawablePtr, Vector2f, and Rectf
  - add move construction and capacity-preserving assignment
  - add explicit borrowed std::string support and string views
  - avoid redundant conversions in table and tree hot paths
  - borrow stable process fields in eproc
  - eliminate per-frame eproc class allocation churn
  - focus the eproc search input on startup
  - add comprehensive Variant lifecycle and ownership tests
2026-09-21 02:37:11 -03:00
Martín Lucas Golini 1ae2b7180b Add initial eproc system monitor
- Add the eproc process-monitoring application and persistent window/table state
  - Implement Linux process, network, GPU, icon, and GUI-window collection
  - Add optional process columns, styling, i18n-ready strings, and command copying
  - Retain exited processes for one update and color them as ended
  - Extend table sizing and header behavior for persisted column layouts
  - Organize Linux-specific sources under platform/linux
  - Keep unsupported platforms buildable with a startup WIP warning
2026-09-20 02:36:54 -03:00