Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Command mode: Cursor keeps blinking when moving with Alt-B/F #7347

Open
camoz opened this issue Aug 17, 2022 · 1 comment
Open

Command mode: Cursor keeps blinking when moving with Alt-B/F #7347

camoz opened this issue Aug 17, 2022 · 1 comment
Labels
component: ui Issues related to the user interface. priority: 2 - low Issues which are currently not very important.

Comments

@camoz
Copy link

camoz commented Aug 17, 2022

Version:

qutebrowser v2.5.2
Git commit:
Backend: QtWebEngine 5.15.10, based on Chromium 87.0.4280.144
Qt: 5.15.5 (compiled 5.15.4)

Does the bug happen if you start with --temp-basedir?:

Yes.

Description

When in command mode, there is a blinking cursor. Pressing Ctrl-Left/Right moves the cursor word-wise (stops at special characters etc.) and makes the cursor always show while moving around (i.e. when pressing repeatedly it doesn't blink anymore for that timespan). With Alt-B/F (and possibly other combinations I'm not aware of), the cursor keeps on blinking. That makes it hard to quickly jump back and forth, because one has to guess where the cursor is.

Any chance to make that behavior consistent with Ctrl-Left/Right?

@The-Compiler
Copy link
Member

The-Compiler commented Aug 17, 2022

Interesting observation! This is done by Qt, and I don't know if there is a way we can cause it to happen with how we move the cursor with those commands.

There is apparently a QWidgetLineControl::setBlinkingCursorEnabled(), but I don't see that being called with false anywhere except for the line edit losing focus (together with d->setCursorVisible(false);). In any case, however, all of those are internal to Qt.

I also tried to find out where Qt actually binds/handles the Ctrl + Arrow keypresses - I believe that's here in QWidgetLineControl, but I don't get what would be responsible for the cursor handling there. It looks like cursorWord* just calls the moveCursor method, which then moves the cursor around - but I don't see how that or anything (commitPreedit(), separate(), *MaskBlank()) would cause the cursor to stop blinking.

@The-Compiler The-Compiler added component: ui Issues related to the user interface. priority: 2 - low Issues which are currently not very important. labels Aug 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: ui Issues related to the user interface. priority: 2 - low Issues which are currently not very important.
Projects
None yet
Development

No branches or pull requests

2 participants