From me at the-compiler.org Fri Dec 4 22:36:02 2020 From: me at the-compiler.org (Florian Bruhin) Date: Fri, 4 Dec 2020 22:36:02 +0100 Subject: [qutebrowser] qutebrowser v1.14.1 released! Message-ID: <20201204213602.w2yklhpph7cozih6@aragog.localdomain> Hey, A bit later than originally planned -- due to Qt 5.15.2 being late and due to more and more bugs popping up -- I'm happy to announce that qutebrowser v1.14.1 is released. This release contains *a lot* of bug fixes, some of them rather critical. Not sure if there ever was such a big bugfix release! I can only recommend to upgrade, especially if you were on v1.14.0 :) Here's the changelog: Added ~~~~~ - With v1.14.0, qutebrowser configures the main window to be transparent, so that it's possible to configure a translucent tab- or statusbar. However, that change introduced various issues, such as performance degradation on some systems or breaking dmenu window embedding with its `-w` option. To avoid those issues for people who are not using transparency, the default behavior is reverted to versions before v1.14.0 in this release. A new `window.transparent` setting can be set to `true` to restore the behavior of v1.14.0. Changed ~~~~~~~ - Windows and macOS releases now ship Qt 5.15.2, which is based on Chromium 83.0.4103.122 with security fixes up to 86.0.4240.183. This includes CVE-2020-15999 in the bundled freetype library, which is known to be exploited in the wild. It also includes various other bugfixes/features compared to Qt 5.15.0 included in qutebrowser v1.14.0, such as: * Correct handling of AltGr on Windows * Fix for `content.cookies.accept` not working properly * Fixes for screen sharing (some websites are still broken until an upcoming Qt 5.15.3) * Support for FIDO U2F / WebAuth * Fix for the unwanted creation of directories such as `databases-incognito` in the home directory * Proper autocompletion in the devtools console * Proper signalisation of a tab's audible status (`[A]`) * Fix for a hang when opening the context menu on macOS Big Sur (11.0) * Hardware accelerated graphics on macOS Fixed ~~~~~ - Setting the `content.headers.referer` setting to `same-domain` (the default) was supposed to truncate referers to only the host with QtWebEngine. Unfortunately, this functionality broke in Qt 5.14. It works properly again with this release, including a test so this won't happen again. - With QtWebEngine 5.15, setting the `content.headers.referer` setting to `never` did still send referers. This is now fixed as well. - In v1.14.0, a regression was introduced, causing a crash when qutebrowser was closed after opening a download with PDF.js. This is now fixed. - With Qt 5.12, the `Object.fromEntries` JavaScript API is unavailable (it was introduced in Chromium 73, while Qt 5.12 is based on 69). This caused https://www.vr.fi/en and possibly other websites to break when accessed with Qt 5.12. A suitable polyfill is now included with qutebrowser if `content.site_specific_quirks` is enabled (which is the default). - While XDG startup notifications (e.g. launch feedback via the bouncy cursor in KDE Plasma) were supported ever since Qt 5.1, qutebrowser's desktop file accidentally declared that it wasn't supported. This is now fixed. - The `dmenu_qutebrowser` and `qutedmenu` userscripts now correctly read the qutebrowser sqlite history which has been in use since v1.0.0. - With Python 3.8+ and vertical tabs, a deprecation warning for an implicit int conversion was shown. This is now fixed. - Ever since Qt 5.11, fetching more completion data when that data is loaded lazily (such as with history) and the last visible item is selected was broken. The exact reason is currently unknown, but this release adds a tenative fix. - When PgUp/PgDown were used to go beyond the last visible item, the above issue caused a crash, which is now also fixed. - As a workaround for an overzealous Microsoft Defender false-positive detecting a "trojan" in the (unprocessed) adblock list, `:adblock-update` now doesn't cache the HTTP response anymore. - With the QtWebKit backend and `content.headers` set to `same-domain` (the default), origins with the same domain but different schemes or ports were treated as the same domain. They now are correctly treated as different domains. - When a URL path uses percent escapes (such as `https://example.com/embedded%2Fpath`), using `:navigate up` would treat the `%2F` as a path separator and replace any remaining percent escapes by their unescaped equivalents. Those are now handled correctly. - On macOS 11.0 (Big Sur), the default monospace font name caused a parsing error, thus resulting in broken styling for the completion, hints, and other UI components. They now look properly again. - Due to a Qt bug, installing Qt/PyQt from prebuilt binaries on systems with a very old `libxcb-utils` version (notably, Debian Stable, but not Ubuntu since 16.04 LTS) results in a setup which fails to start. This also affects the `mkvenv.py` script, which now includes a workaround for this case. - The `open_url_instance.sh` userscript now complains when `socat` is not installed, rather than silencing the error. - The example AppArmor profile in `misc/` was outdated and written for the older QtWebKit backend. It is now updated to serve as an useful starting point with QtWebEngine. - When running `:devtools` on Fedora without the needed (optional) dependency installed, it was suggested to install `qt5-webengine-devtools`, which does not, in fact, exist. It's now correctly suggested to install `qt5-qtwebengine-devtools` instead. - With Qt 5.15.2, lines/borders coming from the `readability-js` userscript were invisible. This is now fixed by changing the border color to grey (with all Qt versions). - Due to changes in the underlying Chromium, the `colors.webpage.prefers_color_scheme_dark` setting broke with Qt 5.15.2. It now works properly again. - A bug in the `pkg_resources` module used by qutebrowser caused deprecation warnings to appear on start with Python 3.9 on some setups. Those are now hidden. - Minor performance improvements. - Fix for various functionality breaking in private windows with v1.14.0, after the last private window is closed. This includes: * Ad blocking * Downloads * Site-specific quirks (e.g. for Google login) * Certain settings such as `content.javascript.enabled` Enjoy, and as usual, please let me know if you run into issues! Florian -- me at the-compiler.org (Mail/XMPP) | https://www.qutebrowser.org https://bruhin.software/ | https://github.com/sponsors/The-Compiler/ GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc I love long mails! | https://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From john at lane.uk.net Mon Dec 21 21:18:42 2020 From: john at lane.uk.net (John Lane) Date: Mon, 21 Dec 2020 20:18:42 +0000 Subject: [qutebrowser] How to send custom header ? Message-ID: <2fcf7b61-59cb-3364-995c-fd83ce1adc01@lane.uk.net> I'm testing some sites not set up in dns. I can do this with curl: curl 10.90.87.64 -H 'Host: this-site.com' curl 10.90.87.64 -H 'Host: that-site.com' How can I achieve same in Qutebrowser? I've seen content.headers.custom but it isn't clear how to use it. Also, I'd like to be able to do it on the fly (when typing in the url) if possible at all? Thanks! From me at the-compiler.org Mon Dec 21 23:52:28 2020 From: me at the-compiler.org (Florian Bruhin) Date: Mon, 21 Dec 2020 23:52:28 +0100 Subject: [qutebrowser] How to send custom header ? In-Reply-To: <2fcf7b61-59cb-3364-995c-fd83ce1adc01@lane.uk.net> References: <2fcf7b61-59cb-3364-995c-fd83ce1adc01@lane.uk.net> Message-ID: <20201221225228.l37go6s4moun6wkt@aragog.localdomain> On Mon, Dec 21, 2020 at 08:18:42PM +0000, John Lane wrote: > I'm testing some sites not set up in dns. I can do this with curl: > > curl 10.90.87.64 -H 'Host: this-site.com' > curl 10.90.87.64 -H 'Host: that-site.com' > > How can I achieve same in Qutebrowser? > > I've seen content.headers.custom but it isn't clear how to use it. What about it isn't clear? It's a dictionary (mapping header names to their values) in the config. To set them in a config.py file, see: https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#changing-settings As for setting it at runtime, either use a JSON string: :set -t content.headers.custom "{'X-Answer': '42'}" Or use the special :config-dict-* commands: :config-dict-add --replace content.headers.custom X-Answer 42 > Also, I'd like to be able to do it on the fly (when typing in the url) > if possible at all? Not when typing the URL, but you can use those commands (maybe with --temp so they don't get persisted) before opening the URL. You can also set those for a specific URL pattern by using ":set -u example.org content.headers.custom ...". Florian -- me at the-compiler.org (Mail/XMPP) | https://www.qutebrowser.org https://bruhin.software/ | https://github.com/sponsors/The-Compiler/ GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc I love long mails! | https://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From john at lane.uk.net Tue Dec 22 20:20:16 2020 From: john at lane.uk.net (John Lane) Date: Tue, 22 Dec 2020 19:20:16 +0000 Subject: [qutebrowser] How to send custom header ? In-Reply-To: <20201221225228.l37go6s4moun6wkt@aragog.localdomain> References: <2fcf7b61-59cb-3364-995c-fd83ce1adc01@lane.uk.net> <20201221225228.l37go6s4moun6wkt@aragog.localdomain> Message-ID: <07945f5f-36be-3a0a-8b29-ed2c2207448d@lane.uk.net> >> I've seen content.headers.custom but it isn't clear how to use it. > > What about it isn't clear? > It's a dictionary (mapping header names to their values) in the config. > What threw me off was :help content.headers.custom leading to qute://help/settings.html#types where the example given is this: A dictionary of values. When setting from a string, pass a json-like dict, e.g. {"key", "value"}. >From which I tried: :set content.headers.custom { "Host", "www.mysite.com" } but it didn't work. From tobias at dussa.de Tue Dec 29 17:23:33 2020 From: tobias at dussa.de (Tobias Dussa) Date: Tue, 29 Dec 2020 17:23:33 +0100 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? Message-ID: Hi everybody, I have come across this question: If I know the process ID of a QB thread, is it possible to figure out (from the command line) what URL is currently loaded in the corresponding tab? Haven't been able to find an answer to this question. I suspect it should be possible if I dig in the right place in /proc/${PID}, but. Thanks a lot & cheers, Toby. -- Want a new feature? You can have it cheap, good or fast. Choose two. From me at the-compiler.org Wed Dec 30 21:40:32 2020 From: me at the-compiler.org (Florian Bruhin) Date: Wed, 30 Dec 2020 21:40:32 +0100 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: References: Message-ID: <20201230204032.uzq7gb2awc4vuifl@aragog.localdomain> Hey Tobias, Your mail was held back because you're not subscribed to the mailinglist. I've now approved it and added you to the allowed senders, but you might not get replies if people don't add you to Cc. On Tue, Dec 29, 2020 at 05:23:33PM +0100, Tobias Dussa wrote: > I have come across this question: If I know the process ID of a QB thread, > is it possible to figure out (from the command line) what URL is currently > loaded in the corresponding tab? > > Haven't been able to find an answer to this question. I suspect it should > be possible if I dig in the right place in /proc/${PID}, but. Quoting from an earlier reply to (almost) the same question: https://lists.schokokeks.org/pipermail/qutebrowser/2020-October/000815.html I added the API to do those kind of things upstream in Qt 5.15: https://codereview.qt-project.org/c/qt/qtwebengine/+/286981 However, I didn't get around to actually implementing something to e.g. show the PID inside qutebrowser - currently tracked here: https://github.com/qutebrowser/qutebrowser/issues/4984 Right now, the easiest thing you can do is to send a SIGSTP to the process and see which tab is frozen; or send a SIGTERM and see which tab crashes. Also, @toofar wrote a slightly crazy script to find the offending tab automatically: https://gist.github.com/toofar/33cd9baf420f327472f7eb7d7b2e3f6a Florian -- me at the-compiler.org (Mail/XMPP) | https://www.qutebrowser.org https://bruhin.software/ | https://github.com/sponsors/The-Compiler/ GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc I love long mails! | https://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From me at the-compiler.org Wed Dec 30 22:10:24 2020 From: me at the-compiler.org (Florian Bruhin) Date: Wed, 30 Dec 2020 22:10:24 +0100 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: <20201230204032.uzq7gb2awc4vuifl@aragog.localdomain> References: <20201230204032.uzq7gb2awc4vuifl@aragog.localdomain> Message-ID: <20201230211024.g5czflgv3maorijy@aragog.localdomain> Hey again, On Wed, Dec 30, 2020 at 09:40:32PM +0100, Florian Bruhin wrote: > However, I didn't get around to actually implementing something to e.g. > show the PID inside qutebrowser - currently tracked here: > https://github.com/qutebrowser/qutebrowser/issues/4984 Quick update: Given that this came up a couple of times now, I added the PID to the :buffer completion if it is available: https://github.com/qutebrowser/qutebrowser/commit/55e5279aa5c3577fc0dc8b39d56c73be8f14974d No easy way to search it there automatically (as the column isn't filtered by input), but at least it's a start. Florian -- me at the-compiler.org (Mail/XMPP) | https://www.qutebrowser.org https://bruhin.software/ | https://github.com/sponsors/The-Compiler/ GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc I love long mails! | https://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From tobias-qutebrowser at dussa.de Wed Dec 30 23:59:24 2020 From: tobias-qutebrowser at dussa.de (Tobias Dussa) Date: Wed, 30 Dec 2020 23:59:24 +0100 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: <20201230204032.uzq7gb2awc4vuifl@aragog.localdomain> References: <20201230204032.uzq7gb2awc4vuifl@aragog.localdomain> Message-ID: Hi, On Wed, Dec 30, 2020 at 09:40:32PM +0100, Florian Bruhin wrote: > Your mail was held back because you're not subscribed to the > mailinglist. I've now approved it and added you to the allowed senders, > but you might not get replies if people don't add you to Cc. ACK. THX for the pointer. I thought I explicitly read somewhere that subscribing to the list was optional, so I figured I'd be included in the thread I started automagically. Subscribed now. > > I have come across this question: If I know the process ID of a QB thread, > > is it possible to figure out (from the command line) what URL is currently > > loaded in the corresponding tab? > > Haven't been able to find an answer to this question. I suspect it should > > be possible if I dig in the right place in /proc/${PID}, but. > Quoting from an earlier reply to (almost) the same question: > https://lists.schokokeks.org/pipermail/qutebrowser/2020-October/000815.html Indeed, that reads like exactly my problem. > I added the API to do those kind of things upstream in Qt 5.15: > https://codereview.qt-project.org/c/qt/qtwebengine/+/286981 > However, I didn't get around to actually implementing something to e.g. > show the PID inside qutebrowser - currently tracked here: > https://github.com/qutebrowser/qutebrowser/issues/4984 I'm not actually sure whether that really tackles the right problem. It kinda sounds like it solves the _inverse_ problem, getting a PID for a given tab. > Right now, the easiest thing you can do is to send a SIGSTP to the > process and see which tab is frozen; or send a SIGTERM and see which tab > crashes. Well... :) This ceases to be feasible when you have sufficiently many tabs/processes open... ;-) In my particular case, I was trying to hunt down what web site suddenly started producing audio output. I got the PID via pacmd, but then what? Obviously, I could shoot down the process to make the audio output stop, but that was not the intention. ;-) Indeed, I had not thought of just sending a SIGSTOP instead, but it'd still be tedious to find the right tab. It'd be much easier if the currently loaded URL could be queried somehow via CLI. (But, of course, I realize this is a somewhat exotic request. :)) > Also, @toofar wrote a slightly crazy script to find the offending tab > automatically: > https://gist.github.com/toofar/33cd9baf420f327472f7eb7d7b2e3f6a This sounds interesting. THX for the pointer! Cheers, Toby. -- Usenet est omnis divisa in partes tres, quarum unam incolunt Trolli, aliam useri regulari, tertiam, qui ipsorum lingua administratores, nostra summi dei appellantur. From minshall at umich.edu Thu Dec 31 03:55:25 2020 From: minshall at umich.edu (Greg Minshall) Date: Thu, 31 Dec 2020 05:55:25 +0300 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: Your message of "Wed, 30 Dec 2020 22:10:24 +0100." <20201230211024.g5czflgv3maorijy@aragog.localdomain> Message-ID: <1067542.1609383325@apollo2.minshall.org> Florian, > Given that this came up a couple of times now, I added the PID to the > :buffer completion if it is available: very cool! thanks! > No easy way to search it there automatically (as the column isn't > filtered by input), but at least it's a start. if that happens someday, that will also be great. also, if it's not too much trouble, a question on git (repo) usage: > I added the API to do those kind of things upstream in Qt 5.15: > https://codereview.qt-project.org/c/qt/qtwebengine/+/286981 given that URL, how does one (sounds like the same question, passed through a sed script! :) figure out which release of qt5-webkit incorporates that change? good new years. cheers, Greg From qutebrowser at nicholas-schwab.de Thu Dec 31 11:49:10 2020 From: qutebrowser at nicholas-schwab.de (Nicholas Schwab) Date: Thu, 31 Dec 2020 11:49:10 +0100 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: <1067542.1609383325@apollo2.minshall.org> References: <1067542.1609383325@apollo2.minshall.org> Message-ID: Hi, regarding finding out in which qt-version the commit is in: With git tag --contains= you can list all tags that include a specific commit. qt (as many other repos) tag their repo with the corresponding version at each release. Of course, this only works when you have cloned the repo locally. Otherwise, I think the easiest is to compare the commit date to the list of tags manually (you can find the tags here https://codereview.qt-project.org/gitweb?p=qt/qtwebengine.git;a=tags ) As you would say in my language: A good slide into the new year! Nicholas On 31/12/2020 03:55, Greg Minshall wrote: > Florian, >> Given that this came up a couple of times now, I added the PID to the >> :buffer completion if it is available: > > very cool! thanks! > >> No easy way to search it there automatically (as the column isn't >> filtered by input), but at least it's a start. > > if that happens someday, that will also be great. > > also, if it's not too much trouble, a question on git (repo) usage: > >> I added the API to do those kind of things upstream in Qt 5.15: >> https://codereview.qt-project.org/c/qt/qtwebengine/+/286981 > > given that URL, how does one (sounds like the same question, passed > through a sed script! :) figure out which release of qt5-webkit > incorporates that change? > > good new years. > > cheers, Greg > From me at the-compiler.org Thu Dec 31 12:34:25 2020 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 31 Dec 2020 12:34:25 +0100 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: <1067542.1609383325@apollo2.minshall.org> References: <20201230211024.g5czflgv3maorijy@aragog.localdomain> <1067542.1609383325@apollo2.minshall.org> Message-ID: <20201231113425.ysjmwf6kiyq7ues3@aragog.localdomain> Hey, On Thu, Dec 31, 2020 at 05:55:25AM +0300, Greg Minshall wrote: > also, if it's not too much trouble, a question on git (repo) usage: > > > I added the API to do those kind of things upstream in Qt 5.15: > > https://codereview.qt-project.org/c/qt/qtwebengine/+/286981 > > given that URL, how does one (sounds like the same question, passed > through a sed script! :) figure out which release of qt5-webkit > incorporates that change? I assume you mean qt5-webengine? qt5-webkit is an entirely different project and rather outdated: https://github.com/qtwebkit/qtwebkit As for the question: Click the "included in" button, above the list of changed files. Happy ++year! Florian -- me at the-compiler.org (Mail/XMPP) | https://www.qutebrowser.org https://bruhin.software/ | https://github.com/sponsors/The-Compiler/ GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc I love long mails! | https://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From me at the-compiler.org Thu Dec 31 15:36:24 2020 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 31 Dec 2020 15:36:24 +0100 Subject: [qutebrowser] Discussion about default setting/bindings changes for v2.0.0 Message-ID: <20201231143624.5phaqxl7x7zqb3t6@aragog.localdomain> Hey, I just opened a GitHub Discussion with a couple of proposals for changes to the default settings/bindings for the upcoming v2.0.0 release: https://github.com/qutebrowser/qutebrowser/discussions/5999 I'd love people's opinions on possible changes, as well as more proposals about things I might have forgotten about. If possible, please comment on GitHub rather than here, to keep everything in one place. If you don't have a GitHub account, feel free to comment here instead, and I'll try to relay to the GitHub discussion. Florian -- me at the-compiler.org (Mail/XMPP) | https://www.qutebrowser.org https://bruhin.software/ | https://github.com/sponsors/The-Compiler/ GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc I love long mails! | https://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From minshall at umich.edu Thu Dec 31 19:14:07 2020 From: minshall at umich.edu (Greg Minshall) Date: Thu, 31 Dec 2020 21:14:07 +0300 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: Your message of "Thu, 31 Dec 2020 12:34:25 +0100." <20201231113425.ysjmwf6kiyq7ues3@aragog.localdomain> Message-ID: <1140293.1609438447@apollo2.minshall.org> Florian, thanks. yes, webengine. ah, the "included in" button -- great! cheers, Greg From minshall at umich.edu Thu Dec 31 19:14:24 2020 From: minshall at umich.edu (Greg Minshall) Date: Thu, 31 Dec 2020 21:14:24 +0300 Subject: [qutebrowser] Given the process ID, can I find out the loaded URL? In-Reply-To: Your message of "Thu, 31 Dec 2020 11:49:10 +0100." Message-ID: <1140332.1609438464@apollo2.minshall.org> Nicholas, thanks very much -- slide well! cheers, Greg