From 0f08d04698c814955116b6bae50752e64b774d8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romain=20Gon=C3=A7alves?= Date: Thu, 23 Dec 2021 18:28:03 +0000 Subject: Thu Dec 23 06:28:03 PM UTC 2021 --- .config/qutebrowser/config.py | 111 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100755 .config/qutebrowser/config.py (limited to '.config/qutebrowser/config.py') diff --git a/.config/qutebrowser/config.py b/.config/qutebrowser/config.py new file mode 100755 index 0000000..13dca3f --- /dev/null +++ b/.config/qutebrowser/config.py @@ -0,0 +1,111 @@ + +# ~/.config/qutebrowser/config.py +# rgoncalves.se + +import logging +import os +import re +import subprocess +import platform + +logging.basicConfig(level=logging.DEBUG) + +""" +Bypass flake8 warnings. +""" +try: + config +except NameError: + config = None + + +def select_rendering_method(): + """ + Select best rendering method depending on hardware and system. + """ + method = 'none' + + if platform.uname().system in 'Linux': + lspci_bin = subprocess.run(['lspci'], stdout=subprocess.PIPE) + if re.search('NVIDIA', lspci_bin.stdout.decode('utf-8')) is None: + method = 'qt-quick' + + return method + + +def select_qt_arguments(): + """ + Select best arguments for launching qutebrowser. + Empty by default, it picks lag free options for musl systems. + """ + args = [] + ls_bin = os.popen("ldd /bin/ls").read() + + if re.search('musl', ls_bin) is not None: + args.append('disable-seccomp-filter-sandbox') + + return args + + +config.load_autoconfig(False) +config.set('auto_save.session', True) +config.set('scrolling.smooth', False) +config.set('qt.highdpi', False) +config.set('qt.force_software_rendering', select_rendering_method()) +config.set('qt.args', select_qt_arguments()) + +config.bind(',m', 'spawn mpv {url}') + +config.set('content.images', True, 'chrome-devtools://*') +config.set('content.images', True, 'devtools://*') +config.set('content.javascript.enabled', True, 'chrome-devtools://*') +config.set('content.javascript.enabled', True, 'devtools://*') +config.set('content.javascript.enabled', True, 'chrome://*/*') +config.set('content.javascript.enabled', True, 'qute://*/*') + +config.set('content.notifications.enabled', False) +config.set('content.notifications.enabled', True, '*://*.zoho.eu/*') +config.set('content.notifications.enabled', True, '*://*.viperdev.io/*') +config.set('content.notifications.enabled', True, '*://*.rgoncalves.se/*') + +config.set('content.register_protocol_handler', False) +config.set('content.geolocation', False) +config.set('content.media.audio_video_capture', True, '*://*.zoho.eu/*') +config.set('content.media.audio_capture', True, '*://*.zoho.eu/*') +config.set('content.media.video_capture', True, '*://*.zoho.eu/*') + +config.set('completion.web_history.max_items', 0) +config.set('tabs.background', True) +config.set('tabs.indicator.width', 3) +config.set('tabs.indicator.padding', + {'bottom': 0, 'left': 1, 'right': 4, 'top': 0}) + +config.set('fonts.default_family', 'Terminus') +config.set('fonts.default_size', '12pt') + +config.set('colors.tabs.bar.bg', '#000000') +config.set('colors.tabs.even.bg', '#000000') +config.set('colors.tabs.even.fg', '#ffffff') +config.set('colors.tabs.odd.bg', '#000000') +config.set('colors.tabs.odd.fg', '#ffffff') +config.set('colors.tabs.indicator.system', 'none') +config.set('colors.tabs.selected.even.bg', '#ffffff') +config.set('colors.tabs.selected.even.fg', '#000000') +config.set('colors.tabs.selected.odd.bg', '#ffffff') +config.set('colors.tabs.selected.odd.fg', '#000000') +config.set('colors.tabs.pinned.selected.even.bg', '#ffffff') +config.set('colors.tabs.pinned.selected.odd.bg', '#ffffff') +config.set('colors.tabs.pinned.selected.even.fg', '#000000') +config.set('colors.tabs.pinned.selected.odd.fg', '#000000') +config.set('colors.tabs.indicator.error', '#ff0000') + +config.set('content.prefers_reduced_motion', True) +config.set('content.headers.referer', 'same-domain') +config.set('url.default_page', 'https://lite.duckduckgo.com/lite/') +config.set('url.start_pages', 'https://lite.duckduckgo.com/lite/') +config.set('url.searchengines', + {'DEFAULT': 'https://lite.duckduckgo.com/lite/?q={}'}) + +config.set('downloads.location.directory', f'{os.environ["HOME"]}/downloads') +config.set('content.autoplay', False) +config.set('content.cookies.accept', 'no-3rdparty') -- cgit v1.2.3