1
0
Fork 0
dotfiles/.config/qutebrowser/config.py
Lucas Sta Maria e96c90482c
fix: use cmd-set-text
Signed-off-by: Lucas Sta Maria <lucas@priime.dev>
2023-08-22 20:13:37 -04:00

114 lines
3.3 KiB
Python

from qutebrowser.api import interceptor
from typing import Dict
config.load_autoconfig()
c.bindings.default["normal"].clear()
c.bindings.commands["normal"] = {
# Navigation
"<Control-v>": "scroll-page 0 0.5",
"<Alt-v>": "scroll-page 0 -0.5",
# Commands
"<Alt-x>": "cmd-set-text :",
"<Control-x>b": "cmd-set-text :buffer",
"<Control-x>k": "tab-close",
"<Control-x><Control-c>": "quit",
# Searching
"<Control-s>": "cmd-set-text /",
"<Control-r>": "cmd-set-text ?",
# Hinting
"<Alt-s>": "hint all",
# History
"<Control-C>f": "forward",
"<Control-C>b": "backward",
# Tabs
"<Shift-right>": "tab-next",
"<Shift-left>": "tab-prev",
# Open
"<Control-x><Control-f>": "cmd-set-text -s :open",
"<Control-x><Control-o>": "cmd-set-text -s :open -t",
# Editing
"<Control-f>": "fake-key <Right>",
"<Control-b>": "fake-key <Left>",
"<Control-n>": "fake-key <Down>",
"<Control-p>": "fake-key <Up>",
# Numbers
"0": "fake-key 0",
"1": "fake-key 1",
"2": "fake-key 2",
"3": "fake-key 3",
"4": "fake-key 4",
"5": "fake-key 5",
"6": "fake-key 6",
"7": "fake-key 7",
"8": "fake-key 8",
"9": "fake-key 9",
}
c.bindings.commands["command"] = {
# Searching
"<Control-s>": "search-next",
"<Control-r>": "search-prev",
# Completion
"<Control-p>": "completion-item-focus prev",
"<Control-n>": "completion-item-focus next",
"<Control-g>": "leave-mode",
}
c.bindings.commands["hint"] = {
"<Control-g>": "leave-mode",
}
c.bindings.commands["caret"] = {
"<Control-g>": "leave-mode",
}
c.content.blocking.method = "both"
c.content.blocking.adblock.lists = [
"https://easylist.to/easylist/easylist.txt",
"https://easylist.to/easylist/easyprivacy.txt",
"https://easylist-downloads.adblockplus.org/antiadblockfilters.txt",
]
c.hints.chars = "aoeuidhtns"
def redirect(request: interceptor.Request):
redirect_dict: Dict[str, str] = {
}
if request.request_url.host() in redirect_dict.keys():
try:
new_host = redirect_dict[request.request_url.host()]
request.request_url.setHost(new_host)
request.redirect(request.request_url)
except:
pass
if request.request_url.host() == "news.ycombinator.com":
try:
request.request_url.setHost("hn.svelte.dev")
query = request.request_url.query()
if len(query) != 0:
queries = query.split("&")
for q in queries:
if q.startswith("id"):
id = q.split("=")[1]
request.request_url.setPath(f"/item/{id}")
request.request_url.setQuery("")
request.redirect(request.request_url)
except:
pass
interceptor.register(redirect)