diff options
| author | Igor Soarez <igor@soarez.org> | 2026-10-05 17:09:21 +0300 |
|---|---|---|
| committer | Igor Soarez <igor@soarez.org> | 2026-10-05 17:09:21 +0300 |
| commit | b79e6822209fa45fc357ddfd3d7caf1598f9af37 (patch) | |
| tree | 5bdb8cb6ef845938cd53cd00da1859830510ae5d /tmuxrdr | |
| parent | 13a3934d76ecf0687905df97cd9b75b28bd1dabf (diff) | |
tmuxrdr: mouse selections copy on release; drag-enters-copy-mode on the roadmap
Diffstat (limited to 'tmuxrdr')
| -rw-r--r-- | tmuxrdr/ROADMAP.md | 17 | ||||
| -rw-r--r-- | tmuxrdr/config/config.toml | 13 |
2 files changed, 24 insertions, 6 deletions
diff --git a/tmuxrdr/ROADMAP.md b/tmuxrdr/ROADMAP.md index e9147758..aff7a4ac 100644 --- a/tmuxrdr/ROADMAP.md +++ b/tmuxrdr/ROADMAP.md @@ -150,7 +150,22 @@ files where it can live apart, so the lines that touch upstream's stay few. `pane send-text` already uses (`encode_api_text`, `src/app/api_helpers.rs`), delete for `-`. Medium. -### 11. `D` choose-client +### 11. A mouse drag enters copy mode +- tmux: a drag enters copy mode (`MouseDrag1Pane` -> `copy-mode -M`); this + machine's tmux.conf unbinds `copy-mode-vi MouseDragEnd1Pane`, so the + selection stays there for `y` (its copy-pipe binding), `Enter`, or more + vi movement; double- and triple-click do the same with a word or a line. +- Gap: herdr's mouse selection is separate from copy mode (`mouse.rs`): kept + (copy_on_select = false) it copies only on Ctrl+C, and `y` goes to the + pane. tmuxrdr's config copies on release meanwhile. +- Patch: on drag release (and double/triple click), enter copy mode for that + pane with the selection carried over -- copy mode's selection is an anchor + and a cursor (`ClientCopySelection::Character`), in the same absolute pane + coordinates as the mouse selection (`sync_copy_selection`). Logic in a + tmuxrdr file, hooked from `mouse.rs` and `word_selection.rs`. Small to + medium. + +### 12. `D` choose-client - tmux: lists attached clients; pick one to detach. - Gap: no client list in the CLI or UI. - Patch: a client registry query on the server and a picker. Medium; low diff --git a/tmuxrdr/config/config.toml b/tmuxrdr/config/config.toml index 82e4bca3..59d4d06e 100644 --- a/tmuxrdr/config/config.toml +++ b/tmuxrdr/config/config.toml @@ -326,11 +326,14 @@ description = "show-messages (tmux ~)" # tmux.conf: set-option -g mouse on -- herdr's default, left explicit. mouse_capture = true -# tmux.conf unbinds copy-mode-vi MouseDragEnd1Pane ("stay in copy mode on drag -# end"): a dragged selection stays on screen until y copies it. herdr's -# copy_on_select false keeps the selection until Ctrl+C or a host-forwarded -# Cmd+C copies and clears -- the closest match. -copy_on_select = false +# Mouse selections copy on release, herdr's default -- a deliberate departure +# from this tmux.conf. In tmux a drag enters copy mode (MouseDrag1Pane -> +# copy-mode -M), and the tmux.conf unbinds copy-mode-vi MouseDragEnd1Pane so +# the selection stays there until y copies it. herdr's mouse selection is not +# copy mode: y would go to the pane, and only Ctrl+C copies a kept selection. +# Until tmuxrdr makes a drag enter copy mode (ROADMAP.md), release copies. The +# keyboard is tmux's either way: prefix+[, v, y. +copy_on_select = true # tmux.conf: WheelUp/DownPane -N 3 scroll -- "3 lines at a time instead of # default 5". herdr's default is already 3, left explicit. |
