|Mentor||Florian Bruhin (The-Compiler)|
|Suitable for Beginners?||yes|
|Applications (1st Choice)||1 (1 submitted | 0 in-progress)|
|Applications (2nd Choice)||4 (4 submitted | 0 in-progress)|
|Code of Conduct||/projects/120-qutebrowser|
qutebrowser is a keyboard-focused browser, inspired by the vim text editor.
It has a minimalistic user-interface, and can be controlled entirely using the keyboard (though clicking links using a mouse does work as well!).
It has a built-in commandline, with those commands bound to keybindings resembling those of vim where appropriate.
While there are existing browser addons such as Vimperator/Pentadactyl, they struggle to keep up with changes to Firefox' addon platform, and unfortunately it's unlikely they'll able to continue working with Firefox' planned switch to WebExtensions.
qutebrowser's goal is to be the most future-proof standalone vim like-browser.
I'm always happy when I recieve contributions from first-timers to either the project, or even opensource in general. I dislike the way some projects handle first-timers, and try to set a better example. Be Cordial or Be on Your Way describes my thoughts on the topic pretty accurately.
From June to September I'll most likely work on qutebrowser and giving pytest (the test framework it uses) trainings full-time, so on most days I'll have as much time as needed for mentoring and helping out.
Tasks And Features
There are various issues marked as easy which are ideal to get started, and also work well for less experienced students.
For the past year, I've almost exclusively worked (in my free time) on improving qutebrowser's test coverage, but there are still a lot of low-hanging fruits there - both for unit-tests using pytest and end-to-end tests using the Gherkin language via pytest-bdd. Related issue/overview.
Support for the new QtWebEngine/Chromium backend
Currently, qutebrowser is using QtWebKit as its backend and rendering engine.
Rewriting the config code
The current config parsing/management code is probably the worst part of qutebrowser, and largely needs a rewrite from scratch. Together with that, I plan to change the format of the user configuration (probably to YAML).
Implementing per-domain settings
After the config is revamped to allow for hierarchical data, the ability to set settings per domain/URL is a much requested feature to be tackled.
Adding a plugin API
After a plugin API exists, some internal features can be moved to core-plugins. This will also make it easier for users to contribute to plugins independently without having to understand the core.
At a later point, a user-interface to manage plugins inside the browser could be added.
You must be logged in to comment on this project.
Florian Bruhin, Friday, March 25, 00:02 UTC
Wheee, thanks! :)
Laura RGSoC, Wednesday, March 23, 10:48 UTC
Hey Florian, thank you for your submission! we're very happy to have you on board, especially as we really like your philosophy with first-time contributors. That's super great ✨ I will send out an email on the weekend to give you some details about the program and some infos regarding the timeline and the next steps. Feel free to reach out before if you have any questions!