summaryrefslogtreecommitdiffstats
path: root/config.py
blob: 9fe76e081508c2673620de7b31968f48a798b2a0 (plain) (blame)
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", "{}"]