diff --git a/qutebrowser/config/configdata.yml b/qutebrowser/config/configdata.yml index 72450978b..23ff271f0 100644 --- a/qutebrowser/config/configdata.yml +++ b/qutebrowser/config/configdata.yml @@ -1445,6 +1445,12 @@ url.incdec_segments: desc: URL segments where `:navigate increment/decrement` will search for a number. +url.open_base_url: + type: Bool + default: false + desc: Invoking `:open {shortcut}` (without argument), where {shortcut} is a search engine shortcut + will open the base url of the shortcut instead of using the default search engine. + url.searchengines: default: DEFAULT: https://duckduckgo.com/?q={} diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py index 2ed466dd1..1bb062f3f 100644 --- a/qutebrowser/utils/urlutils.py +++ b/qutebrowser/utils/urlutils.py @@ -102,6 +102,13 @@ def _get_search_url(txt): engine = 'DEFAULT' template = config.val.url.searchengines[engine] url = qurl_from_user_input(template.format(urllib.parse.quote(term))) + + if config.val.url.open_base_url: + try: + search_url = urllib.parse.urlparse(config.val.url.searchengines[term]) + url = QUrl('{}://{}'.format(search_url.scheme, search_url.netloc)) + except KeyError: + pass qtutils.ensure_valid(url) return url