summaryrefslogtreecommitdiffstats
path: root/.config/qutebrowser/config.py
diff options
context:
space:
mode:
authorRomain Gonçalves <me@rgoncalves.se>2021-12-23 18:28:03 +0000
committerRomain Gonçalves <me@rgoncalves.se>2021-12-23 18:28:03 +0000
commit0f08d04698c814955116b6bae50752e64b774d8f (patch)
tree8cf9a33557093eebfd25aab2872e97639c7e2f62 /.config/qutebrowser/config.py
downloaddots-0f08d04698c814955116b6bae50752e64b774d8f.tar.gz
Thu Dec 23 06:28:03 PM UTC 2021
Diffstat (limited to '.config/qutebrowser/config.py')
-rwxr-xr-x.config/qutebrowser/config.py111
1 files changed, 111 insertions, 0 deletions
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')
remember that computers suck.