projmux 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,7 +50,7 @@
50
50
  - `make test` also covers transport-dependent app tmux defaults for pane/window navigation (`M-Left`/`M-Right`/`M-Up`/`M-Down` and `M-S-Left`/`M-S-Right`) while keeping visible default chords, allowing additive safe plain aliases that do not store or remove the transport defaults, and no UserKey/CSI-u generated fallback.
51
51
  - `make test` also covers direct `projmux ai split --agent <claude|codex|antigravity|shell|selective|resume>` launches, enabled-agent gating for disabled direct launches and disabled saved defaults, `--force-agent` as an explicit direct CLI-only override, selective picker filtering with all-disabled shell fallback guidance, resume picker routing/New delegation/zero-session fallback/Phase 1 fresh fallback contract, config-default preservation, extra args appended to resolved agent executables, managed pane metadata, title watcher startup, layout application, plain shell split behavior, selective picker delegation, invalid direct-agent usage errors, and regressions that direct concrete-agent and saved-default splits create a new pane without probing existing AI pane metadata or selecting an existing pane, including when launched from the current AI pane.
52
52
  - `make test` also covers Settings IA regression guards for `send-noti` visibility in Hooks, no nested Project recipe inside Hooks, Project recipe/AI/Labs view-first detail rows, Appearance Path/Git/Notify icon direct off/symbol/emoji preview selection with no Change page, Notifications root/Desktop notifications/Delivery sources relocation, localized Korean Desktop notifications root/detail chrome without visible English residue, Delivery sources command-row clipboard copy, and Labs Project Hooks overview-first rows.
53
- - `make test` also covers the Linux/WSL live resource status Lab: default-off and atomic saved-value persistence, direct Labs on/off mutation plus live tmux option update, generated app/standalone conditional placement between git and clock, `/proc/stat` first/delta/reset/malformed/overflow and stale-reference handling, `/proc/meminfo` `MemAvailable` semantics, 0–100 clamping, atomic private sample-cache writes, and compact unavailable rendering.
53
+ - `make test` also covers the macOS/Linux/WSL live resource status Lab: default-off and atomic saved-value persistence, direct Labs on/off mutation plus live tmux option update, generated app/standalone conditional placement between git and clock, Linux `/proc/stat` first/delta/reset/malformed/overflow and stale-reference handling, Linux `/proc/meminfo` `MemAvailable` semantics, macOS native Mach CPU tick and free/inactive memory sampling, 0–100 clamping, atomic private sample-cache writes, and compact unavailable rendering.
54
54
  - `make test` also covers AI desktop notification dedupe precedence (env override > Settings saved value > default), Desktop notifications mode persistence through `desktop-notify-mode`, saved-config precedence over live tmux options, `projmux tmux apply` regeneration of `@projmux_desktop_notify_mode`, configured dedupe-window collapse/send behavior, Settings > Notifications AI dedupe preset/custom rows, explicit notify focus consume rules for selected critical rows and older same-pane non-critical AI cleanup, preservation of critical/permission/stop-failure/external/git/k8s rows during bulk cleanup, OS Toast click-to-focus queue consume, WSL Toast protocol handler hidden-launcher registration with `wsl.exe --exec` URI forwarding, and attention clear paths that do not ack the queue.
55
55
  - `make test` also covers AI hook runtime action precedence over catalog defaults, runtime quiet for known Codex notify events, runtime notify for known Claude quiet events, generic in-app-only notify rows for known Codex hook events without specialized handlers, suppression of desktop notification and `send-noti` dispatch on that generic path, separation of runtime hook action from catalog install events, Settings > Notifications hook quiet policy display/write behavior without external install/remove execution, hook desktop notification payload parity with the in-app queue text across the shared OS notification payload, normal/transient OS urgency and expiration for critical AI queue rows, and dormant title/capture fallback gating once a pane is hook-active.
56
56
  - `make test` also covers Settings > Session State as global settings-only UI with default-off auto-save, Sidebar startup picker relocation/compatibility, and no window/pane tree, Settings > Project > Session State project-derived identity plus project auto-save override/effective source rows and distinct Save latest snapshot / Save named snapshot labels, closed-project save disabled reasons, named snapshot portable path conversion, project/global auto-save precedence, Projects > Sessions > State read-only latest/named snapshot overview with window/pane cwd/recipe/agent-resume health, user-facing `projmux session-state` status/save/delete/restore dry-run actions including explicit manual save bypass of disabled autosave and agent resume status/confidence preview, and Project open sidebar startup coverage for Session State opt-in `Start project`, default-off empty creation, Latest snapshot, Named snapshot, Empty session, Back, saved-at row metadata, existing-session skip, startup-before-trust ordering, detached sidebar open continuation before client-scoped separate trust popup handoff without sidebar inline trust UI, trust approve continuation, and trust deny/cancel no-session sidebar refresh behavior.
package/docs/cli.md CHANGED
@@ -297,10 +297,11 @@ projmux status resources
297
297
  age, and `+<extras>`. Window/pane ids remain routable metadata but are not
298
298
  displayed in the compact HUD. Degrades through width tiers; default
299
299
  `--max-width` is `200` runes.
300
- - `resources` — Linux/WSL aggregate `CPU N% MEM N%` from `/proc/stat` and
301
- `/proc/meminfo`. CPU needs two invocations to establish a delta and renders
302
- `--` for the first sample. WSL reports the Linux guest/VM view. Unsupported
303
- platforms and unreadable procfs data produce no error output.
300
+ - `resources` — macOS/Linux/WSL aggregate `CPU N% MEM N%`. Linux uses
301
+ `/proc/stat` and `/proc/meminfo`; macOS uses native Mach host statistics.
302
+ CPU needs two invocations to establish a delta and renders `--` for the first
303
+ sample. WSL reports the Linux guest/VM view. Unsupported platforms and
304
+ unreadable system metrics produce no error output.
304
305
 
305
306
  ## statusbar
306
307
 
@@ -780,10 +780,12 @@ CPU/memory segment on the lower status row. The saved global value is:
780
780
  ```
781
781
 
782
782
  Accepted values are `off` (default) and `on`. The feature is available on
783
- native Linux and WSL. It reads Linux procfs directly without launching `top`,
784
- `free`, PowerShell, or another metrics process. In WSL the values describe the
785
- Linux guest/VM view, not total Windows host utilization. The CPU delta cache is
786
- internal state at
783
+ macOS, native Linux, and WSL. Linux reads procfs directly; macOS reads Mach host
784
+ statistics and `hw.memsize`. Neither path launches `top`, `vm_stat`, `free`,
785
+ PowerShell, or another metrics process. On macOS, available memory is free plus
786
+ inactive pages, matching the reclaimable-memory intent of Linux
787
+ `MemAvailable`. In WSL the values describe the Linux guest/VM view, not total
788
+ Windows host utilization. The CPU delta cache is internal state at
787
789
  `${XDG_STATE_HOME:-~/.local/state}/projmux/live-resources-sample.json`.
788
790
  CPU reference samples older than 30 seconds are ignored and replaced on the
789
791
  next refresh.
@@ -82,9 +82,9 @@ view-first layout:
82
82
  visible Labs row. The hidden compatibility action redirects to the
83
83
  `Settings > Keybindings` action list, not to a diagnostic default.
84
84
  - `Settings > Labs > Live system resources` is a direct global on/off toggle
85
- for the Linux/WSL lower-status-row `CPU N% MEM N%` segment. It defaults off,
86
- updates live tmux state when toggled, and renders unavailable on unsupported
87
- platforms. WSL copy identifies the values as the Linux guest/VM view.
85
+ for the macOS/Linux/WSL lower-status-row `CPU N% MEM N%` segment. It defaults
86
+ off, updates live tmux state when toggled, and renders unavailable on
87
+ unsupported platforms. WSL values describe the Linux guest/VM view.
88
88
  - `Settings > Labs > Project Hooks` is overview-first. The Labs root opens the
89
89
  overview, and the on/off mutation rows live one level deeper.
90
90
  - `Settings > AI Settings` is view-first. The root contains `Default split
package/docs/statusbar.md CHANGED
@@ -69,10 +69,12 @@ row 1 [#S] #{pane_current_path} ⎈ <ctx>/<ns> <git> CPU 12% MEM 41% 
69
69
  and tab titles are centered in a fixed-width trim so long active pane names
70
70
  do not resize the status row.
71
71
  - `Settings > Labs > Live system resources` adds the compact `CPU N% MEM N%`
72
- segment between git and the clock on Linux and WSL. It is global, default
73
- off, and updates with tmux's existing five-second status interval. CPU is the
74
- aggregate delta from `/proc/stat`; memory is
75
- `(MemTotal - MemAvailable) / MemTotal` from `/proc/meminfo`. The first CPU
72
+ segment between git and the clock on macOS, Linux, and WSL. It is global,
73
+ default off, and updates with tmux's existing five-second status interval.
74
+ Linux CPU is the aggregate delta from `/proc/stat`; memory is
75
+ `(MemTotal - MemAvailable) / MemTotal` from `/proc/meminfo`. macOS CPU uses
76
+ the aggregate Mach host tick delta; memory is total physical memory minus
77
+ free and inactive pages. The first CPU
76
78
  sample renders `CPU --%` until a second counter sample exists. WSL values are
77
79
  the Linux guest/VM view, not whole-Windows host utilization. The generated
78
80
  tmux condition prevents the status subprocess from running while the Lab is
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projmux",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "tmux project session manager",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/crevissepartners/projmux#readme",
@@ -28,9 +28,9 @@
28
28
  "package:npm:pack": "scripts/package-npm.sh --pack"
29
29
  },
30
30
  "optionalDependencies": {
31
- "@projmux/linux-x64": "0.8.3",
32
- "@projmux/linux-arm64": "0.8.3",
33
- "@projmux/darwin-x64": "0.8.3",
34
- "@projmux/darwin-arm64": "0.8.3"
31
+ "@projmux/linux-x64": "0.8.4",
32
+ "@projmux/linux-arm64": "0.8.4",
33
+ "@projmux/darwin-x64": "0.8.4",
34
+ "@projmux/darwin-arm64": "0.8.4"
35
35
  }
36
36
  }