Marty Oehme
659bd61af3
Should implement checking existence of pdfjs on the system before either showing PDFs in the browser or downloading.
148 lines
5.1 KiB
Python
148 lines
5.1 KiB
Python
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
|
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
|
|
|
import os
|
|
|
|
# Autogenerated config.py
|
|
# Documentation:
|
|
# qute://help/configuring.html
|
|
# qute://help/settings.html
|
|
|
|
# Uncomment this to still load settings configured via autoconfig.yml
|
|
config.load_autoconfig()
|
|
|
|
c.completion.web_history.max_items = 1000
|
|
c.hints.uppercase = True
|
|
|
|
c.content.host_blocking.enabled = True
|
|
c.content.host_blocking.lists = [
|
|
"http://www.malwaredomainlist.com/hostslist/hosts.txt",
|
|
"http://someonewhocares.org/hosts/hosts",
|
|
"http://winhelp2002.mvps.org/hosts.zip",
|
|
"http://malwaredomains.lehigh.edu/files/justdomains.zip",
|
|
"http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext",
|
|
]
|
|
c.content.host_blocking.whitelist = ['piwik.org']
|
|
|
|
c.content.pdfjs = False
|
|
c.content.javascript.enabled = False
|
|
js_whitelist = [
|
|
"*://*.youtube.com/*",
|
|
"*://127.0.0.1/*",
|
|
"*://darksky.net/*"
|
|
"*://deepl.com/*",
|
|
"*://duckduckgo.com/*",
|
|
"*://github.com/*",
|
|
"*://localhost/*",
|
|
"*://news.ycombinator.com/*",
|
|
"*://reddit.com/*",
|
|
"*://translate.google.com/*",
|
|
"*://maps.google.com/*",
|
|
"*://mail.google.com/*",
|
|
"*://todoist.com/*",
|
|
"*://toggl.com/*",
|
|
"file://*",
|
|
"chrome://*/*",
|
|
"qute://*/*",
|
|
]
|
|
for page in js_whitelist:
|
|
with config.pattern(page) as p:
|
|
p.content.javascript.enabled = True
|
|
|
|
c.editor.command = ["alacritty", "-e", "nvim", "-f", "{file}"]
|
|
|
|
# LOOK
|
|
# ----
|
|
|
|
# Tab-Bar
|
|
# have tab bar on the right, not on the top
|
|
c.tabs.background = True
|
|
c.tabs.title.format = '{index} {audio}{perc}{current_title}{title_sep}'
|
|
c.tabs.position = "right"
|
|
c.tabs.width = "15%"
|
|
|
|
# give the browser nice nord theme colors
|
|
config.source('themes/nordtheme.py')
|
|
|
|
# Status bar
|
|
# should be visible to prevent 'jumping' bug, see https://github.com/qutebrowser/qutebrowser/issues/2236
|
|
# TODO think about implementing a simple toggle for the statusbar, like for the tabs
|
|
c.statusbar.hide = False
|
|
|
|
# CSS
|
|
DARK_STYLESHEET = config.configdir / \
|
|
"stylesheets/solarized-dark.css"
|
|
LIGHT_STYLESHEET = config.configdir / \
|
|
"stylesheets/solarized-light.css"
|
|
if DARK_STYLESHEET.exists() and LIGHT_STYLESHEET.exists():
|
|
css = [str(DARK_STYLESHEET), str(LIGHT_STYLESHEET)]
|
|
|
|
# FUNCTION
|
|
# --------
|
|
|
|
# Prevents *all* tabs from being loaded on restore, only loads on activating them
|
|
c.session.lazy_restore = True
|
|
|
|
# Binds
|
|
# 'Leader' key binding
|
|
leader = "<Space>"
|
|
|
|
# toggles ('cycles') between tabs always showing, or only when switching between them
|
|
config.bind('tt', 'config-cycle -t tabs.show always switching')
|
|
|
|
# [M]edia shortcuts - watch, queue, download media
|
|
|
|
# bind mpv to play the current page/links, using a single instance which queues the next link passed
|
|
config.bind(leader + 'M', 'spawn umpv {url}')
|
|
config.bind(leader + 'm', 'hint links spawn umpv {hint-url}')
|
|
|
|
# bind youtube-dl to download the current page/links
|
|
config.bind(leader + 'dM', 'spawn youtube-dl -o ~/videos/%(title)s.%(ext)s {url}')
|
|
config.bind(leader + 'dm', 'hint --rapid links spawn youtube-dl -o ~/videos/%(title)s.%(ext)s {url}')
|
|
|
|
# Let me close tabs more easily, and 'unclose' them with the same key
|
|
config.bind('x', 'tab-close', mode='normal')
|
|
config.bind('X', 'undo', mode='normal')
|
|
|
|
# Use q for quitting a tab (mimicks vim buffer) - qa is used for exiting
|
|
c.aliases["q"] = "tab-close"
|
|
# if we save sessions with w, load sessions with e (again, mimicks vim)
|
|
c.aliases["e"] = "session-load"
|
|
|
|
# bookmarklet aliases:
|
|
# currently the idea is to prefix bookmarklets with b (as in open "bookmarklet")
|
|
# wallabag add current page, either with walla command, or <leader>bw
|
|
c.aliases["wallabag-add"] = "spawn --userscript wallabag_add.sh"
|
|
config.bind(leader + 'bw', 'wallabag-add', mode='normal')
|
|
# re-opens the current page on the web archive overview page
|
|
c.aliases["archive-open"] = "open https://web.archive.org/web/{url}"
|
|
config.bind(leader + 'ba', 'archive-open', mode='normal')
|
|
|
|
# set stylesheets for the browser to use
|
|
# leader - ss to remove all applied stylesheets
|
|
config.bind(leader + 'ss', 'set content.user_stylesheets ""')
|
|
# leader - sd for dark mode solarized
|
|
config.bind(leader + 'sd', 'set content.user_stylesheets ' + str(css[0]) )
|
|
# leader - sl for light mode solarized
|
|
config.bind(leader + 'sl', 'set content.user_stylesheets ' + str(css[1]) )
|
|
|
|
# Enable and disable javascript
|
|
config.bind(leader + "js", "config-cycle content.javascript.enabled true false")
|
|
|
|
# Reload this config
|
|
config.bind(leader + "VV", "config-source")
|
|
|
|
c.url.searchengines = {
|
|
"DEFAULT": "https://duckduckgo.com/?q={}",
|
|
"d": "https://www.dict.cc/?s={}",
|
|
"g": "https://www.google.com/search?q={}",
|
|
"r": "https://old.reddit.com/r/{}",
|
|
"w": "https://en.wikipedia.org/w/index.php?search={}",
|
|
"gt": "https://translate.google.com/#auto/de/{}",
|
|
"gh": "https://github.com/search?q={}",
|
|
"al": "https://wiki.archlinux.org/index.php/{}",
|
|
"aur": "https://aur.archlinux.org/packages/?K={}",
|
|
"yt": "https://www.youtube.com/results?search_query={}",
|
|
"maps": "https://www.google.fr/maps?q={}",
|
|
"gol": "https://golang.org/pkg/{}/",
|
|
}
|