1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
from qutebrowser.config.configfiles import ConfigAPI # make lsp shut up
from qutebrowser.config.config import ConfigContainer
config: ConfigAPI = config
c: ConfigContainer = c
config.load_autoconfig(False)
# Home Page
startpage = str(config.configdir / 'startpage/index.html')
c.url.default_page = startpage
c.url.start_pages = startpage
c.url.searchengines = {"DEFAULT": "https://searx.be/?q={}"}
# Privacy
c.backend = "webengine"
c.qt.force_platform = "wayland"
c.content.proxy = 'system'
c.content.desktop_capture = False # site permissions
c.content.mouse_lock = False
c.content.media.audio_capture = False
c.content.media.video_capture = False
c.content.media.audio_video_capture = False
c.content.geolocation = False
c.content.notifications.enabled = False
c.content.autoplay = False
c.content.canvas_reading = False
c.content.local_storage = False
c.content.persistent_storage = False
c.content.headers.do_not_track = True
c.content.cookies.accept = "no-3rdparty"
c.completion.cmd_history_max_items = 0
c.completion.web_history.max_items = 0
c.auto_save.session = False
c.content.blocking.method = "both"
c.content.blocking.enabled = True
c.content.cookies.store = False
c.content.headers.accept_language = "en-US,en;q=0.5"
c.content.headers.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
c.content.javascript.enabled = False
c.content.private_browsing = True
c.content.register_protocol_handler = False
c.content.webgl = False
c.content.webrtc_ip_handling_policy = "default-public-interface-only"
c.content.headers.referer = "same-domain"
# UI
c.colors.webpage.darkmode.enabled = True
c.colors.webpage.darkmode.algorithm = 'lightness-cielab'
c.colors.webpage.darkmode.policy.images = 'smart'
c.colors.webpage.darkmode.policy.page = 'smart'
c.scrolling.smooth = True
c.completion.height = "20%"
c.completion.shrink = True
c.statusbar.show = 'in-mode'
c.statusbar.padding = {"bottom": 4, "left": 4, "right": 4, "top": 4}
c.tabs.padding = {"bottom": 3, "left": 5, "right": 5, "top": 3}
c.tabs.favicons.show = "never"
c.tabs.title.alignment = 'center'
c.tabs.title.format = "{audio}<{index}> {current_title}"
c.tabs.title.format_pinned = "<{index}>"
# coloring
c.colors.webpage.bg = "#121212"
c.colors.tabs.even.bg = "#2a2a2a" # tabs
c.colors.tabs.odd.bg = "#2a2a2a"
c.colors.tabs.selected.even.bg = "#1a1a1a"
c.colors.tabs.selected.odd.bg = "#1a1a1a"
c.colors.statusbar.caret.fg = "#C678DD"
c.colors.statusbar.command.fg = "#E06C75"
c.colors.statusbar.command.private.fg = "#E06C75"
c.colors.statusbar.insert.fg = "#98C379"
c.colors.statusbar.normal.fg = "#61AFEF"
c.colors.statusbar.private.fg = "#61AFEF"
c.colors.statusbar.command.bg = "#1a1a1a"
c.colors.statusbar.command.private.bg = "#1a1a1a"
c.colors.statusbar.insert.bg = "#1a1a1a"
c.colors.statusbar.normal.bg = "#1a1a1a"
c.colors.statusbar.private.bg = "#1a1a1a"
c.colors.statusbar.url.fg = "#ffffff" # urls
c.colors.statusbar.url.success.http.fg = "#EA936C"
c.colors.statusbar.url.success.https.fg = "#98C379"
c.colors.statusbar.url.hover.fg = "#61AFEF"
c.colors.completion.even.bg = "#1b1b1b" # completion menu
c.colors.completion.odd.bg = "#1b1b1b"
c.colors.completion.category.bg = "#121212"
c.colors.completion.category.fg = "#61AFEF"
c.colors.completion.item.selected.bg = "#E5C07B"
c.colors.completion.item.selected.border.top = "#E5C07B"
c.colors.completion.item.selected.border.bottom = "#E5C07B"
# Binds & Aliases
config.bind(',m', 'spawn -d mpv {url}')
config.bind(',M', 'hint links spawn -d mpv {hint-url}')
config.bind(',n', 'spawn -u untrack-url -o {url}')
config.bind('gi', 'hint inputs')
config.unbind('=', mode='normal') # zooming
config.unbind('+', mode='normal')
config.unbind('-', mode='normal')
config.bind('z=', 'zoom-in')
config.bind('z-', 'zoom-out')
config.bind('zz', 'zoom')
config.bind('tt', 'config-cycle -p content.proxy socks://localhost:9050/ system')
config.bind('td', 'config-cycle -p colors.webpage.darkmode.enabled True False')
c.aliases = {
'o': 'open',
'q': 'quit',
'so': 'config-source',
}
# QOL
c.confirm_quit = ["downloads"]
c.tabs.last_close = "startpage"
c.search.wrap = False
c.tabs.show = "multiple"
c.editor.command = ["foot", "-e", "nvim", "{}"]
|