Compare commits

..

3 commits

Author SHA1 Message Date
7003fe992f
qutebrowser: Add function to remove floating elements
Primarily used to get rid of cookie banners or
'subscribe-to-my-newsletter' annoyances.
2025-12-01 10:26:00 +01:00
9159ea177d
qutebrowser: Add cookie and social button blocklists 2025-12-01 10:25:59 +01:00
ce8c40e717
nvim: Fix diagnostic toggle mappings
Finally changed the 'show line diagnostics' (opening a popup with all
diagnostics on current line) mapping to fit to the other remappings
moving 'diagnostics' to the `e` key, with `<localleader>le`.

And fixed the ability to toggle diagnostics as virtual lines with
`<localleader>lO`.
2025-12-01 10:25:59 +01:00
5 changed files with 12 additions and 4 deletions

View file

@ -149,7 +149,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
o({ desc = "Next error" })
)
map("n", "<localleader>ld", "<cmd>lua vim.diagnostic.open_float()<cr>", o({ desc = "Show line diagnostics" }))
map("n", "<localleader>le", "<cmd>lua vim.diagnostic.open_float()<cr>", o({ desc = "Show line diagnostics" }))
map("n", "<localleader>la", "<cmd>lua vim.lsp.buf.code_action()<cr>", o({ desc = "Codeactions" }))
map("n", "<localleader>ln", "<cmd>lua vim.lsp.buf.rename()<cr>", o({ desc = "Rename element" }))
map("n", "<localleader>lc", "<cmd>lua vim.lsp.buf.declaration()<cr>", o({ desc = "Declaration" }))
@ -166,7 +166,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
local c = vim.diagnostic.config() or {}
vim.diagnostic.config({ virtual_text = not c["virtual_text"] })
end, o({ desc = "Toggle virtual diag text" }))
if vim.fn.has("nvim-0.11") == true then -- new feature https://gpanders.com/blog/whats-new-in-neovim-0-11/#virtual-lines
if vim.fn.has("nvim-0.11") == 1 then -- new feature https://gpanders.com/blog/whats-new-in-neovim-0-11/#virtual-lines
map("n", "<localleader>lO", function()
local c = vim.diagnostic.config() or {}
vim.diagnostic.config({ virtual_lines = not c["virtual_lines"] })

View file

@ -43,3 +43,6 @@ c.aliases["recent-downloads"] = "spawn --userscript recently-downloaded"
# annotate with hypothesis
c.aliases["hypothesis"] = "jseval (function(){window.hypothesisConfig=function(){return{showHighlights:true,appType:'bookmarklet'};};var d=document,s=d.createElement('script');s.setAttribute('src','https://hypothes.is/embed.js');d.body.appendChild(s)})();'hypothesis enabled'"
# remove any sticky banners (e.g. cookie banners)
c.aliases["remove-floating"] = '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]);}}})();'

View file

@ -98,4 +98,4 @@ colorscheme = f"{state_dir}/qutebrowser/colorscheme.py"
if os.path.isfile(colorscheme):
config.source(colorscheme)
c.url.start_pages = "https://start.duckduckgo.com/html"
c.url.start_pages = "https://html.duckduckgo.com/lite"

View file

@ -7,7 +7,9 @@ c.content.blocking.adblock.lists = [
"https://easylist.to/easylist/easyprivacy.txt",
"https://someonewhocares.org/hosts/hosts",
"https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext",
"https://www.i-dont-care-about-cookies.eu/abp/",
"https://secure.fanboy.co.nz/fanboy-cookiemonster.txt",
"https://easylist.to/easylist/fanboy-social.txt",
]
c.content.blocking.whitelist = ["piwik.org"]
c.content.autoplay = False

View file

@ -50,7 +50,9 @@ config.bind(leader + "tV", "set tabs.position left")
# bind mpv to play the current page/links, using a single instance which queues the next link passed
config.bind(lleader + "m", "hint links spawn umpv {hint-url}")
config.bind(lleader + "i", "hint links spawn uoeia -v imv {hint-url}")
config.bind(lleader + "I", "hint images spawn uoeia -v imv {hint-url}") # for images directly
config.bind(
lleader + "I", "hint images spawn uoeia -v imv {hint-url}"
) # for images directly
# [G]emini shortcuts
# the full power of qutebrowser at your fingertips for any gemini page!
@ -98,6 +100,7 @@ config.bind(leader + "a", "cmd-set-text -s :taskadd")
# Enable and disable javascript
config.bind(leader + "js", "config-cycle content.javascript.enabled true false")
config.bind(leader + "jf", "remove-floating", mode="normal")
# Reload configuration
config.bind(leader + "VV", "config-source")