Make snapOnInput more flexible (i.e. do not snap on mouse paste, but snap on Enter) #22351

Closed
opened 2026-01-31 08:10:37 +00:00 by claunia · 3 comments
Owner

Originally created by @phil-blain on GitHub (Oct 3, 2024).

Description of the new feature/enhancement

Often, I find myself scrolling up to copy stuff from earlier commands, e.g. long paths (I do that by selecting them). I would like to be able to paste them (I do that using right click) at the current prompt, but without snapping back to the prompt (i.e. what happens with "snapOnInput": false), but then I would also like that if I type stuff to tweak the command I'm writing, or hit Enter to execute it, then Terminal snaps to it (i.e. what happens with "snapOnInput": true).

Proposed technical implementation details (optional)

Maybe "snapOnInput": "keyboard"|"mouse"|"all", with the current true behaviour equivalent to "all", and the one I describe above would be "keyboard".

Originally created by @phil-blain on GitHub (Oct 3, 2024). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> Often, I find myself scrolling up to copy stuff from earlier commands, e.g. long paths (I do that by selecting them). I would like to be able to paste them (I do that using right click) at the current prompt, but without snapping back to the prompt (i.e. what happens with `"snapOnInput": false`), but then I would also like that if I type stuff to tweak the command I'm writing, or hit Enter to execute it, then Terminal snaps to it (i.e. what happens with `"snapOnInput": true`). # Proposed technical implementation details (optional) <!-- A clear and concise description of what you want to happen. --> Maybe `"snapOnInput": "keyboard"|"mouse"|"all"`, with the current `true` behaviour equivalent to `"all"`, and the one I describe above would be `"keyboard"`.
Author
Owner

@carlos-zamora commented on GitHub (Oct 9, 2024):

Thanks for filing! Some questions from the team:

  • What about for sendInput actions?
  • What if the action is bound to a key vs the menu?
  • What about paste by keyboard (ctrl+shift+v)?

We like the idea of this feature, there's just some concerns about the way we'd expose it because there's various ways to generate input (i.e. paste via keyboard, paste via mouse, sendInput, etc.). We'd love to hear your thoughts 😊

@carlos-zamora commented on GitHub (Oct 9, 2024): Thanks for filing! Some questions from the team: - What about for `sendInput` actions? - What if the action is bound to a key vs the menu? - What about paste by keyboard (ctrl+shift+v)? We like the idea of this feature, there's just some concerns about the way we'd expose it because there's various ways to generate input (i.e. paste via keyboard, paste via mouse, sendInput, etc.). We'd love to hear your thoughts 😊
Author
Owner

@phil-blain commented on GitHub (Oct 27, 2024):

I'm not sure how to answer these questions. I'm not sure what sendInput does...

I'm mostly missing how other terminals I use work (mostly Konsole and GNOME Terminal). In these, I can scroll up and select-to-copy then middle-mouse-click-to-paste, and it does not snap me back to the prompt. I find this feature useful when constructing a command line from content in my scroll history (like long paths). Then as soon as use the keyboard it does scroll back down to the prompt.

@phil-blain commented on GitHub (Oct 27, 2024): I'm not sure how to answer these questions. I'm not sure what `sendInput` does... I'm mostly missing how other terminals I use work (mostly Konsole and GNOME Terminal). In these, I can scroll up and select-to-copy then middle-mouse-click-to-paste, and it does not snap me back to the prompt. I find this feature useful when constructing a command line from content in my scroll history (like long paths). Then as soon as use the keyboard it does scroll back down to the prompt.
Author
Owner

@carlos-zamora commented on GitHub (Jan 13, 2025):

Thanks for writing this up! This is a valid feature request, however, we're not planning on making any changes to snapOnInput at this time.

@carlos-zamora commented on GitHub (Jan 13, 2025): Thanks for writing this up! This is a valid feature request, however, we're not planning on making any changes to snapOnInput at this time.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#22351