From me at the-compiler.org Thu Mar 1 18:32:51 2018 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 1 Mar 2018 18:32:51 +0100 Subject: [qutebrowser] qutebrowser v1.1.2 released and the future of macOS builds Message-ID: <20180301173251.lj7yzwcbaut5ad6m@hooch.localdomain> Hey, So I decided to do a quick v1.1.2 release with two bugfixes and a new bundled Qt: - Windows/macOS releases now bundle Qt 5.10.1 which includes security fixes from Chromium up to version 64.0.3282.140. - QtWebEngine: Crash with Qt 5.10.1 when using :undo on some tabs. - Compatibility with Python 3.7 However, I ran into a lot of trouble... - The Windows release seems to segfault on exit when only a page like about:blank is opened and no "real" page. It smells like a Qt 5.10.1 bug. I released it anyways. - My Mac Mini hates me, probably the HDD is dying. Unfortunately, it's also too old for an up-to-date macOS (late 2009), has a broken optical drive, and I don't have a macOS laying around - so a reinstall is going to be... interesting. Since stuff keeps crashing and misbehaving, I can't release a macOS binary I'm afraid. I don't think it makes sense to try and reinstall an old macOS on a >8 year old Mac - at the same time, I don't feel like throwing some 500? out of pocket at Apple :( So... if anyone has a Mac lying around which isn't needed anymore, please get in touch with me. Otherwise, I'm not sure yet what I'll do about it. Travis CI isn't really an option, I really need a machine where I can use SSH/VNC. This is one of those really frustrating days... anyways, the source release is out, and the Windows release too - I'm just not sure how well it works. Florian -- https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP) 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 henzelen at hu-berlin.de Wed Mar 7 11:15:15 2018 From: henzelen at hu-berlin.de (Lennard Henze) Date: Wed, 7 Mar 2018 11:15:15 +0100 Subject: [qutebrowser] Crash when Initializing websettings... Message-ID: <3a2c1c1a-17a8-a116-ac45-7d5cb6522819@hu-berlin.de> Hello Ladies and Gentleman, i run qutebrowser on Ubuntu 16.04 LTS (Kernel: 4.4.0-116-generic). Because it did not work anymore i deleted the git repro and just pulled a new one. $ tox -e mkvenv-pypi succeded. But now when i run qutebrowser it does not work, i did run it with -l vdebug and got this result: .... .... 11:12:14 DEBUG??? init?????? app:_init_modules:462 Initializing crashlog... 11:12:14 DEBUG??? init?????? app:_init_modules:466 Initializing sessions... 11:12:14 DEBUG??? init?????? app:_init_modules:469 Initializing websettings... Could not find QtWebEngineProcess [6935:6935:0307/111214.807435:FATAL:zygote_host_impl_linux.cc(182)] Check failed: ReceiveFixedMessage(fds[0], kZygoteBootMessage, sizeof(kZygoteBootMessage), &boot_pid). #0 0x7fc8f48570a5 #1 0x7fc8f486ceca #2 0x7fc8f3eaffc3 #3 0x7fc8f3eaec3b #4 0x7fc8f3eaf219 #5 0x7fc8f3af293a #6 0x7fc8f3af7e76 #7 0x7fc8f3615600 #8 0x7fc8f3616b25 #9 0x7fc8f35aaa61 QtWebEngineCore::BrowserContextAdapter::defaultContext() #10 0x7fc8f9560218 QWebEngineProfile::defaultProfile() #11 0x7fc8f9790445 meth_QWebEngineProfile_defaultProfile #12 0x0000004e9b7f PyCFunction_Call #13 0x0000005372f4 PyEval_EvalFrameEx #14 0x00000053b7e4 PyEval_EvalFrameEx #15 0x00000053b7e4 PyEval_EvalFrameEx #16 0x00000053b7e4 PyEval_EvalFrameEx #17 0x00000053b7e4 PyEval_EvalFrameEx #18 0x00000053b7e4 PyEval_EvalFrameEx #19 0x00000053b7e4 PyEval_EvalFrameEx #20 0x00000053b7e4 PyEval_EvalFrameEx #21 0x000000540199 #22 0x000000540e4f PyEval_EvalCode #23 0x00000054a7c5 #24 0x0000004e9b7f PyCFunction_Call #25 0x0000005372f4 PyEval_EvalFrameEx #26 0x000000540199 #27 0x00000053bd92 PyEval_EvalFrameEx #28 0x000000540f9b PyEval_EvalCodeEx #29 0x0000004ebd98 #30 0x0000005c1797 PyObject_Call #31 0x00000063f4bd #32 0x00000063fd76 Py_Main #33 0x0000004cfeb1 main #34 0x7fc906ae6830 __libc_start_main #35 0x0000005d6049 _start Received signal 6 #0 0x7fc8f48570a5 #1 0x7fc8f3598141 #2 0x7fc8f485743d #3 0x7fc906ea1390 #4 0x7fc906afb428 gsignal #5 0x7fc906afd02a abort #6 0x7fc8f4856dc5 #7 0x7fc8f486d1ed #8 0x7fc8f3eaffc3 #9 0x7fc8f3eaec3b #10 0x7fc8f3eaf219 #11 0x7fc8f3af293a #12 0x7fc8f3af7e76 #13 0x7fc8f3615600 #14 0x7fc8f3616b25 #15 0x7fc8f35aaa61 QtWebEngineCore::BrowserContextAdapter::defaultContext() #16 0x7fc8f9560218 QWebEngineProfile::defaultProfile() #17 0x7fc8f9790445 meth_QWebEngineProfile_defaultProfile #18 0x0000004e9b7f PyCFunction_Call #19 0x0000005372f4 PyEval_EvalFrameEx #20 0x00000053b7e4 PyEval_EvalFrameEx #21 0x00000053b7e4 PyEval_EvalFrameEx #22 0x00000053b7e4 PyEval_EvalFrameEx #23 0x00000053b7e4 PyEval_EvalFrameEx #24 0x00000053b7e4 PyEval_EvalFrameEx #25 0x00000053b7e4 PyEval_EvalFrameEx #26 0x00000053b7e4 PyEval_EvalFrameEx #27 0x000000540199 #28 0x000000540e4f PyEval_EvalCode #29 0x00000054a7c5 #30 0x0000004e9b7f PyCFunction_Call #31 0x0000005372f4 PyEval_EvalFrameEx #32 0x000000540199 #33 0x00000053bd92 PyEval_EvalFrameEx #34 0x000000540f9b PyEval_EvalCodeEx #35 0x0000004ebd98 #36 0x0000005c1797 PyObject_Call #37 0x00000063f4bd #38 0x00000063fd76 Py_Main #39 0x0000004cfeb1 main #40 0x7fc906ae6830 __libc_start_main #41 0x0000005d6049 _start ? r8: 00007ffc4a224dd0? r9: 00007fc9072a7700 r10: 0000000000000008 r11: 0000000000000206 ?r12: 00007ffc4a224ba0 r13: 00000000000000aa r14: 00007ffc4a224dd0 r15: 00007ffc4a225540 ? di: 0000000000001b17? si: 0000000000001b17? bp: 00007fc90488d140 bx: 00007ffc4a225320 ? dx: 0000000000000006? ax: 0000000000000000? cx: 00007fc906afb428 sp: 00007ffc4a224a38 ? ip: 00007fc906afb428 efl: 0000000000000206 cgf: 0000000000000033 erf: 0000000000000000 ?trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Calling _exit(1). Core file will not be generated. Any advise what i can do to fix it is highly appreciated! Lennard From me at the-compiler.org Wed Mar 7 13:41:14 2018 From: me at the-compiler.org (Florian Bruhin) Date: Wed, 7 Mar 2018 13:41:14 +0100 Subject: [qutebrowser] Crash when Initializing websettings... In-Reply-To: <3a2c1c1a-17a8-a116-ac45-7d5cb6522819@hu-berlin.de> References: <3a2c1c1a-17a8-a116-ac45-7d5cb6522819@hu-berlin.de> Message-ID: <20180307124114.l753frz6bqn5vfjo@hooch.localdomain> Hey Lennard, On Wed, Mar 07, 2018 at 11:15:15AM +0100, Lennard Henze wrote: > i run qutebrowser on Ubuntu 16.04 LTS (Kernel: 4.4.0-116-generic). > > Because it did not work anymore i deleted the git repro and just pulled a > new one. > $ tox -e mkvenv-pypi > succeded. But now when i run qutebrowser it does not work, i did run it with > -l vdebug and got this result: It's most likely a PyQt issue: https://github.com/qutebrowser/qutebrowser/issues/3662 I can't reproduce it though, and don't really know how to debug it... As a workaround, you should be able to downgrade to PyQt 5.10: ./.venv/bin/pip install PyQt5==5.10.0 Florian -- https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP) 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 Fri Mar 9 23:20:49 2018 From: me at the-compiler.org (Florian Bruhin) Date: Fri, 9 Mar 2018 23:20:49 +0100 Subject: [qutebrowser] qutebrowser v1.2.0 released with per-domain settings and more! Message-ID: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> Hey, I'm happy to announce that I just released qutebrowser v1.2.0! It comes with a long changelog, but the most interesting changes are probably initial support for per-domain settings (I've had JavaScript disabled globally for a while myself now) and a big refactoring of how keybindings are handled (allowing for emacs-like key chains with modifiers). Here's the complete changelog: Added ~~~~~ - Initial implementation of per-domain settings: * `:set` and `:config-cycle` now have a `-u`/`--pattern` argument taking a URL match pattern for supported settings. * `config.set` in `config.py` now takes a third argument which is the pattern. * New `with config.pattern('...') as p:` context manager for `config.py` to use the shorthand syntax with a pattern. * New `tsh` keybinding to toggle scripts for the current host. With a capital `S`, the toggle is saved. With a capital `H`, subdomains are included. With `u` instead of `h`, the exact current URL is used. * New `tph` keybinding to toggle plugins, with the same additional binding described above. - New QtWebEngine features: * Caret/visual mode * Authentication via ~/.netrc * Retrying downloads with Qt 5.10 or newer * Hinting and other features inside same-origin frames - New flags for existing commands: * `:session-load` has a new `--delete` flag which deletes the session after loading it. * New `--no-last` flag for `:tab-focus` to not focus the last tab when focusing the currently focused one. * New `--edit` flag for `:view-source` to open the source in an external editor. * New `--select` flag for `:follow-hint` which acts like the given string was entered but doesn't necessary follow the hint. - New special pages: * `qute://bindings` (opened via `:bind`) which shows all keybindings. * `qute://tabs` (opened via `:buffer`) which lists all tabs. - New settings: * `statusbar.widgets` to configure which widgets should be shown in which order in the statusbar. * `tabs.mode_on_change` which replaces `tabs.persist_mode_on_change`. It can now be set to `restore` which remembers input modes (input/passthrough) per tab. * `input.insert_mode.auto_enter` which makes it possible to disable entering insert mode automatically when an editable element was clicked. Together with `input.forward_unbound_keys`, this should allow for emacs-like "modeless" keybindings. - New `:prompt-yank` command (bound to `Alt-y` by default) to yank URLs referenced in prompts. - The `hostblock_blame` script which was removed in v1.0 was updated for the new config and re-added. - New `cycle-inputs.js` script in `scripts/` which can be used with `:jseval -f` to cycle through inputs. Changed ~~~~~~~ - Complete refactoring of key input handling, with various effects: * emacs-like keychains such as `` can now be bound. * Key chains can now be bound in any mode (this allows binding unused keys in hint mode). * Yes/no prompts don't use keybindings from the `prompt` section anymore, they have their own `yesno` section instead. * Trying to bind invalid keys now shows an error. * The `bindings.default` setting can now only be set in a `config.py`, and existing values in `autoconfig.yml` are ignored. - Improvements for GreaseMonkey support: * `@include` and `@exclude` now support regex matches. With QtWebEngine and Qt 5.8 and newer, Qt handles the matching, but similar functionality will be added in Qt 5.11. * Support for `@requires` * Support for the GreaseMonkey 4.0 API - The sqlite history now uses write-ahead logging which should be a performance and stability improvement. - When an editor is spawned with `:open-editor` and `:config-edit`, the changes are now applied as soon as the file is saved in the editor. - The `hist_importer.py` script now only imports URL schemes qutebrowser can handle. - Deleting a prefix (`:`, `/` or `?`) via backspace now leaves command mode. - Angular 1 elements and ``/`
` now get hints assigned. - `:tab-only` with pinned tabs now still closes unpinned tabs. - The `url.incdec_segments` option now also can take `port` as possible segment. - QtWebEngine: `:view-source` now uses Chromium's `view-source:` scheme. - Tabs now show their full title as tooltip. - When there are multiple unknown keys in a autoconfig.yml, they now all get reported in one error. - More performance improvements when opening/closing many tabs. - The `:version` page now has a button to pastebin the information. - Replacements like `{url}` can now be escaped as `{{url}}`. Fixed ~~~~~ - QtWebEngine bugfixes: * Improved fullscreen handling with Qt 5.10. * Hinting and scrolling now works properly on special `view-source:` pages. * Scroll positions are now restored correctly from sessions. * `:follow-selected` should now work in more cases with Qt > 5.10. * Incremental search now flickers less and doesn't move to the second result when pressing Enter. * Keys like `Ctrl-V` or `Shift-Insert` are now correctly handled/filtered with Qt 5.10. * Fixed hangs/segfaults on exit with Qt 5.10.1. * Fixed favicons sometimes getting cleared with Qt 5.10. * Qt download objects are now cleaned up properly when a download is removed. * JavaScript messages are now not double-HTML escaped anymore on Qt < 5.11 - QtWebKit bugfixes: * Fixed GreaseMonkey-related crashes. * `:view-source` now displays a valid URL. - URLs containing ampersands and other special chars are now shown correctly when filtering them in the completion. - `:bookmark-add "" foo` can now be used to save the current URL with a custom title. - `:spawn -o` now waits until the process has finished before trying to show the output. Previously, it incorrectly showed the previous output immediately. - Suspended pages now should always load the correct page when being un-suspended. - Exception types are now shown properly with `:config-source` and `:config-edit`. - When using `:bookmark-add --toggle`, bookmarks are now saved properly. - Crash when opening an invalid URL from an application on macOS. - Crash with an empty `completion.timestamp_format`. - Crash when `completion.min_chars` is set in some cases. - HTML/JS resource files are now read into RAM on start to avoid crashes when changing qutebrowser versions while it's open. - Setting `bindings.key_mappings` to an empty value is now allowed. - Bindings to an empty commands are now ignored rather than crashing. Removed ~~~~~~~ - `QUTE_SELECTED_HTML` is now not set for userscripts anymore except when called via hints. - The `qutebrowser_viewsource` userscript has been removed as `:view-source --edit` can now be used. - The `tabs.persist_mode_on_change` setting has been removed and replaced by `tabs.mode_on_change`. Enjoy, and let me know if you run into trouble! :) Florian -- https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP) 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 mgkeyes at vigovproductions.net Sun Mar 11 00:17:46 2018 From: mgkeyes at vigovproductions.net (Michael Keyes) Date: Sat, 10 Mar 2018 23:17:46 +0000 Subject: [qutebrowser] qutebrowser v1.2.0 released with per-domain settings and more! In-Reply-To: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> References: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> Message-ID: <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> Fantastic news! I'm surprised at how pleasant script-free browsing is. Before I switched to qutebrowser I used Firefox with NoScript, and it always felt so run-down and broken. Probably because of how intrusive NoScript is. This is much better! I wonder if it would be possible to make a version of the "tsu" binding that automatically reverts after five minutes or so? I tried my hand at making a userscript to that effect, but the way I did it feels kind of hacky (not in a good way!). Still, even without the timeout, it's a great feature to have by default! Thanks for all your great work, Michael On 09.03.18 22:20, Florian Bruhin wrote: > Hey, > > I'm happy to announce that I just released qutebrowser v1.2.0! It comes > with a long changelog, but the most interesting changes are probably > initial support for per-domain settings (I've had JavaScript disabled > globally for a while myself now) and a big refactoring of how > keybindings are handled (allowing for emacs-like key chains with > modifiers). > > Here's the complete changelog: > > Added > ~~~~~ > > - Initial implementation of per-domain settings: > * `:set` and `:config-cycle` now have a `-u`/`--pattern` argument taking a > URL match pattern for supported settings. > * `config.set` in `config.py` now takes a third argument which is the pattern. > * New `with config.pattern('...') as p:` context manager for `config.py` to > use the shorthand syntax with a pattern. > * New `tsh` keybinding to toggle scripts for the current host. With a capital > `S`, the toggle is saved. With a capital `H`, subdomains are included. With > `u` instead of `h`, the exact current URL is used. > * New `tph` keybinding to toggle plugins, with the same additional binding > described above. > - New QtWebEngine features: > * Caret/visual mode > * Authentication via ~/.netrc > * Retrying downloads with Qt 5.10 or newer > * Hinting and other features inside same-origin frames > - New flags for existing commands: > * `:session-load` has a new `--delete` flag which deletes the > session after loading it. > * New `--no-last` flag for `:tab-focus` to not focus the last tab when focusing > the currently focused one. > * New `--edit` flag for `:view-source` to open the source in an external editor. > * New `--select` flag for `:follow-hint` which acts like the given > string was entered but doesn't necessary follow the hint. > - New special pages: > * `qute://bindings` (opened via `:bind`) which shows all keybindings. > * `qute://tabs` (opened via `:buffer`) which lists all tabs. > - New settings: > * `statusbar.widgets` to configure which widgets should be shown in which > order in the statusbar. > * `tabs.mode_on_change` which replaces `tabs.persist_mode_on_change`. It can > now be set to `restore` which remembers input modes (input/passthrough) > per tab. > * `input.insert_mode.auto_enter` which makes it possible to disable entering > insert mode automatically when an editable element was clicked. Together > with `input.forward_unbound_keys`, this should allow for emacs-like > "modeless" keybindings. > - New `:prompt-yank` command (bound to `Alt-y` by default) to yank URLs > referenced in prompts. > - The `hostblock_blame` script which was removed in v1.0 was updated for the new > config and re-added. > - New `cycle-inputs.js` script in `scripts/` which can be used with `:jseval -f` > to cycle through inputs. > > Changed > ~~~~~~~ > > - Complete refactoring of key input handling, with various effects: > * emacs-like keychains such as `` can now be bound. > * Key chains can now be bound in any mode (this allows binding unused keys in > hint mode). > * Yes/no prompts don't use keybindings from the `prompt` section anymore, they > have their own `yesno` section instead. > * Trying to bind invalid keys now shows an error. > * The `bindings.default` setting can now only be set in a `config.py`, and > existing values in `autoconfig.yml` are ignored. > - Improvements for GreaseMonkey support: > * `@include` and `@exclude` now support regex matches. With QtWebEngine and Qt > 5.8 and newer, Qt handles the matching, but similar functionality will be > added in Qt 5.11. > * Support for `@requires` > * Support for the GreaseMonkey 4.0 API > - The sqlite history now uses write-ahead logging which should be > a performance and stability improvement. > - When an editor is spawned with `:open-editor` and `:config-edit`, the changes > are now applied as soon as the file is saved in the editor. > - The `hist_importer.py` script now only imports URL schemes qutebrowser can > handle. > - Deleting a prefix (`:`, `/` or `?`) via backspace now leaves command mode. > - Angular 1 elements and ``/`
` now get hints assigned. > - `:tab-only` with pinned tabs now still closes unpinned tabs. > - The `url.incdec_segments` option now also can take `port` as possible segment. > - QtWebEngine: `:view-source` now uses Chromium's `view-source:` scheme. > - Tabs now show their full title as tooltip. > - When there are multiple unknown keys in a autoconfig.yml, they now all get > reported in one error. > - More performance improvements when opening/closing many tabs. > - The `:version` page now has a button to pastebin the information. > - Replacements like `{url}` can now be escaped as `{{url}}`. > > Fixed > ~~~~~ > > - QtWebEngine bugfixes: > * Improved fullscreen handling with Qt 5.10. > * Hinting and scrolling now works properly on special `view-source:` pages. > * Scroll positions are now restored correctly from sessions. > * `:follow-selected` should now work in more cases with Qt > 5.10. > * Incremental search now flickers less and doesn't move to the second result > when pressing Enter. > * Keys like `Ctrl-V` or `Shift-Insert` are now correctly handled/filtered with > Qt 5.10. > * Fixed hangs/segfaults on exit with Qt 5.10.1. > * Fixed favicons sometimes getting cleared with Qt 5.10. > * Qt download objects are now cleaned up properly when a download is removed. > * JavaScript messages are now not double-HTML escaped anymore on Qt < 5.11 > - QtWebKit bugfixes: > * Fixed GreaseMonkey-related crashes. > * `:view-source` now displays a valid URL. > - URLs containing ampersands and other special chars are now shown correctly > when filtering them in the completion. > - `:bookmark-add "" foo` can now be used to save the current URL with a custom > title. > - `:spawn -o` now waits until the process has finished before trying to show the > output. Previously, it incorrectly showed the previous output immediately. > - Suspended pages now should always load the correct page when being un-suspended. > - Exception types are now shown properly with `:config-source` and `:config-edit`. > - When using `:bookmark-add --toggle`, bookmarks are now saved properly. > - Crash when opening an invalid URL from an application on macOS. > - Crash with an empty `completion.timestamp_format`. > - Crash when `completion.min_chars` is set in some cases. > - HTML/JS resource files are now read into RAM on start to avoid crashes when > changing qutebrowser versions while it's open. > - Setting `bindings.key_mappings` to an empty value is now allowed. > - Bindings to an empty commands are now ignored rather than crashing. > > Removed > ~~~~~~~ > > - `QUTE_SELECTED_HTML` is now not set for userscripts anymore except when called > via hints. > - The `qutebrowser_viewsource` userscript has been removed as > `:view-source --edit` can now be used. > - The `tabs.persist_mode_on_change` setting has been removed and replaced by > `tabs.mode_on_change`. > > Enjoy, and let me know if you run into trouble! :) > > Florian > -- Michael GPG PubKey: https://www.vigovproductions.net/pubkey.asc (Fingerprint: FAFA F12C 4440 460A 89D0 A67F 8D31 13F7 D36F 833C) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: From mgkeyes at vigovproductions.net Sun Mar 11 00:17:46 2018 From: mgkeyes at vigovproductions.net (Michael Keyes) Date: Sat, 10 Mar 2018 23:17:46 +0000 Subject: [qutebrowser] qutebrowser v1.2.0 released with per-domain settings and more! In-Reply-To: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> References: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> Message-ID: <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> Fantastic news! I'm surprised at how pleasant script-free browsing is. Before I switched to qutebrowser I used Firefox with NoScript, and it always felt so run-down and broken. Probably because of how intrusive NoScript is. This is much better! I wonder if it would be possible to make a version of the "tsu" binding that automatically reverts after five minutes or so? I tried my hand at making a userscript to that effect, but the way I did it feels kind of hacky (not in a good way!). Still, even without the timeout, it's a great feature to have by default! Thanks for all your great work, Michael On 09.03.18 22:20, Florian Bruhin wrote: > Hey, > > I'm happy to announce that I just released qutebrowser v1.2.0! It comes > with a long changelog, but the most interesting changes are probably > initial support for per-domain settings (I've had JavaScript disabled > globally for a while myself now) and a big refactoring of how > keybindings are handled (allowing for emacs-like key chains with > modifiers). > > Here's the complete changelog: > > Added > ~~~~~ > > - Initial implementation of per-domain settings: > * `:set` and `:config-cycle` now have a `-u`/`--pattern` argument taking a > URL match pattern for supported settings. > * `config.set` in `config.py` now takes a third argument which is the pattern. > * New `with config.pattern('...') as p:` context manager for `config.py` to > use the shorthand syntax with a pattern. > * New `tsh` keybinding to toggle scripts for the current host. With a capital > `S`, the toggle is saved. With a capital `H`, subdomains are included. With > `u` instead of `h`, the exact current URL is used. > * New `tph` keybinding to toggle plugins, with the same additional binding > described above. > - New QtWebEngine features: > * Caret/visual mode > * Authentication via ~/.netrc > * Retrying downloads with Qt 5.10 or newer > * Hinting and other features inside same-origin frames > - New flags for existing commands: > * `:session-load` has a new `--delete` flag which deletes the > session after loading it. > * New `--no-last` flag for `:tab-focus` to not focus the last tab when focusing > the currently focused one. > * New `--edit` flag for `:view-source` to open the source in an external editor. > * New `--select` flag for `:follow-hint` which acts like the given > string was entered but doesn't necessary follow the hint. > - New special pages: > * `qute://bindings` (opened via `:bind`) which shows all keybindings. > * `qute://tabs` (opened via `:buffer`) which lists all tabs. > - New settings: > * `statusbar.widgets` to configure which widgets should be shown in which > order in the statusbar. > * `tabs.mode_on_change` which replaces `tabs.persist_mode_on_change`. It can > now be set to `restore` which remembers input modes (input/passthrough) > per tab. > * `input.insert_mode.auto_enter` which makes it possible to disable entering > insert mode automatically when an editable element was clicked. Together > with `input.forward_unbound_keys`, this should allow for emacs-like > "modeless" keybindings. > - New `:prompt-yank` command (bound to `Alt-y` by default) to yank URLs > referenced in prompts. > - The `hostblock_blame` script which was removed in v1.0 was updated for the new > config and re-added. > - New `cycle-inputs.js` script in `scripts/` which can be used with `:jseval -f` > to cycle through inputs. > > Changed > ~~~~~~~ > > - Complete refactoring of key input handling, with various effects: > * emacs-like keychains such as `` can now be bound. > * Key chains can now be bound in any mode (this allows binding unused keys in > hint mode). > * Yes/no prompts don't use keybindings from the `prompt` section anymore, they > have their own `yesno` section instead. > * Trying to bind invalid keys now shows an error. > * The `bindings.default` setting can now only be set in a `config.py`, and > existing values in `autoconfig.yml` are ignored. > - Improvements for GreaseMonkey support: > * `@include` and `@exclude` now support regex matches. With QtWebEngine and Qt > 5.8 and newer, Qt handles the matching, but similar functionality will be > added in Qt 5.11. > * Support for `@requires` > * Support for the GreaseMonkey 4.0 API > - The sqlite history now uses write-ahead logging which should be > a performance and stability improvement. > - When an editor is spawned with `:open-editor` and `:config-edit`, the changes > are now applied as soon as the file is saved in the editor. > - The `hist_importer.py` script now only imports URL schemes qutebrowser can > handle. > - Deleting a prefix (`:`, `/` or `?`) via backspace now leaves command mode. > - Angular 1 elements and ``/`
` now get hints assigned. > - `:tab-only` with pinned tabs now still closes unpinned tabs. > - The `url.incdec_segments` option now also can take `port` as possible segment. > - QtWebEngine: `:view-source` now uses Chromium's `view-source:` scheme. > - Tabs now show their full title as tooltip. > - When there are multiple unknown keys in a autoconfig.yml, they now all get > reported in one error. > - More performance improvements when opening/closing many tabs. > - The `:version` page now has a button to pastebin the information. > - Replacements like `{url}` can now be escaped as `{{url}}`. > > Fixed > ~~~~~ > > - QtWebEngine bugfixes: > * Improved fullscreen handling with Qt 5.10. > * Hinting and scrolling now works properly on special `view-source:` pages. > * Scroll positions are now restored correctly from sessions. > * `:follow-selected` should now work in more cases with Qt > 5.10. > * Incremental search now flickers less and doesn't move to the second result > when pressing Enter. > * Keys like `Ctrl-V` or `Shift-Insert` are now correctly handled/filtered with > Qt 5.10. > * Fixed hangs/segfaults on exit with Qt 5.10.1. > * Fixed favicons sometimes getting cleared with Qt 5.10. > * Qt download objects are now cleaned up properly when a download is removed. > * JavaScript messages are now not double-HTML escaped anymore on Qt < 5.11 > - QtWebKit bugfixes: > * Fixed GreaseMonkey-related crashes. > * `:view-source` now displays a valid URL. > - URLs containing ampersands and other special chars are now shown correctly > when filtering them in the completion. > - `:bookmark-add "" foo` can now be used to save the current URL with a custom > title. > - `:spawn -o` now waits until the process has finished before trying to show the > output. Previously, it incorrectly showed the previous output immediately. > - Suspended pages now should always load the correct page when being un-suspended. > - Exception types are now shown properly with `:config-source` and `:config-edit`. > - When using `:bookmark-add --toggle`, bookmarks are now saved properly. > - Crash when opening an invalid URL from an application on macOS. > - Crash with an empty `completion.timestamp_format`. > - Crash when `completion.min_chars` is set in some cases. > - HTML/JS resource files are now read into RAM on start to avoid crashes when > changing qutebrowser versions while it's open. > - Setting `bindings.key_mappings` to an empty value is now allowed. > - Bindings to an empty commands are now ignored rather than crashing. > > Removed > ~~~~~~~ > > - `QUTE_SELECTED_HTML` is now not set for userscripts anymore except when called > via hints. > - The `qutebrowser_viewsource` userscript has been removed as > `:view-source --edit` can now be used. > - The `tabs.persist_mode_on_change` setting has been removed and replaced by > `tabs.mode_on_change`. > > Enjoy, and let me know if you run into trouble! :) > > Florian > -- Michael GPG PubKey: https://www.vigovproductions.net/pubkey.asc (Fingerprint: FAFA F12C 4440 460A 89D0 A67F 8D31 13F7 D36F 833C) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: From henry-h at cks-the-pla.net Sun Mar 11 01:52:51 2018 From: henry-h at cks-the-pla.net (Henry Kohli) Date: Sun, 11 Mar 2018 01:52:51 +0100 Subject: [qutebrowser] Qt 5.11 support ? Message-ID: <699277d7-3fa1-886c-54a3-dc52c5ebb269@cks-the-pla.net> Hi, does qutebrower work with Qt 5.11.0_beta1 or the lates git version from the 5.11 branch ? Henry From me at the-compiler.org Sun Mar 11 08:59:41 2018 From: me at the-compiler.org (Florian Bruhin) Date: Sun, 11 Mar 2018 08:59:41 +0100 Subject: [qutebrowser] Qt 5.11 support ? In-Reply-To: <699277d7-3fa1-886c-54a3-dc52c5ebb269@cks-the-pla.net> References: <699277d7-3fa1-886c-54a3-dc52c5ebb269@cks-the-pla.net> Message-ID: <20180311075940.4cbmwzt4kc55svc4@hooch.localdomain> Hey Henry, On Sun, Mar 11, 2018 at 01:52:51AM +0100, Henry Kohli wrote: > does qutebrower work with Qt 5.11.0_beta1 or the lates git version from > the 5.11 branch ? Yes and yes - but note QtWebEngine has some bugs which might affect qutebrowser: https://github.com/qutebrowser/qutebrowser/issues/3661 In particular, it's pretty unusable until this fix will be merged: https://codereview.qt-project.org/#/c/222123/ And after that, you still won't be able to accept SSL errors or use HTTP authentication until that's fixed in Qt. Florian -- https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP) 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 Sun Mar 11 09:08:11 2018 From: me at the-compiler.org (Florian Bruhin) Date: Sun, 11 Mar 2018 09:08:11 +0100 Subject: [qutebrowser] qutebrowser v1.2.0 released with per-domain settings and more! In-Reply-To: <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> References: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> Message-ID: <20180311080811.gofpujrcyfudscxk@hooch.localdomain> Hey Michael, On Sat, Mar 10, 2018 at 11:17:46PM +0000, Michael Keyes wrote: > Fantastic news! I'm surprised at how pleasant script-free browsing is. > Before I switched to qutebrowser I used Firefox with NoScript, and it > always felt so run-down and broken. Probably because of how intrusive > NoScript is. This is much better! Yay :) > I wonder if it would be possible to make a version of the "tsu" binding > that automatically reverts after five minutes or so? I tried my hand at > making a userscript to that effect, but the way I did it feels kind of > hacky (not in a good way!). Still, even without the timeout, it's a > great feature to have by default! Note that 'tsu' is already not saved to the config, so with the next qutebrowser restart it'll be gone. You could however probably do something like this (untested): :config-cycle -p -t -u {url} content.javascript.enabled ;; reload ;; later 300000 config-unset -u {url} content.javascript.enabled Florian -- https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP) 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 jaygkamat at gmail.com Sun Mar 11 23:13:49 2018 From: jaygkamat at gmail.com (Jay Kamat) Date: Sun, 11 Mar 2018 18:13:49 -0400 Subject: [qutebrowser] qutebrowser v1.2.0 released with per-domain settings and more! In-Reply-To: <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> (Michael Keyes's message of "Sat, 10 Mar 2018 23:17:46 +0000") References: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> Message-ID: <87po4as1k2.fsf@gmail.com> Hi, Michael Keyes writes: > I wonder if it would be possible to make a version of the "tsu" binding > that automatically reverts after five minutes or so? I tried my hand at > making a userscript to that effect, but the way I did it feels kind of > hacky (not in a good way!). Still, even without the timeout, it's a > great feature to have by default! If you wanted to continue down the userscript path (rather than the :later path), you might want to take a look at a userscript I created which sets js to enabled temporarily. It probably only works on linux though, but it has the advantage that 'rerunning' the userscript just gives you more time, rather than potentially causing background processes changing the value at random times. https://github.com/jgkamat/dotfiles/blob/53f045cf35a4b1f08472b85f3020a99c64f4a62d/qutebrowser/.config/qutebrowser/userscripts/js_shot Mine toggles the global value, but I think it's a good starting point nonetheless. Good luck! :) -Jay -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 832 bytes Desc: not available URL: From me at the-compiler.org Wed Mar 14 21:24:12 2018 From: me at the-compiler.org (Florian Bruhin) Date: Wed, 14 Mar 2018 21:24:12 +0100 Subject: [qutebrowser] qutebrowser v1.2.1 released Message-ID: <20180314202412.nqycou6ebjfgrond@hooch.localdomain> Hey, I just released qutebrowser v1.2.1, which fixes some v1.2 regressions and other bugs: - qutebrowser now starts properly when the PyQt5 QOpenGLFunctions package wasn't found. - The keybinding cheatsheet on the quickstart page is now loaded from a local `qute://` URL again. - With "tox -e mkvenv-pypi", PyQt 5.10.0 is used again instead of Qt 5.10.1, because of an issue with Qt 5.10.1 which causes qutebrowser to fail to start ("Could not find QtWebEngineProcess"). - Unbinding keys which were bound in older qutebrowser versions now doesn't crash anymore. - Fixed a crash when reloading a page which wasn't fully loaded with v1.2.0 - Keys on the numeric keypad now fall back to the same bindings without `Num+` if no `Num+` binding was found. - Fixed hinting on some pages with Qt < 5.10. - Titles are now displayed correctly again for tabs which are cloned or loaded from sessions. - Shortcuts now correctly use `Ctrl` instead of `Command` on macOS again. By the way, since I've been asked a few times: - There's a macOS .dmg for v1.2.x. I'm still looking for a permanent solution, but things are looking better. - The Debian packages aren't uploaded to GitHub anymore, but you can download them from Debian's mirrors instead: https://github.com/qutebrowser/qutebrowser/blob/master/doc/install.asciidoc#debian-stretch--ubuntu-1704-and-1710 Florian -- https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP) 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 mgkeyes at vigovproductions.net Fri Mar 16 13:37:00 2018 From: mgkeyes at vigovproductions.net (Michael Keyes) Date: Fri, 16 Mar 2018 12:37:00 +0000 Subject: [qutebrowser] qutebrowser v1.2.0 released with per-domain settings and more! In-Reply-To: <20180311080811.gofpujrcyfudscxk@hooch.localdomain> References: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> <20180311080811.gofpujrcyfudscxk@hooch.localdomain> Message-ID: <943c9b43-322f-512c-c18d-11d196bb1b5c@vigovproductions.net> Hey Florian, Sorry for late reply, things have been a bit hectic lately! That solution sounds ideal, but as far as I can tell "config-unset" doesn't actually take the "-u" option in this release. That means I'd have to use "config-cycle" instead, which would not have the desired effect if I for some reason ran the command again within the five minutes. This isn't really a big deal. I mean, I can re-disable it myself after five minutes anyway! Still, time-delayed per-URL script enabling is a browser feature I've seen suggested elsewhere, so it'd be cool to be able to do it in qutebrowser in a neat way. :) Michael On 11.03.18 08:08, Florian Bruhin wrote: > Hey Michael, > > On Sat, Mar 10, 2018 at 11:17:46PM +0000, Michael Keyes wrote: >> Fantastic news! I'm surprised at how pleasant script-free browsing is. >> Before I switched to qutebrowser I used Firefox with NoScript, and it >> always felt so run-down and broken. Probably because of how intrusive >> NoScript is. This is much better! > Yay :) > >> I wonder if it would be possible to make a version of the "tsu" binding >> that automatically reverts after five minutes or so? I tried my hand at >> making a userscript to that effect, but the way I did it feels kind of >> hacky (not in a good way!). Still, even without the timeout, it's a >> great feature to have by default! > Note that 'tsu' is already not saved to the config, so with the next > qutebrowser restart it'll be gone. > > You could however probably do something like this (untested): > > :config-cycle -p -t -u {url} content.javascript.enabled ;; reload ;; later 300000 config-unset -u {url} content.javascript.enabled > > Florian > -- Michael GPG PubKey: https://www.vigovproductions.net/pubkey.asc (Fingerprint: FAFA F12C 4440 460A 89D0 A67F 8D31 13F7 D36F 833C) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: From mgkeyes at vigovproductions.net Fri Mar 16 13:37:00 2018 From: mgkeyes at vigovproductions.net (Michael Keyes) Date: Fri, 16 Mar 2018 12:37:00 +0000 Subject: [qutebrowser] qutebrowser v1.2.0 released with per-domain settings and more! In-Reply-To: <20180311080811.gofpujrcyfudscxk@hooch.localdomain> References: <20180309222049.2seebscwwmvrds6f@hooch.localdomain> <1769f28a-addb-e97b-316d-65cca63e60ed@vigovproductions.net> <20180311080811.gofpujrcyfudscxk@hooch.localdomain> Message-ID: <943c9b43-322f-512c-c18d-11d196bb1b5c@vigovproductions.net> Hey Florian, Sorry for late reply, things have been a bit hectic lately! That solution sounds ideal, but as far as I can tell "config-unset" doesn't actually take the "-u" option in this release. That means I'd have to use "config-cycle" instead, which would not have the desired effect if I for some reason ran the command again within the five minutes. This isn't really a big deal. I mean, I can re-disable it myself after five minutes anyway! Still, time-delayed per-URL script enabling is a browser feature I've seen suggested elsewhere, so it'd be cool to be able to do it in qutebrowser in a neat way. :) Michael On 11.03.18 08:08, Florian Bruhin wrote: > Hey Michael, > > On Sat, Mar 10, 2018 at 11:17:46PM +0000, Michael Keyes wrote: >> Fantastic news! I'm surprised at how pleasant script-free browsing is. >> Before I switched to qutebrowser I used Firefox with NoScript, and it >> always felt so run-down and broken. Probably because of how intrusive >> NoScript is. This is much better! > Yay :) > >> I wonder if it would be possible to make a version of the "tsu" binding >> that automatically reverts after five minutes or so? I tried my hand at >> making a userscript to that effect, but the way I did it feels kind of >> hacky (not in a good way!). Still, even without the timeout, it's a >> great feature to have by default! > Note that 'tsu' is already not saved to the config, so with the next > qutebrowser restart it'll be gone. > > You could however probably do something like this (untested): > > :config-cycle -p -t -u {url} content.javascript.enabled ;; reload ;; later 300000 config-unset -u {url} content.javascript.enabled > > Florian > -- Michael GPG PubKey: https://www.vigovproductions.net/pubkey.asc (Fingerprint: FAFA F12C 4440 460A 89D0 A67F 8D31 13F7 D36F 833C) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: