1. 1

    I know this probably relates to the plugin API that was mentioned, but how likely on a scale of 1-10 is getting AgileBits to create a 1Password extension for qutebrowser?

    1. 1

      I looked at their thread for an official Python API - 4.5 years old, and with this response:

      Unfortunately, I’m not sure that we will ever have an API for 1Password. There are some security concerns here: opening the door to another application or script could provide a mechanism for a malicious script to send users’ data to a third party. If there were a secure way to implement something like this, our developers would certainly consider it.

      With that, my hopes of something official are… pretty low. However, there’s an unofficial Python API - if that works, with the planned plugin API it should be a piece of cake to write a plugin for this.

    1. -1

      I love git, but I’m getting more and more annoyed by the phrase: A version control system like git

      1. 2

        Read it like so: […] a version control system, like Git or Mercurial or SVN or Perforce or Fossil or CVS or DARS or Bazaar or Sharepoint or Dropbox-which-lets-you-restore-older-versions-of-files-so-lets-use-that.

        Sorry about those last two. I wish I could say I had never seen them used where a version control system like Git should have been used. :-| ;-)

        1. 2

          Why so?

          1. -2

            Git has about a million usage patterns and is - at it’s core - a blob store.

            That phrase mostly transpires that the developers don’t have a good idea about what they will actually build and so just use this phrase.

            It’s the tech equivalent of “like uber, but for genetically engineered easter bunnies”

            1. 3

              We’ll have to disagree then ;) I know very well how git works internally, but I’ve yet to see it being used somewhere as something other than some way of version control (or backup, which boils down to the same). Hell, even its own website starts with “Git is a free and open source distributed version control system”.

              1. 1

                Never used Gollum (Github wiki)?

                But even as a version control system, git has a myrad of ways to be used as a version control system, of which some popular might or might not match to what your $product does.

                My point was that “the git of X” is a bad description of most Xes, because Git is a very specific implementation of a concept.

                1. 2

                  You do realize the original sentence was “[a file] which can be managed in a version control system like Git”, with Git being an example for a VCS - and not “X is like Git”?

        1. 2

          I’ve been using qutebrowser occasionally and can recommend it, the only thing that makes me come back to a more and more buggy vimperator is uMatrix and, ironically, mouse gestures.

          Even though I’m not really interested in the new configuration system, I’ll pledge when I’m home to keep up the momentum of the project.

          1. 1

            uMatrix (see the related issue) is something I plan to tackle once there’s a plugin API. It’s definitely something I want too, I have it installed in Chromium (but rarely use Chromium). The new config is a first step in that direction, which will at least allow to block e.g. javascript for a given domain.

            Mouse gestures would probably be possible to do as a plugin as well then, but I’m not going to be the one to write that plugin :D

          1. 2

            I love the idea behind qutebrowser, but it unfortunately still crashes too often, causing me to revert to chromium.

            1. 5

              What backend are you using (see :open qute:version)? With the last qutebrowser release and either the QtWebKit-NG (only packaged on Archlinux currently, as qt5-webkit-ng - and there’s a Gentoo ebuild) or the QtWebEngine backend (based on Chromium, you’ll need to start qutebrowser with --backend webengine, but with the new config there’ll be an option for it), I haven’t seen crashes in a long time.

              1. 1

                Actually, since I wrote that comment I opened up qutebrowser and am pleasently surprised to report that it has not crashed in the past three hours. I had previously used the webengine backend but still had major stability issues, even while running of the qutebrowser-git package from the AUR, just two or three ago. Hopefully it’s stable enough to become my daily driver now. Keep up the good work! :)

                EDIT: 3 more hours later, I’ve had it crash 3 times. Seems to struggle when my shitty internet connection suddenly goes away.

                1. 2

                  Ouch. You’re most likely running into this Qt bug then.

                  Currently qutebrowser still creates a QNetworkAccessManager even with QtWebEngine as it’s needed for some kinds of downloads (like the adblock lists). I want to convert those places to use the QtWebEngine/Chromium network stack as well, but QtWebEngine is still missing an API to do arbitrary downloads.

                  Either way, qutebrowser can probably avoid creating a QNAM if it’s not needed, so this Qt bug doesn’t happen until a QNAM is needed in some way, at least. I opened an issue for that now.

            1. 3

              The screenshot provided on the kickstarter page looks awfully similar to what you’d see with vimium, the chrome extension. Not sure I’m convinced that a new browser could beat a well tuned chrome + vimium configuration

              1. 10

                I’ve used Vimium for some months myself, and wasn’t really happy with it. The reasons why mainly boil down to how Vimium is quite limited in what it can do. For example:

                • It can’t change the user interface at all - qutebrowser has a much more minimal UI.
                • It can’t spawn external processes. In qutebrowser, you can simply hit ctrl-e while editing some text input, to edit it in e.g. Vim. Or you can use :bind ,v spawn mpv {url} to add a keybinding which spawns mpv with the current page, to watch YouTube videos in a real video player.
                • As soon as you are on some special page (like the Chrome extension store, or the “new tab” page), it stops working, because it can’t intercept keypresses there.
                • In general, qutebrowser is much more configurable and extensible. You can easily integrate it with shell or Python scripts via userscripts, and soon there’ll be a Python plugin API as well.
                1. 4

                  Perhaps you can add these points on Kickstarter page as well?

                  All the best for campaign!

              1. 7

                In general, I’d recommend contributing to a project you actually use yourself. That way you can eat your own dogfood while contributing. At least that’s how I got into most projects I’m a contributor to.

                FWIW, I’d be happy about contributions to qutebrowser which is Python/PyQt and GPLv3. There were 280 pull requests by ~75 people already, and I’m always happy helping people getting started or mentoring them.

                1. 2

                  the projects I heavily use tend to be super heavyweight to get into: firefox, SBCL, enlightenment, emacs. Big codebases with lots of complexity, so I am pretty unwilling to “eat” that level of code in the evenings. But you’re right in general, I’ve thrown many fixes into the mix for libraries I use! :-)

                  1. 3

                    One place that’s relatively easy to start is plugins/integrations. My first open-source project was a last.fm plugin for (the now-defunct) noatun. You might not be able to contribute to firefox proper yet but you could almost certainly write an extension or contribute to your favourite one; likewise for emacs.

                1. 7

                  At work: Setting up Gitlab CI for various projects to have automated tests running. Currently trying to set up Code Composer Studio in a Docker container to build microcontroller projects on it.

                  In my free time: Working on qutebrowser - probably a mixture between finally building/releasing a dmg for OS X, merging some pull requests, fixing bugs, writing tests, and organizing t-shirt/sticker printing for the crowdfunding.

                  1. 2

                    I’m really excited for you to work on qutebrowser! Congratulations on making it so far into your funding.

                    I tried to switch to qutebrowser for my daily driver, but I browse a little too much, and the failures were making life hard. I’m going to be straight over once you’re using chrome.

                    You may have answered this, but will it be possible to load chrome plugins into qutebrowser? That would give you a vast array of extensions.

                    1. 2

                      Thank you! 2 months of funded full-time work is quite close :)

                      What Qt version were you using? (See :open qute:version) - 5.4/5.5/5.6 were pretty stable here.

                      Unfortunately loading Chrome plugins won’t be easily possible, as QtWebEngine doesn’t use that part of Chromium as far as I know. I’ll look into it when I work on a plugin API (which is after QtWebEngine and per-domain settings), but first I’ll add a Python plugin API.

                      1. 1

                        I use Qt 5.5.1, and qutebrowser 0.5.1, thinkrelevance.com was really bad, the page partially loads, but freezes up Qutebrowser completely.

                        I didn’t think so, that’s okay. I look forward to your api! I should be able to implement everything I want with it.

                        Thanks again for your hard work, I’ve enjoyed seeing how responsive you are everywhere, you’re clearly really passionate about Qutebrowser.

                  1. 3

                    Finally bit the bullet and ordered me a Hetzner server (16GB ram, 2x 3TB disks, €39/month - crazy cheap.) So now I need to set it up, with FreeBSD I think. (I would stick SmartOS on it, but that means getting them to jam a USB stick in the thing, which is more €€. FreeBSD lets me do root-on-ZFS as well, and is a fairly sane OS to boot.)

                    Also making a concerted effort to get back into an exercise routine. My level of fitness is so far below what it has been for the last couple of years it’s quite saddening. Few weeks of exercise should get it back though, just need to put the time in and actually do things (as is always the way.) Friend and I have signed up for a Triathlon in three months time, so there’s a nice goal to hit and motivate us.

                    1. 1

                      Did you get it at their server bidding? Mine is at Kimsufi but with the prices you mention I wonder if I should switch…

                      1. 1

                        Yep. Make sure you grab one with ECC ram (just put ECC in the freeform search box on the auction page), then choose whatever power/size of disks you want. I wanted something moderately powerful, but that had two 3TB disks so I can run a ZFS mirror and backup a couple of shares from my local Microserver there for safety. Also intending on consolidating a handful of VMs to the single place, don’t particularly need redundancy for them but not having to worry about updating multiple machines will be a bonus. Will cost me about the same in £ once they’re moved, which is quite nice.

                        (Also gives me a server outside the UK, but within the EU, which is quite appealing with some of the fucked up snooping bills being shoved through parliament.)

                    1. 4

                      Looks like an awesome project, best of luck getting funded! For anyone who is using chrome as their main browser, I’ve used the Vimium[1] chrome extension with some luck. I’m curious if you’ve seen/used this extension before and some of the benefits of qutebrowser over this extension (beside native support for the vim bindings which I would think lends itself to a more fluid experience)

                      [1]https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=en

                      1. 4

                        Vimium (which I used for a longer time before starting qutebrowser) is mostly about keybindings, while mostly keeping the Chrome UI (it has no other choice, with Chromium’s plugin API). It doesn’t have things like a real commandline, easy extensibility, or a minimal UI.

                        I think the user interface is really important - I have a relatively low-resolution screen (1366x768), and I don’t want a big address/tab bar I almost never look at.

                        Also, with qutebrowser you can do things like :spawn mpv {url} to simply launch mpv to play the current URL. Or :hint links spawn mpv {hint-url} to do the same via hints. Or :download-open to simply open the file you just downloaded. Or edit form fields with e.g. vim by using Ctrl-e.

                        From my point of view, qutebrowser compared to Vimium is basically like vim compared to some IDE with really bad vim emulation.

                        1. 2

                          Thanks so much for the run down, qutebrowser sounds awesome. I was sad to see that homebrew dropped QtWebKit as I was exited to give it a try.

                          Using qutebrowser with Homebrew on OS X is currently broken, as Homebrew dropped QtWebKit support with Qt 5.6. I’m working on building a standalone .app for OS X instead, but it’ll still take a few days until it’s ready.

                          1. 3

                            I built a standalone .dmg/.app for qutebrowser just a few hours ago, I’ll release a v0.6.0 dmg once some people confirmed it works - if you want to test it, that’d be most appreciated! https://t.cmpl.cc/qutebrowser.dmg

                            1. 1

                              App worked perfectly. Was able to download it and fire it up no problem. I’ll play around with it a bit more and let you know if anyone comes up.

                              Sent from my qutebrowser

                              1. 1

                                Awesome, thanks for testing! I assume you’re on OS X 10.11 (~~Yosemite~~El Capitan)? I’d be really curious if it works on 10.10/10.9 as well.

                                1. 1

                                  El Capitan actually (10.11.4 (15E65)). I think I might have an older machine I can try it out on, i’ll have to get back to you on that. I did receive a crash signing into github and reported it through the reporting dialogue box that came up. Not sure how that reporting system works and if you’ll eventually get the crash report but if there’s a better place for me to send it to you let me know.

                                  1. 1

                                    Hmm, I think you’re running into this Qt bug. I fixed it in Qt, but maybe for some reason the Mac I’m building the dmg on didn’t have the fix backported…

                                    I think you get an OS X crash report window? Can you look at the details there and confirm the stacktrace mentions WebCore::SocketStreamHandle::platformClose() too?

                                    1. 1

                                      Sorry for the delay, yes I see that line in the stack trace

                                      0   libsystem_kernel.dylib          0x00007fff9d1948ea __kill + 10
                                      1   libsystem_platform.dylib        0x00007fff8c61852a _sigtramp + 26
                                      2   ???                             000000000000000000 0 + 0
                                      3   QtWebKit                        0x000000010774bf04 WebCore::SocketStreamHandle::platformClose() + 84
                                      4   QtWebKit                        0x000000010774a79a WebCore::SocketStreamHandleBase::disconnect() + 26
                                      5   QtWebKit                        0x000000010773bf96 WebCore::WebSocketChannel::fail(WTF::String const&) + 710
                                      6   QtWebKit                        0x0000000107739375 WebCore::WebSocket::close(int, WTF::String const&, int&) + 325
                                      7   QtWebKit                        0x00000001077fb42d WebCore::jsWebSocketPrototypeFunctionClose(JSC::ExecState*) + 205
                                      
                                      1. 1

                                        That’s indeed the crash I suspected it was - I installed the patched Qt on my build machine and repacked, can you please try https://t.cmpl.cc/qutebrowser-dmgv2.dmg ?

                                        1. 1

                                          Yup looks like that fixed the crash. I was able to sign into github no problem.

                                  2. 1

                                    Hi, it seems to run fine on 10.10.4 (Yosemite) for me. Good luck!

                          2. 1

                            I’ve been a heavy user of Vimium for a few years and I just tried this on my windows machine. It works really well! Will see if I can contribute to development, PyQt5 looks awesome to use.

                            1. 1

                              I’d be glad! Let me know if you need help :)