peekme 0.3.3 → 0.3.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.5 (2026-09-30)
4
+
5
+ - Option+P did nothing after a tmux selection when tmux stays in copy mode after the drag (a
6
+ `MouseDragEnd1Pane` binding to `copy-selection`, common in tmux configs). tmux took the key for
7
+ its copy mode. peekme now binds Option+P in tmux's copy mode for its own pane: it leaves copy
8
+ mode and explains what you selected. Other panes are not affected, and a key you bound
9
+ yourself is left as it is.
10
+ - Over SSH, Alt+P with nothing peekme can see now says that text selected with Option held stays
11
+ in your terminal. iTerm2 and Terminal don't give it to programs, so peekme can't read it.
12
+
13
+ ## 0.3.4 (2026-09-29)
14
+
15
+ - Codex inside tmux over SSH: Option+P typed `π` although text was selected. Codex (0.159)
16
+ asks tmux whether it handles the mouse, and when tmux has the mouse off, which is its default,
17
+ Codex leaves the mouse to the terminal. The selection is then made by your terminal on your
18
+ own machine, and peekme on the other side of SSH cannot see it. peekme can't change that, so
19
+ now the first Option+P there opens a box that says so and how to fix it: `set -g mouse on` in
20
+ `~/.tmux.conf`. Alt+P shows the same box. Found by driving the real Codex in Terminal and
21
+ iTerm2 on macOS, through SSH and tmux.
22
+ - On a Mac reached over SSH, peekme no longer reads that Mac's clipboard as a selection. It is
23
+ not the clipboard of the terminal you type in.
24
+ - Short messages in a box now show whole, not one line with PgUp/PgDn.
25
+ - With two copies of peekme on one machine (an old one from `cargo install`, a newer one from npm
26
+ or Homebrew), `codex` could keep starting the old copy. The old copy's `peekme install` had
27
+ linked `codex` to itself, and the new copy only fixed links that were missing. So Codex got
28
+ none of the later fixes, for example Option+P inside tmux over SSH, while `claude` worked. Now
29
+ the newer peekme moves such links to itself when it starts, and says so once.
30
+
3
31
  ## 0.3.3 (2026-09-29)
4
32
 
5
33
  - Claude Code with Amazon Bedrock, Google Vertex or an API gateway: explanations failed with
package/README.md CHANGED
@@ -11,9 +11,9 @@ room, like Peek in VS Code. Esc closes it and the screen is exactly as before.
11
11
  The explanation comes from a small, fast model and it knows the conversation. If you select
12
12
  "its split panes" in an answer that recommends Kitty, it tells you it is about Kitty.
13
13
 
14
- Status: 0.3.3. Tested with Claude Code 2.1.284, Codex 0.159 and Copilot CLI 1.0.89 on Linux, also
15
- inside tmux and over SSH. On macOS it is tested in Terminal and iTerm2 with a stand-in agent, also
16
- inside tmux and over SSH.
14
+ Status: 0.3.5. Tested with Claude Code 2.1.285, Codex 0.159 and Copilot CLI 1.0.89 on Linux, also
15
+ inside tmux and over SSH. On macOS it is tested in Terminal and iTerm2 with a stand-in agent, and
16
+ in Terminal with the real Codex, also inside tmux and over SSH.
17
17
 
18
18
  ## One peekme for all your agents
19
19
 
@@ -34,46 +34,21 @@ GitHub Copilot CLI:
34
34
 
35
35
  ## Install
36
36
 
37
- You need Claude Code, Codex CLI or GitHub Copilot CLI (logged in). More than one is fine too. Then install peekme in one of
38
- these ways and run `peekme install`:
39
-
40
37
  ```
41
- npm i -g peekme # you have npm already if you installed an agent with it
42
- brew install gregorybolshakov/tap/peekme # Homebrew, on macOS or Linux
43
- cargo install peekme # builds it with Rust
38
+ npm i -g peekme
44
39
  peekme install
45
40
  ```
46
41
 
47
- npm 12 may say that it skipped an install script of peekme. That is fine: peekme then downloads
48
- its binary the first time it runs.
49
-
50
- Without npm, Homebrew or Rust, the script from the
51
- [latest release](https://github.com/GregoryBolshakov/peekme/releases/latest) puts peekme in
52
- `~/.local/bin`:
53
-
54
- ```
55
- curl --proto '=https' --tlsv1.2 -LsSf https://github.com/GregoryBolshakov/peekme/releases/latest/download/peekme-installer.sh | sh
56
- ```
57
-
58
- Ready binaries are there too, for Linux and macOS on x86_64 and ARM.
59
-
60
- After this, `claude`, `codex` and `copilot` open with peekme in every new terminal. You keep
61
- typing them as always, and your aliases and scripts that call them keep working. `peekme install`
62
- adds a short, marked block to your `~/.bashrc` or `~/.zshrc` (for fish, a file in
63
- `~/.config/fish/conf.d`). If you install one of the agents later, it gets peekme too.
42
+ Open a new terminal. Now `claude`, `codex` and `copilot` open with peekme, and you type them as
43
+ always. That's all.
64
44
 
65
- ```
66
- peekme doctor # check the setup, and see what is in the way if something is
67
- peekme uninstall # remove the block, your files are as before
68
- command claude # run plain Claude Code once
69
- command codex # run plain Codex once
70
- command copilot # run plain Copilot CLI once
71
- ```
45
+ peekme has no account of its own. The explanation uses the login of the agent you are in.
72
46
 
73
- The first time you run `peekme` on its own, it asks if it should do `peekme install` for you.
47
+ Don't have npm? Use one of these instead of the first line:
74
48
 
75
- When you update peekme and the new version knows more agents, it adds them to your shell setup by
76
- itself the next time it starts, and says so once. They work in new terminals.
49
+ - Homebrew: `brew install gregorybolshakov/tap/peekme`
50
+ - Rust: `cargo install peekme`
51
+ - Neither: `curl -LsSf https://github.com/GregoryBolshakov/peekme/releases/latest/download/peekme-installer.sh | sh`
77
52
 
78
53
  ## Use
79
54
 
@@ -103,6 +78,16 @@ Terminal press Cmd+C after you select. Over SSH only the agent's own selection c
103
78
  use the full screen mode there (Claude Code with `"tui": "fullscreen"`, Codex and Copilot CLI
104
79
  by default).
105
80
 
81
+ Inside tmux, Codex leaves the mouse to the terminal when tmux has the mouse off, which is tmux's
82
+ default. A selection is then your terminal's own, and over SSH peekme cannot read it. Add
83
+ `set -g mouse on` to `~/.tmux.conf` and restart Codex. peekme tells you this the first time you
84
+ press Option+P there.
85
+
86
+ With tmux's mouse on, a drag over text the agent doesn't take is a tmux selection, and Option+P
87
+ explains it, also when your tmux stays in copy mode after the drag. A selection made with Option
88
+ held is your terminal's own. Over SSH no program on the other side can read it, so drag without
89
+ Option there.
90
+
106
91
  In Claude Code, Alt+P opens the model picker. With peekme it explains the selection instead.
107
92
  `/model` still opens the model picker.
108
93
 
@@ -188,6 +173,12 @@ more.
188
173
 
189
174
  ### How `claude`, `codex` and `copilot` get peekme
190
175
 
176
+ ```
177
+ peekme doctor # check the setup, and see what is in the way if something is
178
+ peekme uninstall # remove it, your files are as before
179
+ command claude # run plain Claude Code once (same for codex, copilot)
180
+ ```
181
+
191
182
  `peekme install` does two things:
192
183
 
193
184
  1. It defines shell functions `claude`, `codex` and `copilot` in your shell setup. A function wins over
@@ -200,6 +191,15 @@ more.
200
191
  Both find the real agent on PATH themselves, so updating the agent changes nothing. If you
201
192
  remove peekme, the functions fall back to the plain agents.
202
193
 
194
+ The block in `~/.bashrc` or `~/.zshrc` (for fish, a file in `~/.config/fish/conf.d`) is short
195
+ and marked. It covers all three agents, so an agent you install later gets peekme too. When a new
196
+ peekme version knows more agents, it adds them to your setup the next time it starts and says
197
+ so once.
198
+
199
+ npm 12 may say that it skipped an install script of peekme. That is fine: peekme then downloads
200
+ its binary the first time it runs. Ready binaries for Linux and macOS (x86_64 and ARM) are on the
201
+ [latest release](https://github.com/GregoryBolshakov/peekme/releases/latest) page.
202
+
203
203
  To use peekme with another program, run `peekme -- COMMAND`.
204
204
 
205
205
  ## Limits
@@ -19,7 +19,7 @@
19
19
  "hasInstallScript": true,
20
20
  "license": "MIT OR Apache-2.0",
21
21
  "name": "peekme",
22
- "version": "0.3.3"
22
+ "version": "0.3.5"
23
23
  },
24
24
  "node_modules/detect-libc": {
25
25
  "engines": {
@@ -48,5 +48,5 @@
48
48
  }
49
49
  },
50
50
  "requires": true,
51
- "version": "0.3.3"
51
+ "version": "0.3.5"
52
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/GregoryBolshakov/peekme/releases/download/v0.3.3"
3
+ "https://github.com/GregoryBolshakov/peekme/releases/download/v0.3.5"
4
4
  ],
5
5
  "author": "Gregory Bolshakov",
6
6
  "bin": {
@@ -69,7 +69,7 @@
69
69
  "zipExt": ".tar.xz"
70
70
  }
71
71
  },
72
- "version": "0.3.3",
72
+ "version": "0.3.5",
73
73
  "volta": {
74
74
  "node": "18.14.1",
75
75
  "npm": "9.5.0"