projmux 0.8.2 → 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.
- package/docs/agent-workflow.md +2 -2
- package/docs/cli.md +5 -4
- package/docs/configuration.md +6 -4
- package/docs/keybindings.md +9 -3
- package/docs/settings-ia.md +3 -3
- package/docs/statusbar.md +6 -4
- package/package.json +5 -5
package/docs/agent-workflow.md
CHANGED
|
@@ -44,13 +44,13 @@
|
|
|
44
44
|
- `make test` also covers AI semantic badge renderer aggregation for window-list, sidebar rows, switch window tabs, popup pane summaries, and pane-border topic badges using prompt-required > response-complete > in-progress priority while preserving blank no-state lanes, response-complete live badge consume on attention clear without idling action-required/progress badges, plus Settings > Appearance AI badge style selection for dot/emoji/off pane-border, Alt-1 sidebar window/preview tabs, and tmux window-status compatibility with dot as the persisted/config fallback.
|
|
45
45
|
- `make test` also covers AI semantic badge Phase 3 theme-role hardening: `@projmux_ai_badge_kind` storage values and aggregate priority stay unchanged, `minimal` remains a read-time alias for the `off` badge style, progress/success/action-required badge roles stay distinct, permission/input status badges do not use critical red, and critical notify queue severity does not drive live AI status badge colors or desktop notification urgency.
|
|
46
46
|
- `make test` also covers keybinding surface tier catalog rules, action-centered `keymap.toml` `keys = [...]` multi-alias parsing/writing, quoted internal `Surface:Action` tables, legacy popup action ID aliases, canonical popup toggle names, AI split popup-vs-direct action labels, generated tmux config multi-alias rendering, global/direct conflict detection, surface-scoped native picker command conflict detection, Settings Keybindings list/search/detail surface-aware picker-local labels, compact action-list state copy, flat Keys list/action detail rows, key detail remove/test rows, capture-unavailable Add key direct recorder routing with Advanced typed entry retained on Action detail, recorder Recording/Staged/Confirmed transitions, empty Enter no-op, Esc cancellation, staged candidate replacement, native byte-stream normalization/confirmation/conflict recovery, and one-reader/no-event-leak lifecycle, collapsed Troubleshooting entry copy, Settings delivery diagnostics that split logical key/raw bytes/tmux received key while distinguishing missing, ambiguous, adapter-needed, and delivered states, safe direct key pool and risky/reserved diagnostic-only copy, Projmux-owned Ghostty/Windows Terminal advanced delivery copy, raw escape/CSI-u/xterm modified/UserKey/UserSequence rejection from primary keymap storage, Labs compatibility redirect to the Keybindings root, existing macOS capture/add-key flows, unsafe raw capture, reset behavior, stale guide docs guards, and welcome/runtime footer copy that avoids hardcoded launch-key guides.
|
|
47
|
-
- Darwin native-key focused coverage includes portable physical chord parsing for Alt/Option, Control, Control-Option, Shift, letters/digits/navigation/function keys, `darwin && cgo` synthetic event-to-canonical-chord mapping for Option, Control, shifted letters, function keys, and arrows with unmatched/plain event pass-through, shared `keymap.toml` custom-action loading (including `M-a`), focused tmux client discovery, canonical `send-keys -K -c` dispatch through the existing root key table, native Settings Add key capture winning over terminal text
|
|
47
|
+
- Darwin native-key focused coverage includes portable physical chord parsing for Alt/Option, Control, Control-Option, Shift, letters/digits/navigation/function keys, `darwin && cgo` synthetic event-to-canonical-chord mapping for Option, Control, shifted letters, function keys, and arrows with unmatched/plain event pass-through, shared `keymap.toml` custom-action loading (including `M-a`), focused tmux client discovery, canonical `send-keys -K -c` dispatch through the existing root key table, native Settings Add key capture winning over simultaneous terminal text/error results after ignoring the activation Enter while the non-Darwin path preserves immediate terminal capture, default-on shell startup, `PROJMUX_NATIVE_KEYS=0`/`false` and Settings `[ui].native_keys = false` broker opt-out gates, broker direct no-op behavior, one-time pre-permission consent guidance, broker-only process replacement after an Accessibility wait so fresh macOS permission state is observed without restarting tmux, preservation of the direct no-server shutdown boundary while permission is pending, and an explicit Linux/Windows/no-CGO shell startup no-op boundary.
|
|
48
48
|
- `make test` covers the default picker key ownership across catalog, generated tmux config, terminal adapters, setup probes, and native popup close hints: `Alt-4` opens AI Resume as a guaranteed launch default, while `Alt-7` opens the AI split picker as its editable default.
|
|
49
49
|
- `make test` also covers welcome revisit policy: legacy welcome state remains readable without suppressing shell entry, Enter continues without storing release skip, `s` stores an update skip for the current latest tag when an update is available, source installs show disabled Upgrade guidance, stale update cache refresh is best-effort, Settings > About > Welcome opens a Settings-native viewer without pending state, and shell prompt display does not schedule a redundant attach popup.
|
|
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
|
|
301
|
-
`/proc/
|
|
302
|
-
|
|
303
|
-
|
|
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
|
|
package/docs/configuration.md
CHANGED
|
@@ -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.
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
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.
|
package/docs/keybindings.md
CHANGED
|
@@ -79,7 +79,9 @@ modified chords from the configured keybinding catalog, never plain-text
|
|
|
79
79
|
typing; physical Option needs the event tap because terminals may convert it
|
|
80
80
|
before tmux can see it; and capture plus tmux injection stay on the local
|
|
81
81
|
machine. The broker then waits for approval and enables the event tap
|
|
82
|
-
automatically
|
|
82
|
+
automatically. While it is waiting, it replaces only its background broker
|
|
83
|
+
process so macOS permission changes are observed with fresh process state; the
|
|
84
|
+
tmux session does not need to be restarted.
|
|
83
85
|
|
|
84
86
|
Native macOS delivery remains on by default. To prevent the broker from
|
|
85
87
|
starting—and therefore prevent the Accessibility prompt—turn off **Native
|
|
@@ -106,8 +108,12 @@ On Darwin, Settings > Keybindings > Add key keeps racing native modified-key
|
|
|
106
108
|
capture against the existing controlling-TTY capture. This lets Press a key
|
|
107
109
|
store a new physical Option, Control, Control-Option, or Shift-modified chord
|
|
108
110
|
before the terminal turns it into text; ordinary keys still use the portable
|
|
109
|
-
TTY path. The
|
|
110
|
-
|
|
111
|
+
TTY path. The activation Enter is ignored as a recorder control, and a short
|
|
112
|
+
Darwin-only preference window lets the native physical chord win when the
|
|
113
|
+
terminal's translated bytes arrive at the same time. Linux, WSL, and Windows
|
|
114
|
+
keep their existing immediate terminal-capture ordering. The Darwin transport
|
|
115
|
+
lifecycle, Accessibility policy, and event mapping are unchanged by the
|
|
116
|
+
Linux/WSL recorder described below.
|
|
111
117
|
|
|
112
118
|
## Discoverable Actions
|
|
113
119
|
|
package/docs/settings-ia.md
CHANGED
|
@@ -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
|
|
86
|
-
updates live tmux state when toggled, and renders unavailable on
|
|
87
|
-
platforms. WSL
|
|
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,
|
|
73
|
-
off, and updates with tmux's existing five-second status interval.
|
|
74
|
-
aggregate delta from `/proc/stat`; memory is
|
|
75
|
-
`(MemTotal - MemAvailable) / MemTotal` from `/proc/meminfo`.
|
|
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
|
+
"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.
|
|
32
|
-
"@projmux/linux-arm64": "0.8.
|
|
33
|
-
"@projmux/darwin-x64": "0.8.
|
|
34
|
-
"@projmux/darwin-arm64": "0.8.
|
|
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
|
}
|