import catppuccin # pylint: disable=C0111 from qutebrowser.config.configfiles import ConfigAPI # noqa: F401 from qutebrowser.config.config import ConfigContainer # noqa: F401 # fmt: off config: ConfigAPI = config # type: ConfigAPI # noqa: F821 pylint: disable=E0602,C0103 # pyright: ignore c: ConfigContainer = c # type: ConfigContainer # noqa: F821 pylint: disable=E0602,C0103 # pyright: ignore # fmt: on # load autoconfig values config.load_autoconfig() # load catppuccin theme catppuccin.setup(c, "Machiatto", True) # load custom configs config.source("pyconfig/redirectors.py") ##-- Dark Mode Settings --## c.colors.webpage.preferred_color_scheme = "dark" c.colors.webpage.darkmode.enabled = True c.colors.webpage.bg = "black" c.colors.webpage.darkmode.algorithm = "lightness-cielab" c.colors.webpage.darkmode.threshold.foreground = 150 c.colors.webpage.darkmode.threshold.background = 100 c.colors.webpage.darkmode.policy.images = "never" # c.colors.webpage.darkmode.grayscale.images = 0.35 # change startpage and default page c.url.start_pages = ["https://startpage.cronyakatsuki.xyz"] c.url.default_page = "https://startpage.cronyakatsuki.xyz" # search engines c.url.searchengines = { "DEFAULT": "https://searx.cronyakatsuki.xyz/?q={}", "aw": "https://wiki.archlinux.org/?search={}", "re": "https://www.reddit.com/r/{}", "w": "https://en.wikipedia.org/wiki/{}", "y": "https://www.youtube.com/results?search_query={}", } ##-- Fingerprinting settings --## c.content.headers.user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.3" c.content.headers.accept_language = "en-US,en;q=0.5" c.content.headers.custom = { "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" } c.content.canvas_reading = False c.content.webgl = False c.content.webrtc_ip_handling_policy = "default-public-interface-only" c.content.geolocation = False c.content.javascript.enabled = False c.content.notifications.enabled = False c.content.cookies.accept = "never" c.content.private_browsing = False ##-- AdBLock Settings --## c.content.blocking.method = "both" c.content.blocking.adblock.lists = [ "https://easylist.to/easylist/easylist.txt", "https://easylist.to/easylist/easyprivacy.txt", "https://secure.fanboy.co.nz/fanboy-annoyance.txt", "https://easylist-downloads.adblockplus.org/abp-filters-anti-cv.txt", "https://www.i-dont-care-about-cookies.eu/abp/", ] # History disable c.completion.web_history.max_items = 0 c.completion.cmd_history_max_items = 0 ##-- Devtool Settings --## with config.pattern("chrome-devtools://*") as s: s.content.cookies.accept = "all" s.content.images = True s.content.javascript.enabled = True with config.pattern("devtools://*") as s: s.content.cookies.accept = "all" s.content.images = True s.content.javascript.enabled = True with config.pattern("chrome://*/*") as s: s.content.javascript.enabled = True with config.pattern("qute://*/*") as s: s.content.javascript.enabled = True ##-- Site settings --## with config.pattern("https://searx.cronyakatsuki.xyz/*") as s: s.content.cookies.accept = "all" with config.pattern("https://monkeytype.com") as s: s.content.javascript.enabled = True s.content.cookies.accept = "all" with config.pattern("https://piped.cronyakatsuki.xyz/*") as s: s.content.javascript.enabled = True s.content.cookies.accept = "all" ##-- Aliases --## c.aliases = config.get("aliases") c.aliases["buku"] = "spawn --userscript buku" ##-- Bindings --## # launch with mpv config.bind(",m", "spawn mpv {url}") config.bind(",fm", "hint links spawn mpv {hint-url}") # buku bundings config.bind("b", "buku open") config.bind("B", "buku open -t") config.bind(",ba", "buku add") config.bind(",be", "buku edit") config.bind(",bd", "buku delete") config.bind(",bfa", "hint links spawn --userscript buku add {hint-url}") # yt-dlp config.bind(",y", "spawn --userscript yt-dlp") config.bind(",fy", "hint links userscript yt-dlp") # search current selection config.bind(",fo", "open {primary}") config.bind(",fO", "open --tab {primary}") # yank found url config.bind("yf", "hint links yank") # fix escape config.bind( "", "mode-leave ;; jseval -q document.activeElement.blur()", mode="insert" ) # fix scrolling config.bind("j", "jseval --quiet scrollHelper.scrollBy(50)") config.bind("k", "jseval --quiet scrollHelper.scrollBy(-50)") config.bind("", "jseval --quiet scrollHelper.scrollPage(0.8)") config.bind("", "jseval --quiet scrollHelper.scrollPage(-0.8)") config.bind("gg", "jseval --quiet scrollHelper.scrollTo(0)") config.bind("G", "jseval --quiet scrollHelper.scrollToPercent(100)") # KeePassXC binding config.bind('pw', 'spawn --userscript qute-keepassxc --key crony@cronyakatsuki.xyz') # remove clickbard and gdpr banners config.bind( "ek", "jseval (function () { " + ' var i, elements = document.querySelectorAll("body *");' + "" + " for (i = 0; i < elements.length; i++) {" + " var pos = getComputedStyle(elements[i]).position;" + ' if (pos === "fixed" || pos == "sticky") {' + " elements[i].parentNode.removeChild(elements[i]);" + " }" + " }" + "})();", ) ##-- Font Settings --## c.fonts.default_family = '"Dejavu Sans Mono"' c.fonts.default_size = "10pt" c.fonts.completion.entry = 'default_size "default_family"' c.fonts.debug_console = 'default_size "default_family"' c.fonts.prompts = "default_size default_family" c.fonts.statusbar = 'default_size "default_family"' ##-- FilePicker (nnn on crrack)--## fileselect_cmd = [ "alacritty", "--class", "filepicker,filepicker", "-e", "tmux", "new", "-s", "filepicker", "env", "LC_COLLATE=C", "nnn", "-P", "p", "-p", "{}", ] c.fileselect.handler = "external" c.fileselect.folder.command = fileselect_cmd c.fileselect.single_file.command = fileselect_cmd c.fileselect.multiple_files.command = fileselect_cmd