qutebrowser/qutebrowser

When input.mode_override is set it will steal the focus when in command mode.

開放

#8,308 建立於 2024年9月23日

 (3 則留言) (0 個反應) (0 位負責人)Python (1,014 個分叉)batch import
component: keyinputgood first issuepriority: 2 - low

倉庫指標

星標
 (9,161 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

Version info: qutebrowser v3.2.1 Git commit: Backend: QtWebEngine 6.7.2 based on Chromium 118.0.5993.220 with security patches up to 125.0.6422.142 (plus any distribution patches) (source: api) Qt: 6.7.2

CPython: 3.12.6 PyQt: 6.7.1

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

Yes.

Description

When input.mode_override is set to normal/insert/passthrough it will override command mode. I don't think this is how the setting should work. It should override the mode when you change tab or go to a new url (so long as the url pattern matches).

For example, if you are trying to open multiple links in rapid mode (by pressing ) it will exit command mode and enter input mode rather than allowing you to open multiple tabs as you would expect. It also happens when you have opened a page and then you go into command mode before it has loaded.

I am reporting this because I noticed the issue with rapid opening tabs and eventually narrowed the cause down to this config option.

I assume the fix will be as simple as checking if we are in command mode before overriding the input mode.

How to reproduce

  1. Change the setting: ":set input.mode_override normal"
  2. Enter a url to open ":open -t eff.org" and then press <Ctrl+Return>

I expect this to open a new tab and allow me to continue to open more tabs but it overrides the input mode immediately.

Also:

  1. ":set input.mode_override normal"
  2. Go to a new page ":open page"
  3. and then press ":" (or any key to open the command bar) before the page loads.

I would expect the page to load while I do whatever in the command bar but it steals the focus.

貢獻者指南