Added support for searchengines listing in :open dialogue. Added settings for selecting what categories are shown in the :open dialogue.

This commit is contained in:
Philip 2018-06-17 05:33:53 +02:00
parent e2ef39e872
commit a62aeb4abe
3 changed files with 37 additions and 4 deletions

View File

@ -267,6 +267,7 @@
|<<url.default_page,url.default_page>>|Page to open if :open -t/-b/-w is used without URL. |<<url.default_page,url.default_page>>|Page to open if :open -t/-b/-w is used without URL.
|<<url.incdec_segments,url.incdec_segments>>|URL segments where `:navigate increment/decrement` will search for a number. |<<url.incdec_segments,url.incdec_segments>>|URL segments where `:navigate increment/decrement` will search for a number.
|<<url.open_base_url,url.open_base_url>>|Open base URL of the searchengine if a searchengine shortcut is invoked without parameters. |<<url.open_base_url,url.open_base_url>>|Open base URL of the searchengine if a searchengine shortcut is invoked without parameters.
|<<url.open_categories_shown,url.open_categories_shown>>|Which categories should be shown in the :open dialogue.
|<<url.searchengines,url.searchengines>>|Search engines which can be used via the address bar. |<<url.searchengines,url.searchengines>>|Search engines which can be used via the address bar.
|<<url.start_pages,url.start_pages>>|Page(s) to open at the start. |<<url.start_pages,url.start_pages>>|Page(s) to open at the start.
|<<url.yank_ignored_parameters,url.yank_ignored_parameters>>|URL parameters to strip with `:yank url`. |<<url.yank_ignored_parameters,url.yank_ignored_parameters>>|URL parameters to strip with `:yank url`.
@ -3227,6 +3228,18 @@ Type: <<types,Bool>>
Default: +pass:[false]+ Default: +pass:[false]+
[[url.open_categories_shown]]
=== url.open_categories_shown
Which categories should be shown in the :open dialogue.
Type: <<types,List of Strings>>
Default
- +pass:[bookmarks]+
- +pass:[searchengines]+
- +pass:[history]+
- +pass:[quickmarks]+
[[url.searchengines]] [[url.searchengines]]
=== url.searchengines === url.searchengines
Search engines which can be used via the address bar. Search engines which can be used via the address bar.

View File

@ -22,6 +22,7 @@
from qutebrowser.completion.models import (completionmodel, listcategory, from qutebrowser.completion.models import (completionmodel, listcategory,
histcategory) histcategory)
from qutebrowser.utils import log, objreg from qutebrowser.utils import log, objreg
from qutebrowser.config import config
_URLCOL = 0 _URLCOL = 0
@ -50,7 +51,7 @@ def _delete_quickmark(data):
def url(*, info): def url(*, info):
"""A model which combines bookmarks, quickmarks and web history URLs. """A model which combines bookmarks, quickmarks, search engines and web history URLs.
Used for the `open` command. Used for the `open` command.
""" """
@ -59,16 +60,22 @@ def url(*, info):
quickmarks = [(url, name) for (name, url) quickmarks = [(url, name) for (name, url)
in objreg.get('quickmark-manager').marks.items()] in objreg.get('quickmark-manager').marks.items()]
bookmarks = objreg.get('bookmark-manager').marks.items() bookmarks = objreg.get('bookmark-manager').marks.items()
searchengines = config.val.url.searchengines.items()
categories = config.val.url.open_categories_shown
if quickmarks: if searchengines and "searchengines" in categories:
model.add_category(listcategory.ListCategory(
'Search engines', searchengines, sort=False))
if quickmarks and "quickmarks" in categories:
model.add_category(listcategory.ListCategory( model.add_category(listcategory.ListCategory(
'Quickmarks', quickmarks, delete_func=_delete_quickmark, 'Quickmarks', quickmarks, delete_func=_delete_quickmark,
sort=False)) sort=False))
if bookmarks: if bookmarks and "bookmarks" in categories:
model.add_category(listcategory.ListCategory( model.add_category(listcategory.ListCategory(
'Bookmarks', bookmarks, delete_func=_delete_bookmark, sort=False)) 'Bookmarks', bookmarks, delete_func=_delete_bookmark, sort=False))
if info.config.get('completion.web_history_max_items') != 0: if info.config.get('completion.web_history_max_items') != 0 and "history" in categories:
hist_cat = histcategory.HistoryCategory(delete_func=_delete_history) hist_cat = histcategory.HistoryCategory(delete_func=_delete_history)
model.add_category(hist_cat) model.add_category(hist_cat)
return model return model

View File

@ -1565,6 +1565,19 @@ url.open_base_url:
default: false default: false
desc: Open base URL of the searchengine if a searchengine shortcut is invoked without parameters. desc: Open base URL of the searchengine if a searchengine shortcut is invoked without parameters.
url.open_categories_shown:
type:
name: List
valtype: String
none_ok: true
default:
- searchengines
- quickmarks
- bookmarks
- history
desc: Which categories should be shown in the :open dialogue.
url.searchengines: url.searchengines:
default: default:
DEFAULT: https://duckduckgo.com/?q={} DEFAULT: https://duckduckgo.com/?q={}