From me at the-compiler.org Thu Apr 1 12:06:01 2021 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 1 Apr 2021 12:06:01 +0200 Subject: [qutebrowser] qutebrowser v2.1.1 released; nightly-builds for Windows/macOS Message-ID: <20210401100601.sd54flegskxh3szy@aragog.localdomain> Hey! I'm happy to announce that I just released qutebrowser v2.1.1 today. I hope the release date won't make everyone jumpy, but there still was a remaining issue yesterday and I couldn't be bothered to wait until tomorrow :) As usual for patch releases, this is a bugfix release, without any new features (easter eggs aren't features, right?) - those will come with v2.2.0 once all the changes made recently had a bit of time to settle. Most of the fixed bugs aren't regressions in v2.1.0, but bugs which have been around for a while. Additionally, I've been working on setting up nightly builds for macOS and Windows: https://github.com/qutebrowser/qutebrowser/actions/workflows/bleeding.yml To download one of them, click on the latest build, then download the release under "Artifacts" on the bottom of the page. Due to GitHub limitations, all of them are in a single zip file. Those can be used if you want to test something on macOS/Windows based on the latest code, without having to set up things to run from source. They also include debug builds which open a terminal with the debug log, to make it easier to track down issues specific to Windows/macOS. It looks like the macOS build still has a bit of trouble, I'm working on fixing that. Finally, the same CI environment is also used to test qutebrowser against development versions of its dependencies, in order to catch and report upstream issues before they're in a release. Here's the full changelog for v2.1.1: Added ~~~~~ - Site-specific quirk for krunker.io, which shows a "Socket Error" with qutebrowser's default Accept-Language header. The workaround is equivalent to doing `:set -u matchmaker.krunker.io content.headers.accept_language ""`. Changed ~~~~~~~ - Clicking the 'x' in the devtools window to hide it now also leaves insert mode. Fixed ~~~~~ - The workaround for black on (almost) black formula images in dark mode now also works with Qt 5.12 and 5.13. - When running in Flatpak or with the Windows/macOS releases, the QtWebEngine version is now detected properly. Before, a wrong version was assumed, breaking dark mode and certain workarounds (resulting in crashes on websites like LinkedIn or TradingView). - When the metainfo in the completion database doesn't have the expected structure, qutebrowser now tries to gracefully recover from the situation instead of crashing. - When qutebrowser displays an error during initialization, opening a second instance would lead to a crash. Instead, qutebrowser now ignores the attempt to open a new page as long as it's not fully initialized yet. - When the Brave adblock cache folder was unreadable, qutebrowser crashed. It now displays an error instead. - Fixes in the `qute-pass` userscript for `gopass`: * Generating OTP tokens now works correctly. * Storing the username as part of the secret broke in v2.0.0 and now works again. - When using `bindings.key_mappings` to map a key to multiple other keys, qutebrowser would crash. This is now handled correctly - however, note that it's usually better to map keys to commands instead. - When a minimized window is selected via `:tab-select`, it's now un-minimized properly. - When a format string in the config (e.g. `tabs.title_format`) used a value like `{current_url.host}` (instead of `{current_url:host}`), qutebrowser would crash. It now correctly reports an invalid config value instead. - In rare circumstances, sending URLs/commands to existing instances would result in a crash, which is now fixed. - Running the testsuite should now fully work without internet access again. - The `--asciidoc` script for `mkvenv.py` broke with v1.14.0. It now works correctly again. - Various other fixes for running in Flatpak (backported in the Flatpak release even before this qutebrowser release). - We are the Knights Who Say... ':Ni!' Florian -- me at the-compiler.org | 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 Tue Apr 13 13:51:08 2021 From: me at the-compiler.org (Florian Bruhin) Date: Tue, 13 Apr 2021 13:51:08 +0200 Subject: [qutebrowser] qutebrowser v2.2.0 released! Message-ID: <20210413115108.ufck4upkxgjmh37d@aragog.localdomain> Hey, I'm happy to announce that I released qutebrowser v2.2.0 today. The main changes to be aware of are probably: * The new notification support (using libnotify for native notifications, if available) * Backwards-incompatible changes to the content.ssl_strict option (now `content.tls.certificate_errors`) to (finally) make it more intuitive. But there are other small and big changes as well - thanks to everyone who contributed! As usual, the full changelog is below. Florian Deprecated ~~~~~~~~~~ - Running qutebrowser with Qt 5.12.0 is now unsupported and logs a warning. It should still work - however, a workaround for issues with the Nvidia graphic driver was dropped. Newer Qt 5.12.x versions are still fully supported. - The `--force` argument for `:tab-only` is deprecated, use `--pinned close` instead. - Using `:tab-focus` without an argument or count is now deprecated, use `:tab-next` instead. Added ~~~~~ - New dependency on the `QtDBus` module. If this requirement is an issue for you or your distribution, please open an issue! Note that a DBus connection at runtime is still optional. - New `input.media_keys` setting which can be used to disable Chromium's handling of media keys. - New `:process` command (and associated `qute://process` pages) which can be used to view and terminate/kill external processes spawned by qutebrowser. - New `content.site_specific_quirks.skip` setting which can be used to disable individual site-specific quirks. - New `--pinned` argument for `:tab-only`, which replaces `--force` (with `--pinned close`), but also can take `--pinned keep` to keep pinned tabs without prompting. - New `fileselect.folder.command` which can be used with `fileselect.handler = external` to customize the command to use to upload directories (`` elements, which are non-standard but in wide use). - New `content.notifications.presenter` setting with various new ways to show web notifications: * `auto` (default): Automatically detect the best available option * `qt`: Use Qt's built-in mechanism (like before this release) * `libnotify`: Use a libnotify-compatible notification server (i.e. native notifications on Linux) * `systray`: Use a systray icon (very similar to `qt` but without some of its drawbacks) * `messages`: Use qutebrowser messages * `herbe`: Use https://github.com/dudik/herbe[herbe] - New `content.notifications.show_origin` setting, which can be used to decide for which notifications to show the origin (the URL the notification was sent from). Changed ~~~~~~~ - The `content.ssl_strict` setting got renamed to `content.tls.certificate_errors`, with new values: * `ask`: Prompt on overridable certificate errors (`ssl_strict = 'ask'`) * `ask-block-thirdparty`: See below * `block`: Block the page load (`ssl_strict = True`) * `load-insecurely`: Load the page despite the error (`ssl_strict = False`) - The new `content.tls.certificate_errors` setting now also understands the value `ask-block-thirdparty`, which asks for page loads but automatically blocks resource loads on TLS errors. This behavior is consistent with what other browsers do. - The prompt text shown on certificate errors has been improved to make it clearer what kind of error occurred exactly. - The `content.site_specific_quirks` setting got renamed to `content.site_specific_quirks.enabled`. - The `content.notifications` option got renamed to `content.notifications.enabled`. - The completion now also shows bindings starting with `set-cmd-text` in its third column, such as `o` for `:open`. - When `:spawn` is used with the `-m` / `--output-messages` flag, the output now appears live, while the process is running. - When a shown message replaces an existing related one (e.g. for zoom levels), the replacing now also works even if a different message was shown in between. - The `.redirect(...)` method on interceptors now supports an `ignore_unsupported=True` argument which supresses exceptions if a request could not be redirected. Note, however, that it is still not public API. - When the `--config-py` argument is used, no warning about a missing `config.load_autoconfig` is shown anymore, as the argument is typically used for temporarily testing a config. - The internal `_autosave` session used for crash recovery is now only saved once per minute, since saving it for every page load is a noticable performance issue. - The `readability-js` userscript now displays a small header with page information. - When an external file selector is used, some additional validation is done on the picked files now, so that errors are shown if e.g. a directory is selected when a file was expected. - The default binding for `T` (`:tab-focus`) got changed so that it fills the command line with `:tab-focus` if used without a count (instead of being equivalent to `:tab-next` in that case). - The `:config-unset` command now understands the `--pattern` (`-u`) flag to unset options customized for a given URL pattern (such as after answering a prompt with "always"/"never"). - The `:config-unset` command now shows an error when used on an option which is valid, but was never customized. - The `statusbar.widgets` setting now understands `text:...` entries which allows adding a hard-coded text to the statusbar. - The polyfill for `String.replaceAll` (required for Nextcloud Calendar < 2.2.0 with QtWebEngine < 5.15.3) is now disabled by default, as it's not fully compliant to the ECMAScript spec and might cause issues on other websites. If you still need it (e.g. if you're still on an old Nextcloud Calendar version), remove `js-string-replaceall` from `content.site_specific_quirks.skip`. Fixed ~~~~~ - When an editor exits with a != 0 exit status, the temporary editor file is now persisted. This already was the case when the editor crashed. - When a nonexistent file gets passed to `--config-py`, qutebrowser now complains instead of silently not loading it. - With some (rare) setups, opening the report dialog or using a PAC proxy with QtWebKit could result in qutebrowser hanging due to a PyQt bug. There's now a workaround which prevents the hang. - QtWebEngine version detection (influencing things like dark mode settings or certain workarounds) now works correctly on OpenBSD. - Certain version number formats in `/etc/os-release` caused qutebrowser to crash. Those are now handled correctly. - The macOS releases now properly support Dark Mode for UI elements by setting `NSRequiresAquaSystemAppearance` to false. Removed ~~~~~~~ - The `qute://spawn-output` page used by `:spawn -o` is now removed, as it's replaced by the new `qute://process` pages. -- me at the-compiler.org | 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 Tue Apr 13 14:10:55 2021 From: me at the-compiler.org (Florian Bruhin) Date: Tue, 13 Apr 2021 14:10:55 +0200 Subject: [qutebrowser] Pull request backlog - one year later Message-ID: <20210413121055.iw5dawiglbtovud6@aragog.localdomain> Hey, Exactly one year ago today, I opened a GitHub Project board to help me keep track of the pull request backlog: https://blog.qutebrowser.org/paving-the-road-towards-qutebrowser-v20.html https://github.com/qutebrowser/qutebrowser/projects/4 Like mentioned in that post, this really helped me keeping track of everything without feeling kind of overwhelmed by all the PRs. Now, exactly one year later, 267 PRs have been taken care of. That's more than one per working day (I usually don't work on qb on weekends), but of course also include some trivial ones like automated weekly dependency updates. :) There's still a backlog of around 50-60 PRs usually (59 at the time of writing, though with various of them being close to merging). New PRs from responsive contributors are usually reviewed and merged quickly nowadays. For drive-by contributions where contributors disappear as soon as I spent time reviewing things, or for contributors who expect me to finish their started work, things will take a bit longer. Still, I believe it's best for the project to actually finish the started work rather than just throwing it away. Similarly, some old PRs are still stalled (usually because they're waiting for a review). I will get to them as soon as I can, but I usually prioritize newer PRs because those take much less effort to get in. All in all, I'm happy with the progress, but there's still a lot to do. Thanks again to everyone for your patience! There's only one me, and there's still a lot of "invisible" work I'm taking care of (i.e. making sure things don't explode with new Python/Qt/... versions, fixing bugs, and from time to time also working on new features). As usual, I'd really appreciate if more people would take care of reviewing/testing PRs, or picking up older PRs if they've been abandoned by their authors and finishing them. That's e.g. how the external file selection changes got merged after @AcksID picked things up. If you're not a programmer, even only merging and testing a PR for a bit (if it's mergeable) or looking at whether the changes feel right from an user's perspective can make a big difference! Finally, if there's something you'd like to contribute, it really helps if you reach out (e.g. via IRC or at least an issue) before starting work, so that it's possible to coordinate things a bit rather than (especially bigger) changes just popping up out of the blue. Onwards! Florian -- me at the-compiler.org | 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 Tue Apr 13 17:47:42 2021 From: me at the-compiler.org (Florian Bruhin) Date: Tue, 13 Apr 2021 17:47:42 +0200 Subject: [qutebrowser] qutebrowser v2.2.0 released! In-Reply-To: <20210413115108.ufck4upkxgjmh37d@aragog.localdomain> References: <20210413115108.ufck4upkxgjmh37d@aragog.localdomain> Message-ID: <20210413154742.oyy3m2skxkizy2qv@aragog.localdomain> Hey, quick follow-up for distribution packagers - there's a regression causing frequent crashes related to notifications when using GNOME's legacy notification daemon (e.g. as part of GNOME Flashback, and possibly MATE/Cinnamon, though I didn't check those). Here's a patch: https://github.com/qutebrowser/qutebrowser/commit/8232d384929641be7409e026d20843a2edd73e48 A v2.2.1 will follow in a couple of days or so, I want to wait to see if there are more issues before doing yet another release (and also things are a bit busy for the next 2-3 weeks, so it might take longer than intended). Long story short: You might want to add the patch above to your v2.2.0 package. Sorry for the trouble! Florian -- me at the-compiler.org | 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 listmik at yahoo.com Thu Apr 29 12:14:37 2021 From: listmik at yahoo.com (Mic Fest) Date: Thu, 29 Apr 2021 10:14:37 +0000 (UTC) Subject: [qutebrowser] qutebrowser new tab when following link via keyboard References: <2001930759.954060.1619691277858.ref@mail.yahoo.com> Message-ID: <2001930759.954060.1619691277858@mail.yahoo.com> Hi, when I press f and select a link by a letter, the page is opened in the current tab. is it possible, to open it (without mouse) in a _new_ tab ? very cool browser by the way, from now on my daily driver on openbsd and linux. thanks to all contributors, great job. mik -------------- next part -------------- An HTML attachment was scrubbed... URL: From felix.vanderjeugt+qutebrowser at posteo.net Thu Apr 29 12:25:35 2021 From: felix.vanderjeugt+qutebrowser at posteo.net (Felix Van der Jeugt) Date: Thu, 29 Apr 2021 12:25:35 +0200 Subject: [qutebrowser] qutebrowser new tab when following link via keyboard In-Reply-To: <2001930759.954060.1619691277858@mail.yahoo.com> References: <2001930759.954060.1619691277858.ref@mail.yahoo.com> <2001930759.954060.1619691277858@mail.yahoo.com> Message-ID: <2BQUE2M70I4AN.2PZ4KNN5RCUMT@mantle> Hi, You can use a capital 'F' to open a link in a new tab. There's some more interesting stuff on the key binding cheatsheet here: https://www.qutebrowser.org/doc/help/ Cheers, Felix From me at the-compiler.org Thu Apr 29 13:41:34 2021 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 29 Apr 2021 13:41:34 +0200 Subject: [qutebrowser] qutebrowser v2.2.1 released Message-ID: <20210429114134.3j6esmtj7z7zou3o@aragog.localdomain> Hey, I'm happy to announce that I released qutebrowser v2.2.1 today. This is a bug-fix release, mostly fixing a couple of regressions in v2.2.0 as well as some other minor issues: ## Changed - When an error occurs in a notification presenter, qutebrowser now shows that error in the statusbar instead of just logging it. - New site-specific-quirk for Discord logging users out when using vertical tabs (yes, really) ## Fixed - Certain errors from notification daemons are now displayed as non-fatal errors instead of qutebrowser crashing: * With the legacy GNOME Flashback notification daemon (not GNOME Shell), when more than 20 notifications are currently shown. * With the KDE Plasma notification daemon, when the same notification is shown twice (with <1s delay). - The `mkvenv.py` script now works when `ldconfig -p` is failing. - Running `:spawn -u -o` broke in v2.2.0 and now works properly again. - Fixes in userscripts: * The `qute-bitwarden` userscript now still consumes returned data if the Bitwarden CLI showed a warning but exited with a 0 (successful) exit code. * The `qute-pass` userscript now doesn't try to match a username with `--password-only`, and error messages with invalid patterns are improved. * The `qute-pass` userscript now avoids running `pass` twice when `--otp-only` is used. The Windows release is still building, but will hopefully be up by the time you read this mail :) As usual, let me know if you run into any problems! Florian -- me at the-compiler.org | 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: