Tdesktop: Mouse cursor unexpectedly overrides menu selection

Created on 10 Dec 2018  路  15Comments  路  Source: telegramdesktop/tdesktop

Steps to reproduce

This is reproducible in several situations:

  • Emoji completion panel
  • Sticker suggestions based on emoji
  • "Forward" dialog, especially when using search
  • Probably more, but I run into these most often

Actual behaviour

The mouse cursor sometimes selects the item it's hovering over, even if it hasn't moved, even as the search updates. I'm trying to find consistent setups for all cases.
This often leads to the following:

  • Sending the wrong emoji
  • Sending the wrong sticker, or sending one when I just want to send an emoji
  • Forwarding messages to the wrong chat

The only way to override that selection with the keyboard is using arrow keys, which moves relative to the original selection determined by the mouse cursor.

Expected behaviour

Pressing enter after searching in these contexts should activate the first result. Updating the search should reset the selection. For suggested stickers, no sticker should be sent unless I've pressed an arrow key.

Configuration

Operating system: Arch Linux
Version of Telegram Desktop: 1.4.3

Most helpful comment

Emoji completions

  • Just leave the mouse where the popup should appear
  • Start typing, for example :o
  • ~The item under the mouse cursor will be selected~
  • Adding further letters resets the selection to the first item
  • Incoming messages reset the selection to the one under the cursor

Sticker suggestions

  • ~Insert an emoji~
  • ~Move the mouse over a suggested sticker~
  • ~Do not move the mouse after this point~

~There are multiple paths from there:~

  • ~Clear the input box, insert another emoji => the sticker under the cursor is selected~
  • ~Go to another chat, insert an emoji => same result~

~Alternative trigger:~

  • ~Leave the mouse where the emoji completions should appear~
  • ~Insert an emoji through completions~
  • ~The suggested sticker under the cursor is selected~

Alternative trigger 2:

  • Leave the mouse where the sticker suggestions should appear
  • Insert an emoji through completions
  • Wait for an incoming message
  • The suggested sticker under the cursor is selected

Forward dialog

  • Move the mouse over a chat in the list
  • Start searching
  • As you keep typing, the selection remains the one under the cursor

Other notes

  • Incoming messages include messages you've sent yourself from another device

All 15 comments

Emoji completions

  • Just leave the mouse where the popup should appear
  • Start typing, for example :o
  • ~The item under the mouse cursor will be selected~
  • Adding further letters resets the selection to the first item
  • Incoming messages reset the selection to the one under the cursor

Sticker suggestions

  • ~Insert an emoji~
  • ~Move the mouse over a suggested sticker~
  • ~Do not move the mouse after this point~

~There are multiple paths from there:~

  • ~Clear the input box, insert another emoji => the sticker under the cursor is selected~
  • ~Go to another chat, insert an emoji => same result~

~Alternative trigger:~

  • ~Leave the mouse where the emoji completions should appear~
  • ~Insert an emoji through completions~
  • ~The suggested sticker under the cursor is selected~

Alternative trigger 2:

  • Leave the mouse where the sticker suggestions should appear
  • Insert an emoji through completions
  • Wait for an incoming message
  • The suggested sticker under the cursor is selected

Forward dialog

  • Move the mouse over a chat in the list
  • Start searching
  • As you keep typing, the selection remains the one under the cursor

Other notes

  • Incoming messages include messages you've sent yourself from another device

This one is so annoying - it makes it almost impossible to use the client on Linux - any mouse movement results in some text being selected

@john-preston it would be nice if you took a look. I run into this problem several times a day and I know several people who can reproduce it both on Linux and on Windows.

Very funny how I can also reproduce all of these. I can see how they would be really annoying for any keyboard power users.

@Streetwalrus Ok, I'll try to look into that. All cases will have to be dealt with separately, so I think new cases will have to be added after some mentioned ones are fixed.

Thanks a lot. I'm updating the second comment because some of these are no longer reproducible in 1.5.1, but they're still worth looking into.

Found another one:

Chat list sidebar

  • Place cursor over the sidebar
  • Press escape, then enter, this will open the chat under the cursor
  • Press escape, then enter again, this will open the first chat in the list
  • Wait for an incoming message on the current chat
  • Press escape, then enter again, this will open the chat under the cursor

@Streetwalrus In the last one only the last one is unexpected, right? The first steps are OK in my opinion:

  • Place cursor over the sidebar
  • Press escape, then enter, this will open the chat under the cursor
  • Press escape, then enter again, this will open the first chat in the list

Because first step activates mouse-selection mode and then selecting a chat (in the second step) resets the selection mode back to non-mouse-selection.

Yeah that's correct. I hope that fixed it, thanks a lot.

I just went through and tested this again, everything is fixed but I've found that pressing escape then enter often lands in an unexpected chat. It looks like no input whatsoever can discard the selection from hovering the cursor over the list. I think most keyboard inputs should discard the mouse selection, especially the escape key.

Having the same issue here

@john-preston I don't know if you're getting notifications for this thread, but it'd be cool if you could at least acknowledge the issue, considering you're replying to others. No pressure, this isn't nearly as annoying as it used to be, but it would be nice if it could be fixed eventually.

@Streetwalrus And what do you expect from Escape + Enter?

It should open the first chat in the list (or the first search result).

@john-preston I forgot to mention you. Here's a clearer explanation.

Current behavior:

  • Open a chat
  • Mouse over chat list/search results
  • Press escape, then enter
  • Item under the mouse gets activated

Desired behavior:

  • Open a chat
  • Mouse over chat list/search results
  • Press escape, then enter
  • First item in the list gets activated

Also acceptable, doesn't conflict with the above at all:

  • Press escape
  • Mouse over the list
  • Press enter
  • Item under the mouse gets activated
Was this page helpful?
0 / 5 - 0 ratings

Related issues

JhonSane picture JhonSane  路  3Comments

LeonTheOriginal picture LeonTheOriginal  路  3Comments

FunctionalHacker picture FunctionalHacker  路  3Comments

ghost picture ghost  路  3Comments

Yanrishatum picture Yanrishatum  路  3Comments