r/qutebrowser Jun 05 '16

qutebrowser development blog

Thumbnail blog.qutebrowser.org
29 Upvotes

r/qutebrowser 6d ago

I can't login to ChatGPT

5 Upvotes

The login with Google button gets greyed out and infinitely shows its loading animation.

I used the latest versions, qutebrowser v3.7.0 and Qt 6.11.0. I tried both the Zypper package and building it from GitHub, both have the same issue


r/qutebrowser 10d ago

Tabs zindex?

1 Upvotes

i don't like how the web resizes eveytime i toggle the tabs is there a way to put them on a diffrent plain. i couldn't find it in the configs, do i need to mess with the source code?


r/qutebrowser 11d ago

how to disable tooltip?

2 Upvotes

I have this question unanswered so reposting it in case someone can help. How can i disable tooltip on qutebrowser when i hover the mouse on a link? I need to disable it becasue the tiling window manager (when it is active) detects it as a window. Some websites show that tooltip, (for example https://docs.openwebui.com)


r/qutebrowser 16d ago

403 Codeberg problem for qutebrowser

2 Upvotes

Hi guys I am facing issue where when I try to access codeberg.org via qutebrowser I get 403 (Access denied) any help with this.

Please..!!


r/qutebrowser 17d ago

Youtube ad blocking problem

1 Upvotes

how do you implement youtube ad skip for qute. Because, when I tried to implement ad skipping using this script and it just skips the whole video how can I fix that the ad gets skipped pretty fast but the video is also done.

// ==UserScript==

// for more updated scripts, see: https://greasyfork.org/en/scripts/by-site/youtube.com

// u/nameAuto Skip YouTube Ads

// u/version1.1.0

// u/description Speed up and skip YouTube ads automatically

// u/authorjso8910 and others

// u/match*://*.youtube.com/*

// ==/UserScript==

document.addEventListener('load', () => {

const btn = document.querySelector('.videoAdUiSkipButton,.ytp-ad-skip-button-modern')

if (btn) {

btn.click()

}

const ad = [...document.querySelectorAll('.ad-showing')][0];

if (ad) {

document.querySelector('video').currentTime = 9999999999;

}

}, true);


r/qutebrowser 25d ago

qutebrowser and linkding integration?

4 Upvotes

Hi, Has anyone integrated or used qutebrowser with Linkding bookmark manager? so qutewbrowser can read the bookmarks from linkding instead of url.txt


r/qutebrowser 27d ago

customize the status bar vim mode

2 Upvotes

i set the show status bar to always. I'd like to show the vim mode (NORMAL, INSERT) with a background color. Is it possible? Trying to replicate the look of neovim.

this is my neovim status bar in NORMAL and INSERT:

This is qutebrowser in norrmal mode. no text.

This is qutebrowser in insert mode:


r/qutebrowser Jun 11 '26

Trying out Qutebrowser for the first time

6 Upvotes

Hello everyone, as for today I'm trying to try something new, I stumbled upon qutebrowser. Here's my questions after using it for a bit.

  1. How do I use vertical tab?
  2. How do I customize the browser? And how deep I can go into tinkering the browser appearance/function? (If there're any resource or guide please tag it in the comment <3)
  3. What is gvim? I tried to edit the config file... it said "Editor 'gvim' failed to start: 'gvim' doesn't exist or isn't executable"
  4. When I start it, it gave me a warning

"Errors occurred while reading config.py:

® autoconfig loading not specified: Your config.py should

call either `config.load_autoconfig0}` (to load settings

configured via the GUI) or `config.load_autoconfig(False)` (to

not do so)

"

I have no idea what does this mean but the browser started and I can use it like normal.

a small side note is that I'm pretty new to Linux and these kind of stuffs so pleaseee be kind, lots of love <3

// TYSM EVERYONE! I appreciate all of your help !


r/qutebrowser May 30 '26

Session restore with Hyprland/Sway window positioning (PR #8919)

3 Upvotes

Hey r/qutebrowser,

I've been working on a feature I think many tiling WM users will appreciate: proper session save/ restore with window manager integration.

The PR adds session.after_save_command and session.after_load_command config options. Paired with the included userscripts, qutebrowser sessions are fully restored, including workspace placement, monitor assignment, and floating window geometry.

Two userscripts are included: qb-hyprland-session and qb-sway-session.

With the Hy3 plugin for Hyprland, it goes further: full tiling tree reconstruction (h/v splits, tabbed groups) with proportional resizing, scratchpad support, and oscillation detection for layouts that have changed since the last save.

To try it, clone the branch from PR #8919 and add to your config:

c.session.after_save_command = ["qb-hyprland-session", "save", "{session}"]
c.session.after_load_command = ["qb-hyprland-session", "restore", "{session}"]

The hook mechanism is generic, any window manager could be supported. If you'd like to see a script for your WM, let me know in the comments!

I'd love to hear how it works for you!


r/qutebrowser May 29 '26

using mpv config file in qb

1 Upvotes

Launching video in qutebrowser with mpv doesn't use the mpv configuration file. Is it by design or i missed a setting?

UPDATE:

I fixed it by passing the `--config-dir` flag to the `spawn` command.

config.bind(";v", r'hint links spawn -d mpv.exe --config-dir=C:/Users/azin/.config/mpv {hint-url}')


r/qutebrowser May 27 '26

completion window showing below webpage

1 Upvotes

i added transparent backgrounds using css and now the completion window appears behind

.site-wrapper {

background-color: transparent;

}

body {

background-color: rgba(0,0,0,0.25);

opacity: 1;

}

.header-wrap {

background-color: rgba(0,0,0,0.25);

}

does anyone know what is going on? this happens on anything that the transparency works on


r/qutebrowser May 23 '26

How come blocking youtube ads is still not done?

5 Upvotes

Every few years, I re-install qutebrowser to see if youtube ads are properly blocked.

I just installed the latest version, did "adblock-update", went to youtube, click on a video and first thing I saw: ads.

Am I missing something? I don't want to use mpv or whatever. I want to watch youtube in the browser itself. Is it not possible to block the ads? Am I missing some dependency?


r/qutebrowser May 12 '26

Typing in url bar has become laggy

7 Upvotes

I think this has been happening for a week or two (I can't remember when I first noticed it, I kept assuming it was a temporary thing and not really paying much attention) and my suspicion is that this is something underlying changing - some dependency or something - rather than qutebrowser itself, since I don't think qutebrowser has updated in that timeframe.

When I type in the address bar, it's laggy in the sense that letters take a moment to appear as I type, until it's not matching against anything, then I can type as normal. So it's clearly something to do with the matching.

I've tried the git version of qutebrowser and that behaves the same.

I've tried setting web_history.max_items very low (I went as low as 50) and that made no perceivable difference.

It doesn't happen when I run with qutebrowser --temp-basedir but I assume that's just because there's no history to match against. So doesn't really tell me much.

I'm on and up-to-date Arch with qutebrowser installed through the repos. Happy to provide more info if it'd be useful.

Thanks for any advice!

edit: just noticed the same behaviour when doing set: blah and it's matching against settings rather than history. So it's not specific to history-matching.


r/qutebrowser May 12 '26

How to launch a virtual environment install?

3 Upvotes

I just installed qutebrowser into a virtual environment because i was trying to get adblock to work and i read that it's the "right" way to install qutebrowser. Now i don't know how to run an instance of qutebrowser.

I'm on Debian Trixie and my window manager is Qtile. I would also greatly appreciate some help with binding qutebrowser in Qtile, like I used to have it.


r/qutebrowser May 09 '26

can't watch videos on youtube

1 Upvotes

for some reason when i'm on youtube and try to watch a video i get the error code 152 - 4
i also can't login into anything google-wise, and yt-dl decided to not be usable anymore because youtube needs me to login to use it, which needs my cookies which i can't get without login in

Edit: I managed to fix it, seems like it was a greasemonkey usescript that broke it, still haven't found a way to do stuff with mpv but oh well


r/qutebrowser May 08 '26

I made a custom script for adblocking.

8 Upvotes

Type ":adblock -p" for help on the use of the command. I binded "AD" to the toggling of adblocking.

Copy and paste on config.py in order to add it.

# adblocking

c.content.blocking.method = 'adblock'

fulladblocklist = [
        "https://easylist.to/easylist/easylist.txt",
        "https://easylist.to/easylist/easyprivacy.txt",
        "https://easylist.to/easylist/fanboy-social.txt",
        "https://secure.fanboy.co.nz/fanboy-annoyance.txt",
        "https://easylist-downloads.adblockplus.org/abp-filters-anti-cv.txt",
        #"https://gitlab.com/curben/urlhaus-filter/-/raw/master/urlhaus-filter.txt",
        "https://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/legacy.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2020.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2021.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badware.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/privacy.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badlists.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/annoyances.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/resource-abuse.txt",
        "https://www.i-dont-care-about-cookies.eu/abp/",
        "https://secure.fanboy.co.nz/fanboy-cookiemonster.txt",
        "https://github.com/uBlockOrigin/uAssets/raw/master/filters/unbreak.txt"]

c.content.blocking.adblock.lists = fulladblocklist

import qutebrowser.api.cmdutils as cmdutils

@cmdutils.register()
@cmdutils.argument('start', flag='1')
@cmdutils.argument('stop', flag='0')
@cmdutils.argument('toggle', flag='t')
@cmdutils.argument('info', flag='i')
@cmdutils.argument('print_help', flag='p')
u/cmdutils.argument('silent', flag='s')
def adblock(start: bool = False, stop: bool = False, toggle: bool = False, info: bool = False, print_help: bool = False, silent: bool = False):
    from qutebrowser.utils import message
    if print_help:
        message.info("This command helps manage adblocking.")
        message.info("")
        message.info("\t--start, -1\tAdds the configured lists array (see in config.py) to c.content.blocking.adblock.lists.")
        message.info("\t--stop, -0\tSets c.content.blocking.adblock.lists to the empty array.")
        message.info("\t--toggle, -t\tToggles between the previous two options. It is the default behavior (in abscence of flags).")
        message.info("\t--info, -i\tPrints the adblocking method and the lenght of the array of adblocking lists.")
        message.info("\t--help, -h\tPrints this message.")
        message.info("")
        message.info("-i and -h can be combined with other flags. But they will disable the default toggleing unless acompanied with -t.")
        message.info("Using contradictory flags at once results in an error and no change happening to the adblocking.")
    if info:
        method = config.get("content.blocking.method")
        arraylength = len(config.get("content.blocking.adblock.lists"))
        enable = config.get("content.blocking.enabled")
        message.info(f"Adblocking method: {method}")
        message.info(f"Length of adblocking list array: {arraylength}")
        if(enable):
            message.info("Enabled")
        else:
            message.info("Disabled")
    #toggling adblock
    if (not start) and (not stop) and ( toggle or ((not info) and (not print_help)) ):
        config.set("content.blocking.enabled", not config.get("content.blocking.enabled"))
        if config.get("content.blocking.enabled") and not silent:
            message.info("Ad-blocking enabled")
        elif not (config.get("content.blocking.enabled") or silent):
            message.info("Ad-blocking disabled")
    elif start and not (stop or toggle):
        config.set("content.blocking.enabled", True)
        if not silent:
            message.info("Ad-blocking enabled")
    elif stop and not (start or toggle):
        config.set("content.blocking.enabled", False)
        if not silent:
            message.info("Ad-blocking disabled")
    elif (start and stop) or ( toggle and (start or stop) ):
        message.error("Contradictory flags active at once.")
    elif ( (not start) and (not stop) and (not toggle) ) and (info or print_help):
        print("nothing")
    else:
        message.error("Elif tree couldn't get the case")

config.bind('AD', "adblock")

r/qutebrowser May 08 '26

are qutebrowser colorschemes compatible with vim?

4 Upvotes

hey there folks, how are u all?

i have some questions about styling.

i have a custom colorscheme that i use for more than 10 years in vim and i would like to use it in this browser too.

are colorschemes compatibel with vim colorschemes?

also how could i set a dark mode to pages?

how could i found docs for it all?


r/qutebrowser May 07 '26

AppImage for Qutebrowser

5 Upvotes

Where can I download an AppImage for Qutebrowser? I like AppImage because it is portable and I don't need to install it in my pc. Vieb and Helium browsers have versions in AppImage, but I can't find anyone for Qutebrowser. Why the developer does not work on it?


r/qutebrowser May 07 '26

Is there a way to switch website's preferred colorscheme on the fly?

3 Upvotes

Currently when i change the value of colors.webpage.preferred_color_scheme from dark to light or the other way around the changes are not reflected until i reopen the browser, can't it be done instantly or after page refresh? I know I can toggle the built in dark mode but for some websites it looks horrible, that's why i would like to use website's dark mode if available.


r/qutebrowser May 03 '26

Can't login to google

5 Upvotes

Google just keeps telling me that the browser might not be secure and won't let me login. Ive enabled the browser specific tricks and all that but nope. Anyone knows whats up and what to do?


r/qutebrowser May 01 '26

Frustrated when configuring QuteBrowser.

0 Upvotes

Hi! I'm trying to configure QuteBrowser in config.py but the browser behaves in wierd ways that I cannot understand and the documentation of qutebrowser.api is terrible. Here's the relevant extract of config.py:

c.content.blocking.adblock.lists = fulladblocklist #this references a big array with a bunch of lists

def stopadblock():

config.set('content.blocking.adblock.lists', [])

def startadblock():

config.set('content.blocking.adblock.lists', fulladblocklist)

def toggleadblock(x):

if(len(config.get("content.blocking.adblock.lists") > 0):

stopadblock()

else:

startadblock()

import qutebrowser.api.cmdutils as cmdutils

u/cmdutils.register()

u/cmdutils.argument('start', flag='1')

u/cmdutils.argument('stop', flag='0')

u/cmdutils.argument('toggle', flag='t')

u/cmdutils.argument('info', flag='i')

u/cmdutils.argument('print_help', flag='p')

def adblock(name: str = "world", start: bool = False, stop: bool = False, toggle: bool = False, info: bool = False, print_help: bool = False):

from qutebrowser.utils import message

if print_help:

message.info("This command helps manage adblocking.")

message.info("")

message.info("\t--start, -1\tAdds the configured lists array (see in config.py) to c.content.blocking.adblock.lists.")

message.info("\t--stop, -0\tSets c.content.blocking.adblock.lists to the empty array.")

message.info("\t--toggle, -t\tToggles between the previous two options. It is the default behavior (in abscence of flags).")

message.info("\t--info, -i\tPrints the adblocking method and the lenght of the array of adblocking lists.")

message.info("\t--help, -h\tPrints this message.")

message.info("")

message.info("-i and -h can be combined with other flags. But they will disable the default toggleing unless acompanied with -t.")

message.info("Using contradictory flags at once results in an error and no change happening to the adblocking.")

if info:

method = config.get("content.blocking.method")

arraylength = len(config.get("content.blocking.adblock.lists"))

message.info(f"Adblocking method: {method}")

message.info(f"Length of adblocking list array: {arraylength}")

#toggling adblock

if (not start) and (not stop) and ( toggle or ((not info) and (not print_help)) ):

toggleadblock()

elif start and not (stop or toggle):

startadblock()

elif stop and not (start or toggle):

stopadblock()

elif (start and stop) or ( toggle and (start or stop) ):

message.error("Contradictory flags active at once.")

elif ( (not start) and (not stop) and (not toggle) ) and (info or print_help):

print("nothing")

else:

message.error("Elif tree couldn't get the case")

For some reason, the toggle option doesn't work, I couldn't add documentation for the command with the -h flag so I had to use -p, and stopadblock() and startadblock() take turns in doing nothing. It's frustrating and Claude couldn't help me further. What can I do?


r/qutebrowser Apr 30 '26

qutebrowser wont show discord window or monitor selection

2 Upvotes

does anyone else face this problem? when i try to stream on discord. it just streams the primary screen. it doesnt even ask me to select the window or monitor. just selects the primary screen and started streaming it.


r/qutebrowser Apr 25 '26

navigating `tab-select` using j/k

0 Upvotes

in the tab-select command (keybinding gt) is there a way to navigate the tabs using j/k? currently the only options is to enter the tab number.


r/qutebrowser Apr 21 '26

ebay spashui challenge crashing tab

1 Upvotes

I use this custom search engine to directly access ebay's search: 'ebaysold': 'https://www.ebay.com/sch/i.html?_nkw={}&LH_Complete=1&LH_Sold=1', but as of today it takes me to a challenge page: https://www.ebay.com/splashui/challenge?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.com%2Fsch%2Fi.html%3F_nkw%3Dseasonic%2520psu%26_sacat%3D0%26LH_Complete%3D1%26LH_Sold%3D1&iid=f3157170-5b15-4089-ba0b-f4942515b1ac&iim=NMTU5Ljb&iia=nDI1MC4xIy&iiz=joSNTAuMjUwfeH

that is checking my browser and after a few seconds it crashes the tab with:

```

Unable to load page

Error while opening https://www.ebay.com/sch/i.html?_nkw=test&_sacat=0&LH_Complete=1&LH_Sold=1

Renderer process crashed (status 139: SIGSEGV)

```

Using the same url on firefox does not trigger the challenge.

I found only this similar issue with ungoogled-chromium that didn't have any helpful (to me) information.

I have another quickmark that takes me to my active ebay listings and works flawlessly still. It never takes me to the challenge. Also accessing my history to look at various items works fine and if I go to ebay directly and navigate to the advanced search everything seems to work fine. It only happens when I try to access the search directly.

Any help or insight would be appreciated.

Here is my version info.