Selecting an nsec in another Linux application and middle-clicking Coop's identity import field currently does nothing. The shared input widget handles left and right clicks but never reads the primary selection for a middle click.
Add middle-click paste from PRIMARY on Linux and FreeBSD, inserting at the nearest visible caret to the click. Read the selection before changing focus, preserve disabled/read-only inputs, strip line breaks in single-line fields, and use the input state's atomic insertion path so Undo removes the paste. Also register Shift+Insert for standard clipboard paste on non-macOS platforms. The existing right-click editing menu and Ctrl+V/Cmd+V remain available.
Document the gestures in the README. Enable GPUI test support for the UI crate; the lockfile additions are its test dependencies.
Validation:
- `cargo check -p ui --locked`
- `cargo test -p ui --lib --locked` — all five tests pass, including empty-field paste, Unicode caret placement, primary/clipboard separation, Undo, and disabled/read-only protection
- `git -c core.whitespace=cr-at-eol diff --check` (preserves the existing CRLF Cargo manifest)
Validated with GPUI's simulated input and clipboard platform; no live X11/Wayland compositor test was performed.
Release Notes:
- Fixed middle-click paste in Linux text fields, including identity import, and added Shift+Insert clipboard paste.
Reviewed-on: reya/coop#60
Co-authored-by: Vincent Bernardoff <vb@luminar.eu.org>
**TODOs:**
- [x] Fix all clippy issues
- [x] Make NIP-4e optional (disabled by default)
- [x] Remove support for bunker (Nostr Connect)
- [x] Group messages in the same timeframe
- [ ] ...
Reviewed-on: https://git.reya.su/reya/coop/pulls/34