- Add eeiv's searchable settings panel, welcome-screen button, and Ctrl/Cmd+, shortcut.
- Persist image filtering and info visibility in state.cfg.
- Backport eterm's font fixes and add matching font controls to eproc.
- Apply font changes to existing widgets and handle UI density correctly.
- Fix rejected-font cleanup to prevent font-picker crashes.
- Restore saved columns and sorting before publishing process data.
- Apply final cell styles before their first paint, avoiding redundant reloads.
- Publish ready startup snapshots on the next UI update.
- Overlap initial Linux process and socket-ownership scans.
- Skip DRM descriptor scans on NVIDIA-only systems, preserving mixed-GPU
and unknown-driver handling.
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.
- Reuse unchanged inline content and fragment lookups.
- Share plain-text min/max intrinsic measurements without copying
existing shaped layout state.
- Preserve content invalidation during active measurements.
- Default URL bar and CLI addresses to HTTPS while preserving
explicit URLs and local file paths.
- Fix Windows header macro conflicts and eproc signal declarations.
- Add regression coverage for reuse, rewrapping, and invalidation
Store native and inherited fallback values outside local styles, then restore them when state rules stop matching. Handle indexed properties across overlapping states and retain a serialized value when an inherited source disappears. Add rollback regression tests and update the CSS documentation
Focus and select the first process row when pressing Down in the search input. Pressing Up from the first row returns focus to search in both table and tree views.
Generate size-aware macOS icons and separate runtime Dock PNGs for ee,
ecode, eterm, eeiv, and eproc. Keep shared PNGs sized for small Linux
icons, and package ecode's macOS runtime icon.
Bump eepp to 5.0.0 (Kittima-attā) and ecode to 0.9.0 (Yanta-lekhā).
Extend truncated Linux process names from argv[0] when it safely matches
the kernel-provided name. Fill performance chart lines and show uptime
in readable days, hours, and minutes, with the new text ready for i18n.
- Add persistent eproc settings for refresh interval, appearance, fonts,
and renderer options, with a settings button in the main window.
- Collect per-core CPU usage on macOS and FreeBSD for Performance charts.
- Keep the settings search focused in eproc and eterm, and wrap long
setting names.
- Share macOS theme-colored titlebar handling across ecode, eproc,
and eterm.
- Stabilize fixed-size UI tests on Retina displays and prevent macOS
build scripts from starting unlimited jobs when sysctl fails.
Use Breeze theme colors for eproc's process table and Performance charts,
while preserving the translucent Username colors. Keep process icons
visible in the light theme with a white tint.
Add eproc CLI options for font hinting, font antialiasing, and color scheme.
Add -c/--prefers-color-scheme to eterm and retain close-on-exit through
its long options.
Support EEPP_FONT_HINTING, EEPP_FONT_ANTIALIASING, and EEPP_COLOR_SCHEME
across eepp UI apps, with valid environment values taking precedence
over application settings. Document and test the overrides.
- 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.
Use KERN_PROC_PROC so eproc shows one row per process instead of one
row per thread.
Select clang by default in Premake 4 and 5, add the required FreeBSD
library paths and links, and remove redundant CI compiler overrides.
Fix the Premake 4 BSD SONAME rule so eproc can find libeepp.so when
launched from the repository root.
- 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.
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.
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
- 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