Clicking on window without dragging causes a selection #3706

Closed
opened 2026-01-30 23:27:59 +00:00 by claunia · 8 comments
Owner

Originally created by @Molanda on GitHub (Sep 2, 2019).

Environment

Windows build number: 10.0.18362.295
Windows Terminal version (if applicable): 0.4.2382.0

Steps to reproduce

Click on the terminal window without dragging.

Expected behavior

This should clear any existing selection but not create a new one. This is consistent with other Windows programs which only show a selection when the cursor is dragged.

Actual behavior

A character is selected.

Originally created by @Molanda on GitHub (Sep 2, 2019). # Environment ```none Windows build number: 10.0.18362.295 Windows Terminal version (if applicable): 0.4.2382.0 ``` # Steps to reproduce Click on the terminal window without dragging. # Expected behavior This should clear any existing selection but not create a new one. This is consistent with other Windows programs which only show a selection when the cursor is dragged. # Actual behavior A character is selected.
claunia added the Resolution-By-DesignNeeds-Tag-Fix labels 2026-01-30 23:27:59 +00:00
Author
Owner

@DHowett-MSFT commented on GitHub (Sep 3, 2019):

Today, this is by design. We don't act like other Windows applications that emit text because they have a selection caret, and we don't. We've been talking about the right behavior here for a while, and we decided that in the "default" configuration we'd match the existing console, which does work like this.

We recently added copyOnSelect which, while it does add the eponymous copy-on-select, also suppresses single-character selection (you must click and drag to another cell before selection begins.)

I'm going to mark this one by-design for now. Thanks/sorry!

@DHowett-MSFT commented on GitHub (Sep 3, 2019): Today, this is by design. We don't act like other Windows applications that emit text because they have a _selection caret_, and we don't. We've been talking about the right behavior here for a while, and we decided that in the "default" configuration we'd match the existing console, which does work like this. We recently added `copyOnSelect` which, while it does add the eponymous copy-on-select, also suppresses single-character selection (you must click and drag to another cell before selection begins.) I'm going to mark this one by-design for now. Thanks/sorry!
Author
Owner

@Molanda commented on GitHub (Sep 3, 2019):

Thank you for your response. I understand the current decision, but would like to add some additional details for consideration.

  • Not all application that emit text have a selection caret. The most notable example is the web browser (excluding form fields). If you click on text in a browser, no selection happens unless you also drag. PuTTY is another example where a drag is required to select.
  • If anything, creating a block on click gives the false visual impression that the cursor has been moved.
  • The existing console has the ability to turn off QuickEdit mode.
  • While the behavior matches the existing console, it really offers no value. If someone clicks the window to the front, their next move is extremely unlikely to be to copy the random character that is now selected.

I will try the copy-on-select once released (I have the build from the Microsoft Store).

@Molanda commented on GitHub (Sep 3, 2019): Thank you for your response. I understand the current decision, but would like to add some additional details for consideration. - Not all application that emit text have a _selection caret_. The most notable example is the web browser (excluding form fields). If you click on text in a browser, no selection happens unless you also drag. PuTTY is another example where a drag is required to select. - If anything, creating a block on click gives the false visual impression that the cursor has been moved. - The existing console has the ability to turn off _QuickEdit_ mode. - While the behavior matches the existing console, it really offers no value. If someone clicks the window to the front, their next move is extremely unlikely to be to copy the random character that is now selected. I will try the copy-on-select once released (I have the build from the Microsoft Store).
Author
Owner

@garth commented on GitHub (Nov 28, 2019):

it really offers no value

I could not agree more with this observation. This needs to be an option. eg 'selectOnClick'?

@garth commented on GitHub (Nov 28, 2019): > it really offers no value I could not agree more with this observation. This needs to be an option. eg 'selectOnClick'?
Author
Owner

@DHowett-MSFT commented on GitHub (Nov 28, 2019):

For what it's worth, I agree. Selection is a charged topic, though, as we've well seen.

If you enable copyOnSelect, terminal disables single-character selection. If that's an acceptable compromise, we can leave it at that and evaluate more robust selection settings as we go forward. 😄

@DHowett-MSFT commented on GitHub (Nov 28, 2019): For what it's worth, I agree. Selection is a charged topic, though, as we've well seen. If you enable `copyOnSelect`, terminal disables single-character selection. If that's an acceptable compromise, we can leave it at that and evaluate more robust selection settings as we go forward. :smile:
Author
Owner

@ryanmortier commented on GitHub (Apr 16, 2020):

This is such a terrible user experience.

@ryanmortier commented on GitHub (Apr 16, 2020): This is such a terrible user experience.
Author
Owner

@DHowett-MSFT commented on GitHub (Apr 16, 2020):

Thanks for your feedback. It's a good thing we fixed it in #5096.

@DHowett-MSFT commented on GitHub (Apr 16, 2020): Thanks for your feedback. It's a good thing we fixed it in #5096.
Author
Owner

@Molanda commented on GitHub (Apr 16, 2020):

Awesome news!

@Molanda commented on GitHub (Apr 16, 2020): Awesome news!
Author
Owner

@ryanmortier commented on GitHub (Apr 16, 2020):

This is great news, thanks so much.

@ryanmortier commented on GitHub (Apr 16, 2020): This is great news, thanks so much.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#3706