Further simplify rapid hint target check

This commit is contained in:
Florian Bruhin 2021-08-17 11:54:03 +02:00
parent 6b30806ebc
commit e8d9b1772f
2 changed files with 13 additions and 31 deletions

View File

@ -679,9 +679,8 @@ Start hinting.
* +*-a*+, +*--add-history*+: Whether to add the spawned or yanked link to the browsing history.
* +*-r*+, +*--rapid*+: Whether to do rapid hinting. With rapid hinting, the hint mode isn't left after a hint is followed, so you can easily
open multiple links. Note this won't work with targets `tab`
(unless `tabs.background` is set), `tab-fg`, `fill` and
`right-click`.
open multiple links. Note this won't work with targets
`tab-fg`, `fill`, `delete` and `right-click`.
* +*-f*+, +*--first*+: Click the first hinted element without prompting.

View File

@ -684,9 +684,8 @@ class HintManager(QObject):
Args:
rapid: Whether to do rapid hinting. With rapid hinting, the hint
mode isn't left after a hint is followed, so you can easily
open multiple links. Note this won't work with targets `tab`
(unless `tabs.background` is set), `tab-fg`, `fill` and
`right-click`.
open multiple links. Note this won't work with targets
`tab-fg`, `fill`, `delete` and `right-click`.
add_history: Whether to add the spawned or yanked link to the
browsing history.
first: Click the first hinted element without prompting.
@ -754,31 +753,15 @@ class HintManager(QObject):
if mode_manager.mode == usertypes.KeyMode.hint:
modeman.leave(self._win_id, usertypes.KeyMode.hint, 're-hinting')
if rapid:
if target in [
Target.normal,
Target.current,
# Target.tab handled below
# not Target.tab_fg
Target.tab_bg,
Target.window,
Target.yank,
Target.yank_primary,
Target.run,
# not Target.fill
Target.hover,
Target.download,
Target.userscript,
Target.spawn,
# not Target.right_click
]:
pass
elif target == Target.tab and config.val.tabs.background:
pass
else:
name = target.name.replace('_', '-')
raise cmdutils.CommandError("Rapid hinting makes no sense "
"with target {}!".format(name))
if rapid and target in [
Target.tab_fg, # opens new tab
Target.fill, # exits hint mode
Target.right_click, # opens multiple context menus
Target.delete, # deleting elements shifts them
]:
name = target.name.replace('_', '-')
raise cmdutils.CommandError(
f"Rapid hinting makes no sense with target {name}!")
self._check_args(target, *args)