Multi-click selection granularity #9030

Open
opened 2026-01-31 01:44:16 +00:00 by claunia · 3 comments
Owner

Originally created by @andrzejnovak on GitHub (Jun 15, 2020).

Description of the new feature/enhancement

The current multi-click selection expansion only has two steps.

  • double-click: selects a "word" between 2 delimiters (don't have to be the same, e.g. , and so when clicking on a filename, you don't get the extension)

  • triple-click: selects the entire line

I find myself rarely needing the entire line, but often need a path or a filename usually separated by spaces.

I would propose the following as better UX without going too granular.

  • double-click: selects a "word" between 2 same delimiters
  • triple-click: selects an entire string separated by spaces
  • 4-click: entire line
Originally created by @andrzejnovak on GitHub (Jun 15, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 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 The current multi-click selection expansion only has two steps. - double-click: selects a "word" between 2 delimiters (don't have to be the same, e.g. `,` and ` ` so when clicking on a filename, you don't get the extension) - triple-click: selects the entire line I find myself rarely needing the entire line, but often need a path or a filename usually separated by spaces. I would propose the following as better UX without going too granular. - double-click: selects a "word" between 2 **same** delimiters - triple-click: selects an entire string separated by spaces - 4-click: entire line
Author
Owner

@DHowett commented on GitHub (Jun 26, 2020):

You know, I don't hate this as much as I thought I would. Perhaps we do need some different mechanics.

I'm inclined to call this extensible and link it up to #4000.

@DHowett commented on GitHub (Jun 26, 2020): You know, I don't hate this as much as I thought I would. Perhaps we do need some different mechanics. I'm inclined to call this extensible and link it up to #4000.
Author
Owner

@andrzejnovak commented on GitHub (Jun 28, 2020):

Yup, would be fine as a config/extension.

@andrzejnovak commented on GitHub (Jun 28, 2020): Yup, would be fine as a config/extension.
Author
Owner

@benmwatson commented on GitHub (Jul 28, 2020):

I would love to have the triple-click behave as you say. I was about to file an issue for this as well. One interesting quirk with the full-line selection and copying. If I copy and paste a full line, all spaces after the last text are being discarded. But spaces before the text are being preserved. It's as if they're calling TrimRight(), but not TrimLeft().

I could almost be happy if they could just trim those left spaces, but I'd love to see more deliberate behavior as you describe above.

@benmwatson commented on GitHub (Jul 28, 2020): I would love to have the triple-click behave as you say. I was about to file an issue for this as well. One interesting quirk with the full-line selection and copying. If I copy and paste a full line, all spaces after the last text are being discarded. But spaces before the text are being preserved. It's as if they're calling TrimRight(), but not TrimLeft(). I could almost be happy if they could just trim those left spaces, but I'd love to see more deliberate behavior as you describe above.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9030