aboutsummaryrefslogtreecommitdiff
path: root/tmuxrdr/ROADMAP.md
diff options
context:
space:
mode:
Diffstat (limited to 'tmuxrdr/ROADMAP.md')
-rw-r--r--tmuxrdr/ROADMAP.md17
1 files changed, 16 insertions, 1 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